¿Se puede utilizar un hipervisor como VirtualBox para iniciar un sistema operativo virtualizado que también se puede iniciar directamente?

60

Esta pregunta es bastante teórica:

Supongamos que tengo una PC con dos sistemas operativos diferentes en dos particiones diferentes: OS1 en sda1 y OS2 en sda2. ¿De alguna manera es posible configurar un programa como VMWare o Virtualbox en OS1, que accede a sda2, lo inicia y ejecuta OS2? Por otro lado, OS2 también debería ser arrancable directamente.

Me doy cuenta de que el OS2 emulado sería mucho más lento y probablemente nadie realmente usaría esta configuración, pero me parece muy interesante.

Wauzl
fuente
1
@ MorrisIriga, ¿estás seguro? Recuerdo que había una herramienta de virtualización que podía montar discos duros reales. No estoy seguro si es oracle virtualbox o microsoft virtualpc.
LPChip
1
@LPChip Lo siento, había entendido mal la pregunta. Sí, puede montar un disco duro físico con VirtualBox. Echa un vistazo a esto o esto . No sé sobre otro software de virtualización.
MorrisIriga
44
VMWare Fusion puede lanzar una partición "Boot Camp" como una máquina virtual dentro del host Mac OS X: kb.vmware.com/selfservice/microsites/…
Jacob Krall

Respuestas:

58

Es posible , sí, y no necesariamente tiene que ser más lento, ya que en estos días ya no es emulación , es virtualización : la mayoría de las CPU admiten virtualización asistida por hardware (VT-x y demás), pero incluso sin ellas, VirtualBox tiene muchas trucos para hacer que las máquinas virtuales virtualizadas por software se ejecuten rápidamente.

En cualquier caso, no será más lento que arrancar una máquina virtual antigua. Incluso podría ser más rápido (debido al uso de una partición sin formato en lugar de una imagen de disco fragmentada).


Pero no estoy completamente seguro de cómo hacerlo en VirtualBox: ¿creo que debe crear un archivo .vdi especial usando vboxmanageesos puntos a la partición real? Además, no tengo ideas sobre cómo hacer que el gestor de arranque funcione en tal situación.

Aunque solía depurar varios problemas de arranque en Linux ejecutando una copia de solo lectura del sistema operativo actual dentro de sí mismo, usando qemu-system-x86_64 -enable-kvm -hda /dev/sda -snapshot -monitor stdio.

Gravedad
fuente
66
Usted hombre, ¿realmente ejecutó un sistema operativo virtualizado dentro de sí mismo?
Wauzl
8
¿Seguro Por qué no? No es muy diferente de ejecutar una VM normal. La única parte importante es -snapshot, que hace una copia temporal de / dev / sda (para que ambos sistemas no se bloqueen los datos del otro).
Grawity
66
Su declaración tentativa sobre el uso de vboxmanage para configurar un VDI (no VHD) como marcador de posición para la partición sin formato es correcta. El manual de VBOX lo explica en detalle. Me gusta tu truco de depuración. Nunca pensé en hacerlo así, pero ya estoy pensando en algunos casos de uso ;-)
Tonny
28

qemule permitirá usar dispositivos de bloque como /dev/sda2, etc., como discos duros virtuales. VMWare también lo hace. No estoy seguro acerca de Virtualbox.

Cuando inicia /dev/sda2en una máquina virtual, tendrá un efecto similar como si sacara un disco duro y lo iniciara en una computadora diferente con hardware diferente. Si el sistema operativo puede manejar ese cambio, entonces debería estar bien ejecutando el sistema operativo tanto en una máquina virtual como de forma nativa. Windows le dará problemas, por supuesto, y Linux probablemente lo tolerará muy bien.

Puede mitigar los posibles problemas haciendo que el hardware virtual coincida lo más posible con el hardware físico de su sistema, aunque, por supuesto, tendrá que especificar menos RAM. De particular importancia es especificar el mismo tipo de controlador de disco (IDE, SCSI, etc.).

LawrenceC
fuente
8
Aparentemente, virtualbox puede hacer esto también usando el comando 'VBoxManage internalcommands createrawvmdk' (visto aquí )
Michael B
19

Es completamente posible, de hecho, ¡solía hacer esto!

Tuve una partición / disco (olvido cuál) con Windows uno con Linux, creo que fue en los días de Windows XP (ciertamente, eso duró un tiempo). Era una buena forma de tener acceso a ambos conjuntos de datos sin utilizar una carga de espacio en disco con diferentes instalaciones.

El único problema que recuerdo haber tenido fue que necesitaba configurar dos perfiles de hardware diferentes en XP. Se confundió mucho cuando arrancó con los incorrectos.

No estoy seguro de cómo responderían los procesos de activación actuales al cambio de hardware. Eso bien podría causar algunos problemas ... (pero si alguna vez arranca Windows como una máquina física y tiene Linux como VM / o física, eso resolvería eso)

