VirtualBoxは、すべてのVMインスタンスのBIOSシリアル番号を0に設定します。いくつかのBIOS設定を変更することは可能であるようですが、シリアル番号を直接参照するものは何も見ていません。
誰かがこれを行う方法を提案できますか?
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に置き換える必要があります。
外部設定からではありません。しかし、あなたはコードからそれを自分で構築することができます:
ソースファイル:DevPcBios.cpp
行:1014 READCFGSTR("DmiSystemSerial", pszDmiSystemSerial, "0");
「0」を必要な値に変更します。
編集:あなたは明らかにVBoxManage setextradataを使用できます。私は過去に他のタイプの構成(BIOS関連ではない)に使用し、この特定の設定をテストしていません。試してごらん:
VBoxManage setextradata *YourVMName* VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial "*yourserial*"
それ以外の場合...ソースコードの編集とビルドに戻ります。
幸運を祈ります。
そのコマンドを実行し、Rogerによって参照されるエラーが発生した場合、最後のパラメーター(VALUE)なしでコマンドを実行して、コマンドをバックアウトする必要があります。
これにより、エラーの原因となったエントリが削除されます。
最後の問題のコマンドがわからない場合は、特定のVMのVirtualMachinesフォルダーのルートにある~~~ .vbox(XML)ファイルを開き、EXTRADATAセクションを確認してください。
これらを変更するには、vboxmanageのコマンドライン呼び出しを実行するのが最善の方法です。 xmlファイルを編集しても、100%固定されません。
受け入れられた回答では、シリアル番号が正しく更新されませんでした。代わりに、次の手順に従ってシリアル番号を正常に更新しました。ゲストOSはmacOS、ホストはWindowsであることに注意してください。
注:このコマンドを保存するには、このコマンドを実行する前にvirtualboxを閉じる必要があります。
cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage.exe setextradata "VM NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "SERIAL_HERE"
ソースを参照 。*便利なリンク
VBoxManage.exe list vms
。20バイトの16進数文字列を含むシリアル番号を使用してみてください。
VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial"
( 参照 )