如何在 VirtualBox 中更改 BIOS 序列号?

如何在 VirtualBox 中更改 BIOS 序列号?

VirtualBox 将每个 VM 实例的 BIOS 序列号设置为 0。似乎可以更改某些 BIOS 设置,但我还没有看到直接引用序列号的任何内容。

有人可以建议一种方法来做到这一点吗?

答案1

http://www.virtualbox.org/manual/ch09.html#changedmi

确实对此有详细的答案。

您可以通过以下步骤设置 BIOS 序列号:

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

您收到的错误是由于序列未设置为字符串值而导致的,如果您有一个纯数字,则应在它前面添加string:如下内容:

VBoxManage setextradata "VM name" 
"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "string:1234"

笔记:如果您的 VM 配置为使用 EFI 固件,则需要在密钥中将 pcbios 替换为 efi。

答案2

不是通过任何外部设置。但你可以从代码中自己构建它:

源文件: DevPcBios.cpp
线:1014READCFGSTR("DmiSystemSerial", pszDmiSystemSerial, "0");

将“0”更改为您需要的任何值。


编辑:你显然可以使用VBoxManage 设置额外数据。我过去曾将其用于其他类型的配置(与 bios 无关),并且没有测试此特定设置。试一试:

VBoxManage setextradata *YourVMName* VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial "*yourserial*"

否则...恢复到源代码编辑和构建。

祝你好运。

答案3

如果您运行该命令并收到 Roger 引用的错误,则需要通过运行不带最后一个参数(VALUE)的命令来撤消该命令。

这将删除导致错误的条目。

如果您不确定最后一个有问题的命令是什么,请打开特定虚拟机的 VirtualMachines 文件夹根目录中的 ~~~.vbox(XML)文件并查看 EXTRADATA 部分。

运行命令行调用 vboxmanage 是修改这些内容的最佳方法。编辑 xml 文件并非 100% 有效。

答案4

尝试使用包含 20 字节十六进制字符串的序列号:

VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial"

参考

相关内容