Según recuerdo, hice esto con la estación de trabajo VMware. Eso definitivamente admite el arranque desde un disco sin formato. Estoy seguro de que la versión de MS sí. No estoy tan seguro acerca de las máquinas virtuales de Linux, pero me sorprendería si no.

Michael B
fuente
Oh, perfiles de hardware ... Nunca he tocado esa característica. Las licencias definitivamente lo arruinarían ahora.
sinni800
@ sinni800 Esta fue la única vez que los usé, de acuerdo con esto todavía existen, pero se han trasladado al kit de controladores como devconx64.exe
Michael B
Los perfiles de hardware se
eliminaron de los
8

Curiosamente, para aquellos que ejecutan VMware Fusion en una Mac, con una partición de bootcamp de Windows, es posible iniciar una máquina virtual que se ejecute fuera de la partición de bootcamp:

VMware Fusion le permite iniciar una partición Boot Camp ya instalada sin afectar su capacidad para arrancar de forma nativa. Esto le brinda la posibilidad de acceder a una partición Boot Camp desde dentro del Mac OS usando Fusion, y reiniciando e iniciando Windows directamente.

Nota, sin embargo:

Es posible que se le solicite que reactive Windows porque el sistema operativo reconoce hardware diferente.

Fuente: VMware: lanzamiento de la partición Boot Camp en VMware Fusion

magma
fuente
3
Recomiendan que primero instalen sus herramientas para que el proceso de activación vea el mismo "hardware" en ambas situaciones. Siga las instrucciones o terminará hablando con los servidores de activación de Microsoft en el teléfono.
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen gran consejo - gracias
magma
7

Lo hice . Es bastante útil, pero hay algunas limitaciones y configurarlo no es trivial.

  • El sistema operativo nativo o VM debe ser tolerante con el hardware en el que se ejecuta. A la mayoría de las distribuciones de Linux no les importa y solo se ejecutan en cualquier cosa en la que las inicie, siempre que la arquitectura de la CPU coincida. No es tan sencillo con Windows. También puede enfrentar problemas de activación / licencia.

  • En Windows, no puede iniciar el sistema operativo en una máquina virtual mientras su partición está montada en el host. Esto no es un gran problema, ya que en este caso probablemente le gustaría arrancar Linux dentro de Windows y Windows no admite extsistemas de archivos de todos modos.

  • Configurar bootloaders es complicado. Necesita una configuración de arranque separada para arrancar en VM y para arrancar de forma nativa. Utilicé Grub4DOS / NeoGrub como gestor de arranque de la primera etapa al arrancar de forma nativa, luego pude cargar en cadena el gestor de arranque de Windows o arrancar en Ubuntu. VM tenía una unidad pequeña (pocos MB) montada con mayor prioridad que la unidad principal. Esa unidad contenía GRUB2 instalado manualmente que utilicé para arrancar Ubuntu dentro de VM.

  • La configuración inusual del cargador de arranque requiere una actualización cuidadosa. Por ejemplo, actualizar GRUB cuando se ejecuta Linux de forma nativa podría romper la cadena del cargador de arranque. Actualizar dentro de VM requiere instalarlo manualmente en la partición de arranque.

gronostaj
fuente
0

Eso es posible con bastante facilidad ... ¡Si usa discos duros separados para cada instalación!

Eche un vistazo aquí, por ejemplo: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html , o busque en el sitio web de VirtualBox (que está inactivo por el momento) para estas palabras clave.

Lo uso para poder acceder a mi partición de Linux cuando trabajo en Windows, como cosas de Adobe u otras cosas que no se ejecutan sin problemas en Wine o Virtualization of Windows en Linux.

Además, porque a menudo accedo a mi torre de forma remota, y todo mi disco duro de Linux está encriptado, mientras que mi disco duro de Windows no está y solo tiene datos no confidenciales. Así que inicio Windows (la entrada de Windows en GRUB está preseleccionada), inicio sesión en Teamviewer, inicio Virtualbox y luego mi disco duro Linux.

En esta dirección - Windows -> Virtualbox -> otro HD con Linux -> es posible bastante simple, debido a la detección de hardware superior, sobre la marcha, que Linux, es decir, Ubuntu, admite.

En la otra dirección, terminarás con un desastre. A Windows no le gusta cambiar el hardware ... Podría estropear su sistema, no se inicia en absoluto, o incluso si lo hace, tal vez le diga que su licencia ya no es válida porque se producen demasiados cambios de hardware con demasiada frecuencia.

Dicho esto, desea mantener Windows como entrada de arranque preseleccionada en GRUB, pero tenga cuidado de que seleccione la entrada correcta en GRUB cuando se ejecuta en Virtualbox. Si tiene problemas con retrasos de forma remota, aumente el tiempo de espera de arranque en GRUB para estar seguro.

Espero que te haya ayudado :)

Markus
fuente