[ubuntu-it] grub2 error 22

Piviul piviul a gmail.com
Mar 9 Mar 2010 09:00:28 GMT


Credo sia meglio partire da qui...

Roby Pozzato scrisse in data 06/03/2010 00:13:
> [...]
> Ok, parte, mi fa sbloccare la swap e sda3 criptate, poi si impianta. 
> Questo l'output:
>
> (...)
> Begin: Starting AppArmor profiles...
> mount: mounting /sys on /root/sys failed: no such file or directory
> mount: mounting /dev on /root/dev failed: no such file or directory
> Done
> mount: mounting /sys on /root/sys failed: no such file or directory
> mount: mounting /proc on /root/proc failed: no such file or directory
> [...]
> Ovviamente digito 'help' ma il semplice elenco dei comandi mi dice poco.
> Tutti quei "no such file or directory" dovrebbero dirmi qualcosa: certo 
> che /root/sys ecc. non esistono, ma chi gli ha detto di cercarli lì?
>   
/root/sys non credo si riferisca alla directory /root/sys ma al valore
del parametro root del kernel. Nel tuo caso /dev/mapper/sda3_crypt. Il
problema quindi sembra essere legato allla decriptazione del fs, cosa di
cui non ho alcuna esperienza.

Comunque mi sembra che ci sia un po' di confusione su come funziona il
boot. Non che sia un esperto ma qualche idea di come funzioni me la sono
fatta...
Grub per prima cosa ha bisogno di trovare il kernel e lo cerca in base
alla variabile root che hai settato, ad esempio root=(hd0,2), che dice
dove andare a cercare i percorsi presenti nei comandi linux e initrd. In
particolare, nel tuo caso dice che nel primo disco di boot impostato nel
bios (hd0... non necessariemente è sda, potrebbe essere anche sdb, sdc
dipende da come è impostata la boor sequence del bios), nella partizione
3 c'è la partizione dove andare a cercare il kernel e l'initrd e
dovrebbe essere sempre nel tuo caso la partizione di boot.
Il parametro root passato al kernel è tutt'altra cosa: dice dove andare
a cercare la partizione di / dove verrà poi montato tutto il filesystem.
All'inizio quindi il kernel viene caricato e deve poter accedere alla
partizione di /. Se la partizione è in lvm, raid, criptata il kernel
riesce ad accedervi soltanto se trova il modulo relativo per accedervi.
Per avere kernel non troppo pesanti e flessibili questi moduli non sono
compilati staticamente nel kernel stesso ma sono inseriti nell'initrd
che è un file zippato che contiene i moduli necessari per montare la /.

Nel caso specifico quindi il kernel viene caricato e così pure initrd
(riesce quindi a trovare la partizione di boot) ma poi quando è il
momento di montare /sys, /proc sulla / si blocca. Non so se non riesce a
montare sys sulla / perché non è riuscito a decriptare la / oppure se
proprio non è riuscito a trovare nemmeno il device
/dev/mapper/sda3_crypt... propendo più per la prima.

Non credo che lilo potesse fare meglio.

Ciao

Piviul



Maggiori informazioni sulla lista ubuntu-it