我刚买了一台新笔记本电脑。我做的第一件事就是取出未启动的 OEM Windows-10 硬盘,然后放入我上一台笔记本电脑上现有的 Linux 硬盘。到目前为止一切顺利。
OEM 驱动器现在通过 USB 连接到我的(新)笔记本电脑,我看到 5 个分区:
/dev/sdb1 2048 534527 532480 260M EF00 EFI System
/dev/sdb2 534528 567295 32768 16M 0C01 Microsoft reserved
/dev/sdb3 567296 1918849023 1918281728 914.7G 0700 Microsoft basic data
/dev/sdb4 1918849024 1920856063 2007040 980M 2700 Windows recovery environment
/dev/sdb5 1920856064 1953511423 32655360 15.6G 0700nMicrosoft basic data
我想喜欢要做的就是取出硬盘并以某种方式将映像导入 VirtualBox 5.2.8(在动态大小的 vdi 中,因为我没有多余的 1TB),就像我第一次按照 Microsoft 期望的方式启动笔记本电脑一样。理想情况下,这会让实际硬盘保持当前原始和未启动的状态。不幸的是,在 VirtualBox、UEFI 和缺少安装 CD 之间,我不知道 Windows 是如何安装的了。
我可以做我想做的事情吗?如果可以,有人可以指导我吗?
(此时,我没有考虑许可问题。当我遇到这个问题时,我会跳下桥。现在,我只想安装。)
答案1
您可以激活Windows 10使用硬件的产品密钥,该密钥嵌入在 BIOS 中的 ACPI 表 MSDM 中(Microsoft 数据管理)您可以像这样获取它(当然是从 Linux 中获取!):
$ sudo tail -c +56 /sys/firmware/acpi/tables/MSDM
ABA2D-TEFJ4-D97PT-9B42Y-H3U5E
您可以像这样将 OEM Windows 许可证应用于 VirtualBox 客户机(从 Linux 主机 - 假设 VM 名为win10
):
$ sudo cat /sys/firmware/acpi/tables/MSDM > ~/VirtualBox\ VMs/win10/msdm.bin
$ VBoxManage setextradata win10 \
"VBoxInternal/Devices/acpi/0/Config/CustomTable" \
~/VirtualBox\ VMs/win10/msdm.bin
完成此操作后,Windows 将不会在安装过程中要求输入产品密钥,它将自动激活。如果您想验证它确实使用了正确的密钥,可以使用类似显示键加来检查。您可以在 TenForums 上阅读有关 ShowKeyPlus 的信息或者点击下载。
此激活方法适用于官方下载ISO您可以从 Microsoft 免费下载。由于您可以在全新安装的情况下使用 OEM 许可证,因此我想知道迁移是否值得。
另一种方法同样有效,就是获取如上所示的密钥,然后在 Windows 要求时输入。我在 KVM/QEMU 中使用了这种方法,因为我还没有弄清楚如何将 MSDM 表应用于它。
关于许可问题……Windows OEM 许可证(我写这篇文章时,它最后一次更新是 2017 年 7 月)表明这是允许的:
适用性。本协议适用于您设备上预装的 Windows 软件...
尤其是2.d.iv:
在虚拟化环境中使用。此许可证仅允许您在一台设备上安装一个软件实例,无论该设备是物理设备还是虚拟设备。如果您想在多台虚拟设备上使用该软件,则必须为每个实例获取单独的许可证。
因此你可以安装您的设备上预安装的 Windows 软件的一个实例,可供一台设备使用,无论该设备是物理设备还是虚拟设备。
另请参阅此 Microsoft 社区问题其中解释了如何激活。
当我有任何信息时,我会用更多信息更新这个答案
PS.另一个类似的问题在 SuperUser 上,另一个在 ServerFault 上。
示例中的产品密钥不是真实的!