Ho fatto una cosa stupida ... Ho dimenticato che Ubuntu 10.04 (Lucid Lynx) è passato a GRUB 2 che inserisce un sacco di file * .mod (moduli del kernel) /boot/grub
. Ho pensato che fossero file di colonna sonora messi lì in modo errato e li ho spostati. Inutile dire che il riavvio successivo è stato traumatico. Mi è stato presentato qualcosa che non ricordavo di aver mai visto ... un prompt "grub rescue>".
Con l'aiuto della correzione dell'errore di GRUB: "errore: filesystem sconosciuto" , sono stato in grado di recuperare ...
- Ho scoperto che il salvataggio di GRUB non ha 'cd', 'cp' o altri comandi del filesystem tranne la sua variazione di 'ls'.
Quindi per prima cosa ho dovuto trovare la partizione con la
/boot
directory contenente ilvmlinuz
file e altri file di immagine di avvio ... (approssimazione dalla memoria dei tentativi falliti, così come righe vuote per chiarezza, aggiunta a 07-07-2014 da docsalvage)grub rescue> ls (hd0,4) (hd0,3) (hd0,2) (hd0,1) grub rescue> ls (hd0,4)/boot ... some kind of 'not found' message grub rescue> ls (hd0,3)/boot ... some kind of 'not found' message grub rescue> ls (hd0,2)/boot ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic
Ho trovato una
/boot
directory contenente ilvmlinuz
filevmlinuz-2.6.32-33-generic
sulla partizione(hd0,2)
.Quindi ho avviato manualmente dal prompt 'grub rescue>'. I seguenti comandi ...
- Impostare il
root
per utilizzare la/boot
directory sulla partizione(hd0,2)
. - Carica il modulo del kernel
linux
. - Imposta quel modulo per usare l'immagine del kernel
vmlinuz-2.6.32-33-generic
. - Imposta initrd (inizializza disco RAM) per usare l'immagine
initrd.img-2.6.32-33-generic
. - Avvia Linux.
- Impostare il
grub rescue> set root=(hd0,2)/boot grub rescue> insmod linux grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2 grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic grub rescue> boot
Questo si avvia e si arresta in modo anomalo al prompt BusyBox che ha alcuni comandi rudimentali del filesystem.
Quindi ho spostato i file * .mod nella
/boot/grub
directory ...busybox> cd /boot busybox> mv mod/* grub busybox> reboot
Il riavvio ha avuto successo, ma è stato un sacco di lavoro.
C'è un modo più semplice?
grub> linux (hd0,X)/boot/vmlinuz-a.b.c-d-generic root=/dev/sdaX
dove si X
trova la partizione /boot
, a.b.c-d
è la versione del kernel. Quindi il mio sistema si è avviato bene! Grazie!