Possible de double démarrage * et * virtualiser le même lecteur physique contenant Windows 10?

11

J'utilise Linux comme pilote quotidien et je viens d'installer Windows 10 sur un nouveau disque physique de mon PC pour un double démarrage. Pendant un certain temps, j'ai utilisé Windows 7 via une image VirtualBox que j'ai montée sur iSCSI 1 .

Maintenant, j'ai deux environnements Windows différents et c'est très frustrant. J'aimerais abandonner la machine virtuelle Windows 7 et accéder à l'installation de Windows 10 directement via VirtualBox pour plus de commodité, mais sans perdre la possibilité de passer au double démarrage lorsque j'ai besoin de performances en métal brut.

Est-il possible de démarrer une installation existante de Windows 10 sur un support physique dédié (SSD SATA3 interne) via VirtualBox sans perdre la possibilité de double démarrage également?

Si cela rend les choses plus compliquées (ou impossibles), il convient de noter que le SSD Windows 10 est protégé par FDE via VeraCrypt.

Chris Tonkinson
la source
1
J'adorerais que ce soit possible, mais je n'ai pas encore trouvé de moyen. Outre le problème de l'exécution d'une machine virtuelle avec un disque physique, il existe deux aspects de basculement entre le démarrage dur et virtuel. (1) Il y aura une reconfiguration majeure du pilote chaque fois que vous changez d'environnements d'exécution. (2) En corollaire, Windows aura probablement besoin d'une réactivation de licence sur chaque commutateur: si cela est même possible, la licence se plaindra presque certainement après quelques réactivations. Ce que vous pouvez faire, c'est créer un disque virtuel à partir d'une installation physique, mais là encore, la licence sera un problème probable.
AFH
Vous pouvez faire mieux d'envisager d'exécuter l'installation Linux dans une machine virtuelle Windows: au moins, cela évitera des difficultés de licence.
AFH
@AFH Le problème de licence peut être résolu en clonant l'uuid du matériel hôte et les identifiants série du contrôleur de disque dans la machine virtuelle. Il permet d'exécuter Windows une fois à partir de la machine virtuelle et une fois directement (bien que la licence m $ ne permette toujours pas d'utiliser plusieurs installations avec la même clé de produit simultanément, elle peut donc être effectuée exclusivement dans la configuration demandée).
peterh
@peterh - Merci: je ne savais pas que le clonage UUID était suffisant pour les licences Windows. Il reste le problème de reconfiguration du pilote lors de la commutation. J'expérimenterai ta réponse quand j'aurai le temps.
AFH

Réponses:

7

Oui c'est possible.

  1. Configurez la virtualbox pour utiliser votre disque physique. C'est un peu risqué, car l'invité VM verra directement votre disque hôte. Détails ici .
  2. Donnez-vous un accès direct en lecture / écriture à votre disque physique ( setfacl -m u:yourusername:rw /dev/sda)
  3. Mettez à jour votre machine virtuelle virtualbox pour utiliser le même uuid système que votre hôte ( dmidecode -s system-uuidaffiche votre uuid système, vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>). Vous devrez peut-être également cloner les uuids de votre contrôleur de lecteur ( lsblk --nodeps --no name,serialaffiche les identifiants de série de votre hôte. Je n'ai pas besoin de les cloner dans ma boîte virtuelle, mais cela peut être nécessaire. Probablement une vboxmanage modifyvmcommande délicate le fait, ou vous devez modifier le vm config xml manuellement.
  4. Essayez de configurer les mêmes types de contrôleurs de disque et de dvd dans la machine virtuelle que votre hôte (si votre hôte est basé sur SATA, utilisez des contrôleurs virtuels SATA, s'il est basé sur IDE, utilisez ceux IDE, etc.).

Il existe un autre danger: si vous démarrez directement dans une machine virtuelle votre lecteur hôte, il est possible que vous démarriez deux fois le même système d'exploitation. Ou vous ouvrez deux fois la même partition. Cela tuera vos données, ne montez donc jamais plusieurs partitions simultanément. De plus, ne montez pas vos partitions NTFS pendant qu'elles sont utilisées par votre Windows (mais vous pouvez toujours partager des données entre vos partitions, par exemple avec Samba).

Si cela se produit accidentellement, redémarrez avec sysrq (alt + printscreen + b) et fsck tout. Une astuce grub peut également être nécessaire pour cela (j'ai reconfiguré grub pour démarrer les fenêtres par défaut, donc j'évite le problème de redémarrer accidentellement mon Linux à l'intérieur de la machine virtuelle Windows - et cela se produira sûrement, car Windows Update redémarre souvent votre Windows derrière ton dos).

Attention: Win10 utilise votre uuid système et les uuids de votre contrôleur de disque pour identifier votre PC. Si vous manquez (3), votre win10 pensera qu'il a été cloné sur une nouvelle machine, et il ne sera plus activé. Bien que si vous redémarrez sur votre matériel d'origine, il sera réactivé.

peterh - Réintégrer Monica
la source
J'ai fait tout ce que vous avez écrit dans votre réponse, mais je reçois une erreur d'accès refusé. Je suis un peu confus, il semble que le setfaclne tient pas après les redémarrages. Suggestions? Remarque: je ne monte pas le lecteur, car je ne souhaite pas d'altération des données. La documentation d'ACL indique que les lecteurs nécessitant ACL devraient être inclus fstab, ce qui le monterait ...
Kartik
1
@Kartik C'est vrai, ça ne tient pas. La solution la plus simple, mais un peu sale, consiste à insérer la commande setfacl dans votre /etc/rc.local. La très bonne solution serait de le modifier dans / etc / udev. Personnellement, je ne redémarre pas assez souvent pour rendre la saisie de cette commande ennuyeuse.
peterh
J'ai utilisé udev pour définir les autorisations correctes, mais la machine virtuelle est bloquée sur le logo Windows. Des idées?
Kartik
@Kartik S'il peut au moins commencer à démarrer, les autorisations sont correctes. Cela n'a probablement rien à voir avec cette solution, la raison probable est que les fenêtres ne démarreront pas dans l'environnement émulé (la victoire peut voir comme si elle avait été déplacée dans un matériel totalement nouveau, elle doit donc recâbler beaucoup de Conducteurs). Essayez de démarrer la machine dans certains dégradés plus similaires. Ou essayez d'activer un mode de débogage, ou similaire. Vous pouvez le gérer comme un problème "Windows ne démarre pas sur un nouveau matériel". Et essayez de configurer dans la vbox l'environnement hw possible le plus similaire à celui de la machine physique.
peterh
1
L'échec de démarrage a été provoqué par la mise à jour 1703, ou la mise à jour du créateur comme l'appelle Microsoft. La restauration de cette mise à jour a résolu le problème. Les machines virtuelles sont incompatibles avec cette mise à jour. Si Windows est mis à jour lors de l'exécution sur du métal, le restaurer corrige le démarrage bloqué dans la machine virtuelle.
Kartik
1

J'ai réussi avec Windows 10 en tant qu'invité et Linux Mint en tant qu'hôte.

Vous devez d'abord désinstaller toutes les mises à jour de Windows 10 (au cas où, peut-être inutile) puis: Sous Linux, ouvrez une console et ligne par ligne:

 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

Ajoutez la machine dans la boîte virtuelle (toujours avec "sudo virtualbox" pour être root) et activez EFI dans l'onglet système, et choisissez Windows XP 64 au lieu de Windows 10 sinon vous avez juste un bel indicateur Windows 10 gelé. C'est tout.

bormat
la source