Usando Grub
Si llega a un grubindicador y el sistema y el núcleo todavía están instalados en la partición, puede iniciar el sistema "manualmente", es decir, sin la ayuda de un grub.cfg que funcione. Esto también funciona con un grub ejecutado desde medios en vivo. Para este fin, grub incluye un comando rudimentario ine, que puede utilizar para buscar la partición y arrancar el sistema.
find /vmlinuz
Esto debería darle la partición como (hd0,0). También puede usar el lscomando para hurgar en la partición y ver qué núcleos están disponibles. El searchcomando funciona de manera similar. También puede usar la pestaña de finalización .
set root=(hd0,1)
Por supuesto, reemplace el identificador de parición con lo que le haya findmostrado.
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
Seleccione la imagen del núcleo y la imagen initrd, un par que siempre debe usarse en conjunto. Afortunadamente, Ubuntu crea un par de enlaces simbólicos en el directorio raíz que apuntan a una imagen funcional e initrd. Tenga en cuenta que debe reemplazar /dev/sda1con una representación de la partición en el esquema utilizado por el kernel de Linux. Aproximadamente, (hd0,1)corresponde a /dev/sda1; (hd0,2) corresponds to/ dev / sda2 ;(hd1,1) corresponde a /dev/sdb1.
boot
Esto inicia el núcleo seleccionado desde la partición seleccionada. Una vez que haya logrado iniciar su sistema, puede usarlo para restaurar grub, como se detalla, por ejemplo, aquí .
Comida con Wubi
Lo anterior se basaba en el supuesto de que Ubuntu se instalaba regularmente, es decir, en su propia partición separada. Mientras escribía, usaba Wubi, lo que significa que lo instaló en un archivo grande en una partición de Windows (NTFS) usando una técnica llamada "Lupin". No veo ninguna razón por la que esto no pueda funcionar en principio, aunque el proceso es más complicado. Aquí está el contenido de una instalación grub.cfgbasada en 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
Tendrá que adaptar esto a su caso particular. En este fragmento, tomado de una instalación 10.10, el searchcomando encuentra la partición raíz utilizando un UUID o identificador del sistema de archivos, que presumiblemente no conoce; puede usar --file --set /ubuntu/disks/root.disken su lugar ( aquí está la documentación oficial). Esta configuración de grub crea un disco virtual, llamado "dispositivo de bucle invertido", loop0que representa el contenido del "archivo de partición" /ubuntu/disks/root.disken su partición NTFS. Con un poco de prueba y error, debería poder hacer que esto funcione.