Virtualbox 7 - 如何更改主板序列号以便 Windows 10 能够识别它?

Virtualbox 7 - 如何更改主板序列号以便 Windows 10 能够识别它?

我在 Windows 10 64 位操作系统上运行 Virtualbox 7。我使用了默认设置并创建了 Windows 10 64 位教育版 VM。默认序列号为 0,我需要更改它。

我已经尝试过这些命令。

VBoxManage setextradata "AutopilotTest" "VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" "String:Serial1234"

VBoxManage setextradata "AutopilotTest" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "Serial1234"

但序列号始终为0。

New-Item -Type Directory -Path "C:\HWID"
Set-Location -Path "C:\HWID"
$env:Path += ";C:\Program Files\WindowsPowerShell\Scripts"
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Install-Script -Name Get-WindowsAutopilotInfo
Get-WindowsAutopilotInfo -OutputFile AutopilotHWID.csv

返回

Gathered details for device with serial number: 0

与命令 'wmic bios get serialnumber' 相同

当 VM 启动时,DmiSystemSerial 行将从配置文件 AutopilotTest.vbox 中删除。ExtraData 被修改为

<ExtraData>
  <ExtraDataItem name="GUI/LastGuestSizeHint" value="1024,768"/>
  <ExtraDataItem name="GUI/LastNormalWindowPosition" value="1455,280,1024,808"/>
  <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" value="String:Serial1234"/>
</ExtraData>

附加信息:

命令

$ VBoxManage setextradata VM-name \
"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial"      "System Serial"

在官方文档中有指定,但 VirtualBox 会将其从 .vbox 文件中删除。 https://docs.oracle.com/en/virtualization/virtualbox/7.0/admin/AdvancedTopics.html#changedmi

附加信息2:

我测试了 EFI 模式,并将这两个序列号都设置为 BIOS 和 EFI。这些设置可以在 .vbox 文件中找到,但当 WM 启动时,这些设置都会被删除。

  <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" value="SERIAL1234"/>
  <ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" value="SERIAL1234"/>
  <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiBoardSerial" value="SERIAL1234"/>
  <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" value="SERIAL1234"/>

附加信息2:

VirtualBox 版本 7.0.4 r154605 (Qt5.15.2) 7.0.4 r154605

附加信息3:

适用于 7.0.14 版本。

PowerShell 命令检查序列号。

Get-WmiObject win32_bios | select Serialnumber

答案1

以防其他人遇到这种情况。“String:12345”参数的单词字符串中必须有一个大写字母“S”。然后它就可以正常工作了。

答案2

根据 Oracle 的 配置 BIOS DMI 信息,正确的语法是:

VBoxManage setextradata VM-name \
"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial"      "String:1234"

相关内容