gpt4 book ai didi

virtualbox - 如何设置VirtualBox bios UUID

转载 作者:行者123 更新时间:2023-12-01 05:01:04 36 4
gpt4 key购买 nike

我正在尝试在 VirtualBox 中使用我的 native Windows 安装,并且由于它具有 OEM 许可证,因此我需要重用 bios UUID 才能使激活工作。

一些系统信息:
操作系统:Arch Linux,内核 4.1.6-1
虚拟机:5.0.4_OSEr102546

该机器使用原始 vmdk 磁盘,仅限于 native Windows 安装使用的 6 个分区。

我已经对很多 dmi 数据应用了诸如 modifyvm --hardwareuuid 和 setextradata 之类的命令。

配置中的相关行是:

<ExtraData>
...
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardLocInChass" value="Type2 - Board Chassis Location"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Lancer 5A5"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" value="string:1052326401165"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardVendor" value="LENOVO"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardVersion" value="31900058WIN"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiChassisSerial" value="YB10465037"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiChassisVendor" value="LENOVO"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiChassisVersion" value="Lenovo Z50-70"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiProcManufacturer" value="Intel(R) Corporation"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiProcVersion" value="Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="1abbb2fc-c938-11e4-a961-68f728a77e71"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/UUID" value="bytes:Gruy/Mk4EeSpYWj3KKd+cQ=="/><!-- UUID in BASE64 -->
</ExtraData>
<Hardware version="2" uuid="{1abbb2fc-c938-11e4-a961-68f728a77e71}">
<CPU count="1" hotplug="false">
<HardwareVirtEx enabled="true"/>
<HardwareVirtExNestedPaging enabled="true"/>
<HardwareVirtExVPID enabled="true"/>
<HardwareVirtExUX enabled="true"/>
<PAE enabled="true"/>
<LongMode enabled="true"/>
<HardwareVirtExLargePages enabled="false"/>
<HardwareVirtForce enabled="false"/>
</CPU>
<Memory RAMSize="2560" PageFusion="false"/>
<Firmware type="EFI"/>
<HID Pointing="USBTablet" Keyboard="PS2Keyboard"/>
<HPET enabled="false"/>
<Chipset type="PIIX3"/>

Vboxmanage showvminfo 返回这一行:
Hardware UUID:   1abbb2fc-c938-11e4-a961-68f728a77e71

如您所见,我使用了 VirtualBox 的 hardwareuuid 设置、dmi 设置 DmiSystemUuid 和 UUID(这个我必须从日志中逆向工程并找出如何传递它 - 通过 base64 并转换为字节)。

然而,当我运行机器时,VirtualBox 以某种方式决定它更了解并使用机器的初始 UUID。它在日志中显示(最后一行):
00:00:00.586671 ************************* CFGM dump *************************
00:00:00.586674 [/] (level 0)
00:00:00.586680 CSAMEnabled <integer> = 0x0000000000000001 (1)
00:00:00.586683 CpuExecutionCap <integer> = 0x0000000000000064 (100)
00:00:00.586686 EnablePAE <integer> = 0x0000000000000001 (1)
00:00:00.586687 HMEnabled <integer> = 0x0000000000000001 (1)
00:00:00.586689 MemBalloonSize <integer> = 0x0000000000000000 (0)
00:00:00.586690 Name <string> = "Windows 8" (cb=10)
00:00:00.586692 NumCPUs <integer> = 0x0000000000000001 (1)
00:00:00.586693 PATMEnabled <integer> = 0x0000000000000001 (1)
00:00:00.586695 PageFusionAllowed <integer> = 0x0000000000000000 (0)
00:00:00.586696 RamHoleSize <integer> = 0x0000000020000000 (536 870 912, 512 MB)
00:00:00.586699 RamSize <integer> = 0x00000000a0000000 (2 684 354 560, 2 GB)
00:00:00.586701 RawR0Enabled <integer> = 0x0000000000000001 (1)
00:00:00.586702 RawR3Enabled <integer> = 0x0000000000000001 (1)
00:00:00.586704 TimerMillies <integer> = 0x000000000000000a (10)
00:00:00.586705 UUID <bytes> = "fc b2 bb 1a 38 c9 e4 11 a9 61 68 f7 28 a7 7e 71" (cb=16)

不幸的是,这是重要的 UUID。在 Windows 8 中,如果我使用 wmic 命令,它会报告 UUID:fcb2bb1a-38c9-e411-a961-68f728a77e71 而我想要 1abbb2fc-c938-11e4-a961-68f728a77e71。

我推断它可能会被从 root 开始的额外数据操纵,所以我试图把它放在一行:
<ExtraDataItem name="VBoxInternal/UUID" value="bytes:Gruy/Mk4EeSpYWj3KKd+cQ=="/>

这将日志值更改为正确的值,但 wmic 仍报告以 'fc' 开头的值。 Windows 激活也不起作用。

所以现在我真的没有想法了。

有没有人成功地设置了这个,如果是这样,如何?

最佳答案

重要的一行是:

<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="1abbb2fc-c938-11e4-a961-68f728a77e71"/>

但是前四组字节顺序是颠倒的,所以需要写成:
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" value="fcb2bb1a-38c9-e411-a961-68f728a77e71"/>

关于virtualbox - 如何设置VirtualBox bios UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32648741/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com