¿Puedo migrar un invitado de VirtualBox Ubuntu a una caja de hardware * real *?

13

¿Quiero transferir Ubuntu de un 'dispositivo' VirtualBox Guest a una computadora real (de metal y chips)?

¿Se puede hacer esto y qué pasos están involucrados?

Peter.O
fuente

Respuestas:

7

Lo probaría con dd(no olvides reemplazar los nombres de dispositivo como sdacon el nombre de tu dispositivo):

  1. Reemplace todos los uuids en su /etc/fstabcon cosas como /dev/sda1( sda= ¡número de hd de destino!)
  2. update-grub2 && grub-install /dev/sda
  3. Guarde su disco duro virtual dentro de VBox en un archivo: dd if=/dev/sda /home/user/sda.img
  4. Copie la imagen en un disco (disco duro externo, recurso compartido de red, DVD, ...)
  5. Restaurar la imagen a la unidad de destino: dd if=/media/drive/sda.img of=/dev/sda

El mayor problema podría ser el gestor de arranque (pero hay tutoriales para esto incluso en este foro). Una vez reinstalé un gestor de arranque haciendo una nueva instalación de Ubuntu (preferiblemente la misma que había hecho) y luego ddla partición anterior sobre la nueva instalación (en este caso, solo lo haría dd /dev/sda1, no /dev/sda, que también incluye el gestor de arranque y todas las particiones)

sBlatt
fuente
Puedo manejar dd. Lo he usado antes y sé que el if no es el comienzo de una declaración condicional :) ... Por alguna razón, los uuids y grub me desconciertan ... Probablemente sean bastante simples, pero nuevamente podría serlo también ... Probablemente usaré el MBR desde una instalación nueva (ficticia). El mayor obstáculo para mí es en realidad eliminar las particiones de la VM. ¿Cómo puedo dd desde una partición de VM al Host?
Peter.O
... un poco más (intenté editar esto en mi comentario anterior, ¡pero la edición fue rechazada! ... otro misterio menor):. . . Las carpetas compartidas de VirtualBox parecen depender de los complementos que no están presentes en una ejecución de Live-CD, porque requiere un reinicio.
Peter.O
podrías acceder a una carpeta de red, lo hice la semana pasada y fue como 30 MB / s. Si configura una carpeta compartida en su entorno live-cd / windows / linux y activa la red puenteada para la VM, esto debería funcionar.
sBlatt
por cierto: es posible copiar una partición Linux completa con cp (¡+ algunos argumentos para mantener los permisos! ¡Muy importante! Creo que fue -p o --preserve = all). Hice esto una vez para copiar una imagen después de cambiar el tamaño de una partición (así que
monté el
Lamento ser tan tonto sobre esto, pero debo estar perdiendo un punto increíblemente simple ... Todo lo que leo parece implicar que NAT permite que el Invitado acceda al Host por defecto (una conexión en la otra dirección necesita Puente). He tenido mis tres conjeturas (¡más como treinta!). Accedí con éxito a las carpetas compartidas de VBox solo cuando se instalaron complementos invitados. No puedo instalar estos complementos en una ejecución de LiveCD, así que estoy atascado nuevamente. ¿Cómo accedo al sistema de archivos del Host conectado a NAT desde el Guest (sin complementos)? Supongo que necesito hacer algo en el host, pero no sé qué es.
Peter.O
1

No he probado esto mismo, pero la descripción parece ser lo suficientemente realistas como para intentarlo.

Serge Broslavsky
fuente
El artículo que menciona está en una ruta similar a donde quiero ir. Si ignoro sus problemas de Fedora LVM, casi resuelve uno de mis problemas: cómo obtener la partición de VM en el entorno host. Menciona una herramienta VirualBox VBoxManage que permite el montaje de una imagen de disco VM sin procesar en el Host. Sin embargo, hay un problema con este artículo en la medida en que se refiere a un host de Windows. El nombre del comando está bien, pero ninguno de los argumentos es reconocido ... pero supongo que el mismo está disponible para Linux ... ¿Alguien sabe la sintaxis?
Peter.O
Intente ejecutar "VBoxManage internalcommands", ya que imprime cierta información de uso. Puede parecer suficiente.
Serge Broslavsky
1

1> haz un alquitrán de tu sistema operativo virtualBox

2> comenzar con una distribución en vivo

3> descomprima su sistema operativo virtualBox en la partición / s de destino (/ dev / sda1 por ejemplo)

4> hacer que la partición sea de arranque (fdisk puede ayudarlo): # fdisk / dev / sda Comando (m para ayuda): a (a = alternar un indicador de arranque) Número de partición (1-4): 1 (1 = / dev / sda1) Comando (m para ayuda): q (q = salir)

5> instalar grub en mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (NOT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Disfruta ...

daniele
fuente
1
Para tar mi VirtualBox OS suena tan fácil ... pero no para mí ... Por ejemplo; ¿A dónde lo llevo? Supongo que la forma adecuada de manipular un sistema de archivos es no tenerlo en uso ... así que inicié la VM a través de un LiveCD ... Esto me dio acceso a la unidad de la VM a través de LiveCD / media ... pero ¿Cómo obtengo los datos de la VM? Las carpetas compartidas de VirtualBox requieren GuestAddons, que requiere un reinicio, que reinicia el Live CD a su estado sin complementos ... O me he perdido algo sobre las carpetas compartidas de VirtualBox /
Peter .O
Puede tar (rsync también) el sistema directamente incluso si se está ejecutando (esto es Linux ...):
daniele
Puede alquilar el sistema directamente incluso si se está ejecutando. Esto es Linux ;-). Primero instale estos paquetes: sshfs ( fuse.sourceforge.net/sshfs.htm ) y monte un directorio real dentro de virtualbox. Por ejemplo, puede usar, dentro de virtualbox como dije, un pendrive (montado, déjeme decir, en / media / pendrive) de esta manera: # sshfs [email protected]: / media / pendrive / mnt Después de tar directamente desde su EJECUTANDO virtualbox al pendrive (lata Linux): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
daniele
1

¿Qué es exactamente de la instalación que quieres migrar? Si lo único que le importa son los datos y las preferencias del usuario, probablemente podría copiar todo desde su directorio de inicio en la VM a un sistema de archivos fuera de la VM (una unidad de disco, por ejemplo), copiar esos archivos a una nueva instalación de Ubuntu y luego reinstale cualquier programa que haya instalado en la VM. Depende de cuánto haya personalizado la instalación de VM, frente a la cantidad de problemas que tendrían las otras soluciones aquí.

JPL
fuente
Estoy usando Ubuntu (primer usuario de Linux) en hardware real. He estado aprendiendo mucho , pero mi sistema ha acumulado mucho desorden. Modifiqué una configuración y olvidé dónde la configuré, etc. Mi idea es usar la experiencia (mínima) que tengo ahora, y construir un sistema VM paralelo, sin los errores, y luego mezclarlo con el hardware primario . Puedo tomarme mi tiempo y seguir experimentando con el actual. También es un buen proyecto de "aprendizaje" ... pero siento que he mordido un poco más de lo que puedo masticar :) ... llegando lentamente ...
Peter.O
1

