Utilizzando Grub
Se si arriva a un grubprompt 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 lscomando per cercare la partizione e vedere quali kernel sono disponibili. Il searchcomando funziona in modo simile. È inoltre possibile utilizzare il completamento della scheda .
set root=(hd0,1)
Naturalmente, sostituisci l'identificatore di partizione con qualsiasi cosa findti 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/sda1con 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.cfgbasato 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 searchcomando trova la partizione root usando un UUID o identificatore del filesystem, che presumibilmente non conosci; puoi --file --set /ubuntu/disks/root.diskinvece usare ( ecco la documentazione ufficiale). Questa configurazione di grub crea un disco virtuale - un "dispositivo di loopback" - chiamato loop0che rappresenta il contenuto del "file di partizione", /ubuntu/disks/root.disksulla partizione NTFS. Con un po 'di tentativi ed errori, dovresti essere in grado di farlo funzionare.