¿Es posible iniciar dual * y * virtualizar la misma unidad física que contiene Windows 10?

8

Uso Linux como mi controlador diario y acabo de instalar Windows 10 en un nuevo disco físico en mi PC para el arranque dual. Durante un tiempo, he usado Windows 7 a través de una imagen de VirtualBox que he montado sobre iSCSI 1 .

Ahora tengo dos entornos de Windows diferentes y eso es muy frustrante. Me encantaría abandonar la VM de Windows 7 y acceder a la instalación de Windows 10 directamente a través de VirtualBox por conveniencia, pero sin perder la capacidad de desplegar el arranque dual cuando necesito un rendimiento de metal sin procesar.

¿Es posible iniciar una instalación existente de Windows 10 en medios físicos dedicados (SSD SATA3 interno) a través de VirtualBox sin perder también la capacidad de inicio dual?

Si hace las cosas más complicadas (o imposibles), vale la pena señalar que el SSD de Windows 10 está protegido con FDE a través de VeraCrypt.

Chris Tonkinson
fuente
1
Me encantaría si fuera posible, pero aún no he encontrado la manera. Además del problema de ejecutar una VM con un disco físico, hay dos aspectos de cambiar entre el arranque duro y virtual. (1) Habrá una importante reconfiguración del controlador cada vez que cambie los entornos de ejecución. (2) Como corolario, Windows probablemente necesitará la reactivación de la licencia en cada conmutador: si esto es posible, las licencias seguramente se quejarán después de un par de reactivaciones. Lo que puede hacer es crear un disco virtual a partir de una instalación física, pero nuevamente las licencias serán un problema probable.
AFH
Es mejor considerar ejecutar la instalación de Linux en una VM de Windows: al menos evitará dificultades de licencia.
AFH
@AFH El problema de la licencia se puede resolver clonando el uuid del hardware del host y los identificadores seriales del controlador de disco en la VM. Permite ejecutar Windows una vez desde VM, y una vez directamente (aunque las licencias m $ todavía no permiten usar múltiples instalaciones con la misma clave de producto al mismo tiempo, por lo que se puede hacer exclusivamente en la configuración solicitada).
Peter
@peterh - Gracias: no sabía que la clonación UUID era suficiente para las licencias de Windows. Queda el problema de reconfiguración del controlador al cambiar. Experimentaré con tu respuesta cuando tenga tiempo.
AFH

Respuestas:

6

Sí, es posible.

  1. Configure el virtualbox para usar su disco físico. Es un poco arriesgado, porque el invitado VM verá su disco host directamente. Detalles aquí .
  2. Dése acceso directo de lectura / escritura a su disco físico ( setfacl -m u:yourusername:rw /dev/sda)
  3. Actualice su VM virtualbox para usar el mismo uuid del sistema que su host ( dmidecode -s system-uuidmuestra su uuid del sistema vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>). Es posible que deba clonar también los uuids de su controlador de unidad ( lsblk --nodeps --no name,serialmuestra los identificadores de serie de su host. No tuve que clonarlos en mi caja virtual, pero puede ser necesario. Probablemente algún vboxmanage modifyvmcomando complicado lo haga, o debe editar el vm config xml manualmente.
  4. Intente configurar los mismos tipos de controladores de disco y DVD en la VM que su host (si su host está basado en SATA, use controladores virtuales SATA, si está basado en IDE, use los IDE, etc.).

Existe otro peligro: si inicia en una máquina virtual su unidad host directamente, es posible que inicie el mismo sistema operativo dos veces. O abres la misma partición dos veces. Esto matará sus datos, así que nunca monte múltiples particiones al mismo tiempo. Además, no monte sus particiones NTFS mientras Windows las usa (pero aún puede compartir datos entre sus particiones, por ejemplo con Samba).

Si sucedió accidentalmente, reinicie con sysrq (alt + printscreen + b) y fsck todo. Es posible que también se necesiten algunos trucos grub para eso (configuré grub para arrancar las ventanas de forma predeterminada, por lo tanto, evito el problema de que arranque accidentalmente mi Linux nuevamente dentro de la VM de Windows, y seguramente sucederá, porque Windows Update a menudo reinicia su Windows detras de tu espalda).

Cuidado: Win10 usa el uuid de su sistema y los uuids del controlador de su unidad para identificar su PC. Si falla (3), su win10 pensará que fue clonado a una nueva máquina, y ya no se activará. Aunque si reinicia a su hw original, se activará nuevamente.

Peter
fuente
Hice todo lo que escribiste en tu respuesta, pero recibo un error de acceso denegado. Estoy un poco confundido, parece que setfaclno se mantiene después de reiniciar. Sugerencias? Nota: No estoy montando la unidad, porque no quiero corrupción de datos. Documentación ACL dice que las unidades que necesitan ACL deben incluirse en fstab, lo que montarlo ...
Kartik
1
@Kartik Correcto, no se sostiene. La solución más simple pero un poco sucia es insertar el comando setfacl en su /etc/rc.local. La solución bastante buena sería editarlo en / etc / udev. Personalmente, no reinicio lo suficiente como para hacer que escribir este comando sea molesto.
Peter
Utilicé udev para establecer los permisos correctos, pero la máquina virtual está atascada en el logotipo de Windows. ¿Algunas ideas?
Kartik
@Kartik Si al menos puede comenzar a arrancar, entonces los permisos están bien. Es probable que no tenga nada que ver con esta solución, la razón probable es que las ventanas no se iniciarán en el entorno emulado (la victoria puede verse como si se hubiera movido a un hardware totalmente nuevo, por lo que tiene que volver a cablear mucho conductores). Intente iniciar la máquina en algunos degradados más de similar. O intente activar algún modo de depuración, o similar. Puede manejarlo como un problema de "Windows no arranca en hardware nuevo". E intente configurar en vbox el entorno hw más similar posible al que tenía en la máquina física.
Peter
1
La falla de arranque fue causada por la actualización 1703, o la Actualización del Creador como Microsoft la llama. Revertir esta actualización solucionó el problema. Las máquinas virtuales son incompatibles con esta actualización. Si Windows se actualiza cuando se ejecuta en metal, al revertirlo se repara el arranque atascado en la VM.
Kartik
2

Tuve éxito con Windows 10 como invitado y Linux mint como Host.

Primero debe desinstalar todas las actualizaciones de Windows 10 (por si acaso, quizás inútiles) y luego: en Linux, abra una consola y línea por línea:

 sudo su

 fdisk -l # looking for EFI et Microsoft basic data for me 1 and 3 of sdb 

 VBoxManage internalcommands createrawvmdk -filename /home/borto/ww10.vmdk -rawdisk /dev/sdb -partitions 1,3 -relative

Agregue la máquina en la caja virtual (siempre con "sudo virtualbox" para ser root) y habilite EFI en la pestaña del sistema, y ​​elija windows xp 64 en lugar de windows 10, de lo contrario, tendrá una hermosa bandera congelada de windows 10. Eso es todo.

bormat
fuente