
Actualicé a Windows 10 mediante copia de seguridad.tododesde el antiguo Windows y luego instalado con un formato limpio; todo fresco.
Tengo un Debian 8.1 en Virtual Box, que también se guardó por completo; no sólo la imagen del disco.
Instalo VirtualBox y reinicio esa máquina y, sorpresa, Debian se queja de no poder encontrar la partición raíz (no existe una partición con ese UUID), cae en un pequeño shell y se niega a arrancar.
Sospechaba que las entradas fstab
ya no son correctas, así que inicié una distribución en vivo y la revisé... blkid
informo los mismos UUID que están enfstab
Entonces,¿¡¿cuál es el truco?!?
En VMware lo hagonoTengo este problema si copio/muevo máquinas, reinstalo VMware, etc., me preguntará si está copiado o movido y nunca tuve ningún problema como este.
PD: Por favor, no marques esta pregunta como una trampa, ya leí."¿Cuál es la forma recomendada de mover una máquina virtual VirtualBox a otra computadora?"y lo intentéopción 2 en esta preguntaCopié todos los archivos y los puse en el lugar correcto. Nuevamente, al iniciar Linux en vivo en esa máquina virtual, veo el disco duro con el UUID adecuado.
Respuesta1
Bueno, yo diría que será mejor que exportes tu VM (al .ova
contenedor) antes de borrar el sistema host y luego la importes más tarde; VirtualBox puede hacerlo desde su GUI.
Pero bueno, volviendo a tu pregunta... Recuerdo que VirtualBox tiene un "registro" separado para todos los medios que utilizan tus máquinas virtuales. IIRC, está almacenado en un archivo XML en algún lugar debajo del perfil del usuario actual.
Entonces, comenzaría abriendo esa ventana de administración de medios desde la GUI de VBox y me aseguraría de que el disco de Debian realmente exista y sea conocido por el administrador de medios de VBox.
Lo siguiente que debe verificar después de eso sería ir a las propiedades de la VM y asegurarse de que los medios que representan el disco duro de la VM estén disponibles y tengan el estado "OK".
Si falla el arranque de la VM después de eso, haga lo siguiente: cuando se le presente la ventana de GRUB (el cargador de arranque de Debian) durante el arranque temprano (post-BIOS), presione e
(o lo que sugiera, nunca lo recuerdo) para editar el arranque. entrada para su sistema: se le presentará la línea de comandos pasada por el cargador de arranque al kernel, y contiene el parámetro llamado "root" (es decir, el sistema de archivos raíz). Hoy en día, el argumento de root contiene algún nombre de dispositivo codificado con UUID, por lo que todo se parece a
/boot/vmlinuz-3.2.0-4-amd64 root=UUID=2cb5a97c-75ab-4c8b-afd9-19297e3553bd ro single
Deberías reemplazar esa UUID=blah...
parte con /dev/sda1
para que se lea algo como
/boot/vmlinuz-3.2.0-4-amd64 root=/dev/sda1 ro single
y lo más probable es que arranque correctamente.
(Tenga en cuenta que la ruta al archivo del kernel /boot/vmlinuz-3.2.0-4-amd64
proviene del sistema mío; en el suyo puede ser diferente; no se preocupe, solo debe tocar el root=
parámetro).
Tenga en cuenta que eso /dev/sda1
significa la primera partición primaria en el primer disco duro (SATA/SCSI). Si tiene su partición raíz en otro lugar, debe resolver esto. Si no tienes idea de qué se trata, prueba 2
, 3
etc. hasta que funcione.
Una vez que el sistema arranca, ejecute
# dpkg-reconfigure grub-pc
para reconfigurar GRUB para que utilice el nombre de dispositivo correcto para el sistema de archivos raíz.
Es posible que también necesites arreglar el /etc/fstab
archivo si el UUID del dispositivo realmente ha cambiado. Para hacer esto, ejecute
# blkid /dev/sda1
y reemplace el valor de UUID en la entrada del fstab apropiado por el informado blkid
en el UUID
valor.
El número /dev/sdN
obviamente debería coincidir con lo que funcionó para usted como root=
parámetro del kernel.
Respuesta2
Si este mensaje que recibe después de mover la máquina virtual e intentar iniciarla es algo como este:
No se pudo abrir el disco duro.
No se puede registrar el disco duro porque ya existe un disco duro con UUID.
Luego vaya al directorio de su máquina virtual; por supuesto, cambie la ruta real para que coincida con la ruta real a la que se dirige:
cd /full/path/to/virtualbox/virtualmachine/Sandbox
Y ejecute este comando para asignar al disco un nuevo UUID:
VBoxManage internalcommands sethduuid Sandbox.vdi