web-dev-qa-db-ja.com

VirtualBoxのBIOSシリアル番号を変更するにはどうすればよいですか?

VirtualBoxは、すべてのVMインスタンスのBIOSシリアル番号を0に設定します。いくつかのBIOS設定を変更することは可能であるようですが、シリアル番号を直接参照するものは何も見ていません。

誰かがこれを行う方法を提案できますか?

17
Roger

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に置き換える必要があります。

22
Alex R

外部設定からではありません。しかし、あなたはコードからそれを自分で構築することができます:

ソースファイル:DevPcBios.cpp
行:1014 READCFGSTR("DmiSystemSerial", pszDmiSystemSerial, "0");

「0」を必要な値に変更します。


編集:あなたは明らかにVBoxManage setextradataを使用できます。私は過去に他のタイプの構成(BIOS関連ではない)に使用し、この特定の設定をテストしていません。試してごらん:

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

それ以外の場合...ソースコードの編集とビルドに戻ります。

幸運を祈ります。

8
A Dwarf

そのコマンドを実行し、Rogerによって参照されるエラーが発生した場合、最後のパラメーター(VALUE)なしでコマンドを実行して、コマンドをバックアウトする必要があります。

これにより、エラーの原因となったエントリが削除されます。

最後の問題のコマンドがわからない場合は、特定のVMのVirtualMachinesフォルダーのルートにある~~~ .vbox(XML)ファイルを開き、EXTRADATAセクションを確認してください。

これらを変更するには、vboxmanageのコマンドライン呼び出しを実行するのが最善の方法です。 xmlファイルを編集しても、100%固定されません。

3
Alex

受け入れられた回答では、シリアル番号が正しく更新されませんでした。代わりに、次の手順に従ってシリアル番号を正常に更新しました。ゲストOSはmacOS、ホストはWindowsであることに注意してください。

注:このコマンドを保存するには、このコマンドを実行する前にvirtualboxを閉じる必要があります。

  1. 管理者としてWindowsコマンドプロンプトを開きます
  2. cd "C:\Program Files\Oracle\VirtualBox\"
  3. VBoxManage.exe setextradata "VM NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "SERIAL_HERE"ソースを参照 。*
    pcbiosコマンドが機能しなかった理由がわかりませんが、efiは機能しました。

便利なリンク

  • 有効なシリアル番号が見つからない場合は、次の手順に従ってください こちらの説明
  • VMの名前がわからない場合は、VBoxManage.exe list vms
2
josh7weaver

20バイトの16進数文字列を含むシリアル番号を使用してみてください。

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

参照