Me gusta usar rsync para hacer una copia de seguridad de mi sistema. Esto es bueno para un directorio de inicio o directorio ect, pero podría no ser lo que está buscando en términos de una migración completa del sistema. Para usar rsync, necesitará instalar ubuntu en ambos sistemas. Actualícelos para que los paquetes sean iguales y estén al mismo nivel (esto no es obligatorio pero facilita las cosas). Luego, para copiar su directorio de inicio del servidor1 al servidor2, puede ejecutar lo siguiente en el servidor1:

$rsync -avz /home/username/ username@server2:/home/username/

Lo que me gusta de esto es que rsync calculará las diferencias entre directorios y transferirá los cambios en lugar de todo. De esta forma, puede mantener actualizada su copia de seguridad ejecutando en el servidor2 (para hacer una copia de seguridad en el servidor1):

$rsync -avz /home/username/ username@server1:/home/username/

hth

spinlock
fuente
Gracias, he estado usando rsync para hacer una copia de seguridad de mis particiones que no son del sistema operativo (es decir, datos, como música, etc.). También me gusta la forma en que funciona rsync; muy eficiente. Mi "problema" principal es que no sé si funcionará una simple copia de archivo de la VM a particiones equivalentes. P.ej. ¿Cómo manejará Ubuntu los diferentes HARDWARE? ¿Lo detecta y ajusta automáticamente en el arranque? ¡Windows ciertamente no lo haría! y todavía no estoy seguro de cómo manejar los puntos de montaje: no quiero sincronizar mi unidad TeraByte a la partición del sistema operativo; y GRUB me hace girar. Estas son las pequeñas cosas divertidas sobre las que aún no sé lo suficiente ...
Peter.O