2.18. 仮想ディスクの UUID を更新できないために、テンプレートのインポートが失敗する (バグ ID 16175655)

これはファイルのアクセス権と所有権の問題であり、VirtualBox ユーザーが root ではない場合にインストールで発生する可能性があります。同じ UUID を持つディスクイメージがすでに存在する場合は、テンプレートのインポート中に仮想ディスクの UUID が変更される必要があります。これは以前に同じテンプレートがインポートされたか、UUID が Oracle VDI で制御されていない別の仮想マシンのディスクに割り当てられているためです。root 以外の VirtualBox ユーザーには、新しい UUID を仮想ディスクイメージファイルに割り当てるための必要なアクセス権がありません。

回避方法は、インポート前にソーステンプレートで仮想ディスクイメージファイルの UUID を手動で変更することです。これを行うには、/usr/bin/VBoxManage コマンド (Oracle Linux プラットフォーム) または /opt/VirtualBox/VBoxManage コマンド (Oracle Solaris プラットフォーム) を使用します。

コマンドの構文は次のとおりです。

VBoxManage storageattach "<VM_name>" --storagectl "<controller_name>" \
--port "<controller_port_no>" --device "<device_no>" --type "hdd" \
--medium "<path_to_disk_image>" --setduuid "<new_disk_image_uuid>"

まず、仮想マシン構成で必要なパラメータを探します。ストレージコントローラ名、および接続されているメディアまたは仮想ディスクのポートおよびデバイス番号が必要です。メディアの種類は「hdd」です。ストレージコントローラ構成セクションには、仮想ディスクのフルパスも表示されます。

次の例では、windows-7-template という名前の仮想マシンに接続されている仮想ディスクの UUID を変更する方法を示します。

VBoxManage showvminfo "windows-7-template" --machinereadable

[...]
storagecontrollername0="IDE Controller"
storagecontrollertype0="PIIX4"
storagecontrollerinstance0="0"
storagecontrollermaxportcount0="2"
storagecontrollerportcount0="2"
storagecontrollerbootable0="on"
storagecontrollername1="SATA Controller" 
storagecontrollertype1="IntelAhci"
storagecontrollerinstance1="0"
storagecontrollermaxportcount1="30"
storagecontrollerportcount1="1"
storagecontrollerbootable1="on"
"IDE Controller-0-0"="none"
"IDE Controller-0-1"="none"
"IDE Controller-1-0"="/usr/share/virtualbox/VBoxGuestAdditions.iso"
"IDE Controller-ImageUUID-1-0"="44d80449-ff62-4d9f-b96f-37bd8f5b50b8"
"IDE Controller-tempeject"="off"
"IDE Controller-IsEjected"="off"
"IDE Controller-1-1"="none"
"SATA Controller-0-0"="/home/vboxuser/VirtualBox VMs/windows-7-template/windows-7-template.vdi"
"SATA Controller-ImageUUID-0-0"="71936354-7f1f-41ac-ba44-92aabd28b72c"
[...]

VBoxManage storageattach "windows-7-template" --storagectl "SATA Controller" \
--port "0" --device "0" --type "hdd" \
--medium "/home/vboxuser/VirtualBox VMs/windows-7-template/windows-7-template.vdi" \
--setduuid "71936354-7f1f-41ac-ba44-92aabd28b740"