Uso de VirtualBox con un Windows 7 local instalado en el disco duro

4

Acabo de descubrir hoy que se pueden crear archivos VMDK de VirtualBox que simplemente hacen referencia a particiones reales en discos locales y, no hace falta decir que se emocionaron bastante. "¡Esto significa que puedo iniciar mi instalación de Windows 7 desde VirtualBox ejecutándose en Linux!"

Creé el archivo VMDK así:

sudo VBoxManage internalcommands createrawvmdk -filename .VirtualBox/Hard\ Disks/Windows\ 7\ Local.vmdk -rawdisk /dev/sdb -partitions 2,4,5

La partición 2 es mi partición de arranque EFI, la partición 4 es la partición msft de Windows y la partición 5 es la partición NTFS real de Windows. Esto se realizó sin problemas, por lo que compré los archivos VMDK a mi usuario actual para poder ejecutarlos con mi usuario de inicio de sesión.

Esto condujo al primer enganche. Parece que no puedo agregar esta imagen a VirtualBox como cualquier usuario, excepto root, y realmente me gustaría no ejecutarla como root si es posible. ¿Hay alguna solución?

El siguiente problema es EFI. He activado el arranque EFI en VirtualBox, pero cada vez que inicio la imagen EFI / Microsoft / Boot / bootmgfw.efi, veo el siguiente código:

BlXmiInitialize failed 0xc000009a

error de arranque

y no arranca Además, tener que usar el shell UEFI real para arrancar las cosas es, en el mejor de los casos, una molestia.

¿Cómo puedo hacer que mi instalación local de Windows 7 se inicie como usuario no root de Linux en VirtualBox?

Actualizar

Al agregar su usuario de Linux al diskgrupo, puede usar la unidad VMDK como usuario no root:

sudo adduser me disk

Sin embargo, todavía no puedo superar el error de arranque.

Pensé que podría deberse a otros problemas, así que intenté usar mi disco de instalación de Windows 7 para la reparación de inicio, pero parece que ni siquiera ve la instalación de Windows, ya que el disco me indica que simplemente instale Windows.

Para resolver posibles problemas con la falta de información vital, hice lo siguiente para crear un VMDK de todo el disco, no solo las particiones individuales:

VBoxManage internalcommands createrawvmdk -filename ".VirtualBox/Hard Disks/Windows 7 Local.vmdk" -rawdisk /dev/sdb

La unidad /dev/sdbes una unidad virtual proporcionada por una tarjeta Intel RAID de hardware (RS2BL080).

Naftuli Kay
fuente
¿Intentaste instalar Win 7 en esa partición, dentro de Virtualbox?
John Siu
¿Qué quieres decir? Esta es una imagen VMDK que apunta a mi instalación real de Windows 7 en el disco. Puedo iniciar Windows 7 bien en el inicio del sistema físico, simplemente no funciona en VirtualBox. Estoy empezando a pensar que es un error de EFI.
Naftuli Kay
¿Le da el mismo error con la nueva configuración de VMDK?
John Siu
Sí, da el mismo error.
Naftuli Kay
1
Es muy posible que la información de bios / efi sea diferente, ya que 2 efi, vb y mb informan cosas muy diferentes a Bootmgfw.efi. Si tiene un disco duro de repuesto, podemos probarlo configurándolo como otro VMDK, luego instalar Win7 en él con Virtualbox, luego iniciar la máquina con esa unidad, muy probablemente mostrará el mismo error.
John Siu

Respuestas:

2

Según los miembros del equipo de VirtualBox y según el manual de VirtualBox :

Tenga en cuenta que el soporte de VirtualBox EFI es experimental y se mejorará a medida que EFI madure y se generalice. Si bien se sabe que los invitados de Mac OS X y Linux funcionan bien, los invitados de Windows actualmente no pueden arrancar con la implementación de VirtualBox EFI.

Es bastante flojo, pero cierto. Curiosamente, podría decirse que sería más difícil implementar EFI para Mac OSX que para Windows, ya que básicamente todas las placas madre modernas tienen firmware UEFI que "simplemente funciona ™" con Windows, mientras que Apple usa su propia implementación EFI patentada diseñada para su propio hardware. .

TL; DR : a partir de la redacción de esta publicación, el soporte de EFI realmente no funciona con Windows en VirtualBox.

Naftuli Kay
fuente
Si recuerdo correctamente, virtualbox realmente eliminó (solía ser una opción) OS X de la opción OS por solicitud de Apple.
John Siu
0

La información parece ser muy limitada con respecto al error de arranque de Windows efi. Solo puedo encontrar 2 enlaces a continuación, que parecen ser una copia de seguridad el uno del otro, en ruso

  1. http://habrahabr.ru/post/160655/ Traductor de Google
  2. http://savepearlharbor.com/?p=160655 Traductor de Google

No está abordando el arranque de VirtualBox Windows EFI. Sin embargo, demuestra cómo modificar Windows Bootmgfw.efipara el arranque dual con grub-efi. Tal vez pueda usar esa técnica para inspeccionar el contenido bootmgfw.efi y señalar el problema real.

Historias de éxito

  1. Esta publicación , reclamando el éxito de QEMU, KVM y VirtualBox.
  2. Esta publicación , afirmando que KVM y VMWare Workstation (no libre) puede hacerlo con facilidad.

Sin embargo, no se menciona el uso de efi. Entonces, tal vez usan biografías de estilo antiguo.

Posible problema: activación

De acuerdo con esta publicación , Windows puede solicitar la activación cada vez que cambia el modo de inicio (VM vs Native). Creo que esto es comprensible, ya que cambiar entre el modo es como cambiar a una placa base y una CPU diferentes.

John Siu
fuente
Muy interesante. Acabo de hacer modificaciones en la publicación original: creo que puede haber un problema con la lectura del disco que tiene VirtualBox.
Naftuli Kay
Sospecho que el problema se debe a la diferencia entre la BIOS de VirtualBox (BIOS la VM "ver") y la BIOS de la placa base. Supongo que el proceso de instalación de Win7 modificó bootmgfw.efi o un archivo de arranque relacionado con información específica de BIOS.
John Siu