可以双重引导并*虚拟化包含Windows 10的同一物理驱动器吗?


11

我使用Linux作为日常驱动程序,并且刚刚将Windows 10安装到PC中的新物理磁盘上以进行双引导。一段时间以来,我已经通过在iSCSI 1上安装的VirtualBox映像使用了Windows 7 。

现在我有两个不同的Windows环境,这非常令人沮丧。为了方便起见,我希望放弃Windows 7 VM,直接通过VirtualBox访问Windows 10安装,但又不会失去在需要原始金属性能时降级为双启动的功能。

是否可以通过VirtualBox在专用物理介质(内部SATA3 SSD)上引导Windows 10的现有安装,而又不会失去双引导的功能?

如果这使事情变得更加复杂(或不可能),则值得注意的是Windows 10 SSD通过VeraCrypt受到FDE的保护。


1
如果可能的话,我会喜欢的,但是我还没有找到办法。除了使用物理磁盘运行VM的问题外,在硬启动和虚拟启动之间进行切换还有两个方面。(1)每当您切换运行环境时,都会进行主要的驱动程序重新配置。(2)作为必然的结果,Windows可能会需要在每个开关上重新激活许可证:即使有可能,在几次重新激活后,许可证肯定会抱怨。您可以做的是通过物理安装创建虚拟磁盘,但是再次许可很可能会成为问题。
AFH

您最好考虑在Windows VM中运行Linux安装:至少这样做可以避免许可困难。
AFH

@AFH可以通过将主机硬件uuid和磁盘控制器序列ID克隆到VM中来解决许可证问题。它允许从VM运行一次Windows,然后直接运行一次(尽管m $许可仍然不允许同时使用具有相同产品密钥的多个安装,因此只能在要求的配置中完成)。
peterh-恢复莫妮卡

@peterh-谢谢:我不知道UUID克隆足以获得Windows许可。切换时仍然存在驱动程序重新配置问题。有空的时候我会尝试你的答案。
AFH

Answers:


7

是的,有可能。

  1. 配置虚拟机以使用您的物理磁盘。这有点冒险,因为VM guest虚拟机将直接看到您的主机光盘。详细信息在这里
  2. 为您自己的物理磁盘提供直接读/写访问权限(setfacl -m u:yourusername:rw /dev/sda
  3. 更新您的virtualbox VM,使其使用与主机相同的系统uuid(dmidecode -s system-uuid显示系统uuid,vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>)。您可能还需要克隆驱动器控制器uuid(lsblk --nodeps --no name,serial显示主机的序列号。我不需要将它们克隆到我的virtualbox中,但是可能需要这样做。可能有些棘手的vboxmanage modifyvm命令可以这样做,或者您必须编辑vm config xml手动。
  4. 尝试在虚拟机中与主机设置相同的光盘和DVD控制器类型(如果主机基于SATA,则使用SATA虚拟控制器,如果基于IDE,则使用IDE,等等)。

还有另一个危险:如果直接在VM中引导您的主机驱动器,则有可能两次引导相同的OS。或者您打开同一分区两次。这将杀死您的数据,因此切勿同时安装多个分区。此外,请勿在Windows使用NTFS分区时挂载它们(但您仍可以在分区之间共享数据,例如使用Samba)。

如果意外发生,请使用sysrq(alt + printscreen + b)重新启动并执行fsck。为此,可能还需要一些grub技巧(我将grub重新配置为默认情况下启动Windows,因此避免了我意外地在Windows VM中重新启动Linux的问题-肯定会发生,因为Windows Update经常会重新启动Windows背后)。

当心:Win10使用您的系统uuid和驱动器控制器uuid来识别您的PC。如果您错过(3),则您的win10会认为它已被克隆到新计算机上,并且将不再被激活。尽管如果您重新启动到原始硬件,它将再次被激活。


我做了您在回答中写的所有内容,但出现了拒绝访问错误。我有些困惑,setfacl重新启动后似乎没有保持。有什么建议吗?注意:我不安装驱动器,因为我不希望数据损坏。ACL文档说,需要ACL的驱动器应包含在fstab其中,然后将其安装...
Kartik

1
@Kartik对,它不成立。最简单但有点脏的解决方案是将setfacl命令插入到/etc/rc.local中。很好的解决方案是将其编辑到/ etc / udev中。我个人而言,重启的频率不足以使该命令的输入变得烦人。
彼得-恢复莫妮卡

我使用udev设置了正确的权限,但是虚拟机停留在Windows徽标上。有任何想法吗?
卡迪克

@Kartik如果它至少可以启动,那么权限就可以了。该解决方案可能与该解决方案无关,可能的原因是Windows无法在仿真环境中启动(获胜者似乎将其移入了全新硬件中,因此必须重新布线很多)。驱动程序)。尝试以一些类似的降级方式启动计算机。或尝试打开某些调试方式或类似方式。您可以将其作为“ Windows无法在新硬件上启动”的问题来处理。并尝试在vbox中配置与物理计算机中最相似的硬件环境。
彼得-恢复莫妮卡

1
引导失败是由更新1703或Microsoft称为创建者的更新引起的。回滚此更新可解决此问题。虚拟机与此更新不兼容。如果Windows在金属上运行时更新,则将其回滚可修复VM中卡住的启动。
Kartik

1

我成功地将Windows 10作为来宾,将Linux Mint作为主机。

首先,您必须取消所有Windows 10更新(以防万一,也许没用),然后:在Linux下打开控制台并逐行:

 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

在虚拟框中添加计算机(始终以“ sudo virtualbox”为根)并在“系统”选项卡中启用EFI,然后选择Windows XP 64(而不是Windows 10),否则将冻结Windows 10标志。就这些。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.