Pude hacer que mi sistema arranque haciendo lo siguiente:
1) Tome nota de los dispositivos que el sistema no puede encontrar.
2) Responda "n" a esa pregunta. Debería llevarlo a un símbolo del sistema.
3) Ejecute este comando:cd /dev/disk/by-id
4) Ejecute este comando:ls
5) Cambie el nombre de todos los archivos en esta carpeta reemplazando el nombre actual con el nombre del dispositivo del que tomó nota en el paso 1. Ej. mv ata-VBOX_OLDNAME....-part2 ata-VBOX_HARDDISK....-part2
6) Una vez que haya completado esto, escriba este comando:exit
7) El sistema debería arrancar normalmente.
Todavía estoy investigando cómo sucede esto con OpenSUSE 11.4.
Este problema se debe a que SUSE configura Grub de forma predeterminada para buscar discos por nombre en lugar de por etiqueta o ruta. Al crear una máquina virtual desde un dispositivo, VirtualBox crea un disco nuevo con un nombre nuevo y luego Grub no puede encontrar el disco de arranque. Pude arreglar esto permanentemente por:
-
Agregue el disco como unidad secundaria a otra máquina que pueda montar el sistema de archivos. Monté el mío en /media/hd2.
-
Edite /media/hd2/boot/grub/device.map y reemplace la ruta por nombre al disco duro
/dev/disk/by-name/ata-VBOX....
con la ruta secundaria/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0
. -
Edite /media/hd2/boot/grub/menu.lst y reemplace las rutas por nombre con las rutas por ruta. Para el mío, terminé reemplazando todas las rutas de la parte 1 con
/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1
y las rutas de la parte 2 con/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2
.
Las rutas que utilicé especifican el primer disco duro. Si desea iniciar desde un disco duro diferente (o un tipo de disco diferente), deberá averiguar cómo SUSE asigna la ruta. Descubrí que SUSE montará un segundo disco duro como pci-0000:00:0d.0-scsi-1:0:0:0
.
Especificar la ruta secundaria del disco duro podría no ser ideal en algunos casos, pero funcionó perfectamente para la solución rápida que buscaba.