Utilizzando Grub
Se si arriva a un grub
prompt e il sistema e il kernel sono ancora installati sulla partizione, è possibile "manualmente" avviare il sistema, ovvero senza l'aiuto di un grub.cfg funzionante. Questo funziona anche con un grub eseguito da live media. A tal fine grub include un comando ine rudimentale, che è possibile utilizzare per trovare la partizione e avviare il sistema.
find /vmlinuz
Questo dovrebbe darti la partizione come (hd0,0). Puoi anche usare il ls
comando per cercare la partizione e vedere quali kernel sono disponibili. Il search
comando funziona in modo simile. È inoltre possibile utilizzare il completamento della scheda .
set root=(hd0,1)
Naturalmente, sostituisci l'identificatore di partizione con qualsiasi cosa find
ti abbia mostrato.
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
Seleziona l'immagine del kernel e l'immagine initrd, una coppia che deve sempre essere usata insieme. Fortunatamente Ubuntu crea una coppia di collegamenti simbolici nella directory principale che punta a un'immagine funzionante e initrd. Si noti che è necessario sostituire /dev/sda1
con una rappresentazione della partizione nello schema utilizzato dal kernel Linux. Circa, (hd0,1)
corrisponde a /dev/sda1
; (hd0,2) corresponds to
/ dev / sda2 ;
(hd1,1) corrisponde a /dev/sdb1
.
boot
Questo avvia il kernel selezionato dalla partizione selezionata. Una volta che sei riuscito ad avviare il tuo sistema, puoi usarlo per ripristinare grub, come è dettagliato ad esempio qui .
Grub con Wubi
Quanto sopra era presupposto che Ubuntu fosse installato regolarmente, cioè in una sua partizione separata. Mentre scrivevi, hai usato Wubi, il che significa che l'hai installato su un file di grandi dimensioni su una partizione Windows (NTFS) usando una tecnica chiamata "Lupin". Non vedo alcun motivo per cui questo non possa funzionare in linea di principio, sebbene il processo sia più complicato. Ecco il contenuto di un grub.cfg
basato su un'installazione Wubi:
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img
Dovrai adattarlo al tuo caso particolare. In questo frammento, preso da un'installazione 10.10, il search
comando trova la partizione root usando un UUID o identificatore del filesystem, che presumibilmente non conosci; puoi --file --set /ubuntu/disks/root.disk
invece usare ( ecco la documentazione ufficiale). Questa configurazione di grub crea un disco virtuale - un "dispositivo di loopback" - chiamato loop0
che rappresenta il contenuto del "file di partizione", /ubuntu/disks/root.disk
sulla partizione NTFS. Con un po 'di tentativi ed errori, dovresti essere in grado di farlo funzionare.