既存のハードディスクを使用して、Oracle VirtualBoxで新しい仮想マシンを作成しようとしています。既存のハードディスクファイル、.vhdファイルを選択しようとすると、UUIDが既に存在するため仮想ハードディスクを使用できないというエラーが表示されます。
そこで私はそのUUIDを変更するために次のコマンドを試してみました。
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
このエラーが出ます。
構文エラー:無効なUUIDパラメータ
どうすればこれを解決できますか?
正しいコマンドは次のとおりです。
VBoxManage internalcommands sethduuid "/home/user/VirtualBox VMs/drupal/drupal.vhd"
仮想ディスクのパスにはスペースが含まれているため、2つのパラメータとして解析されないように、二重引用符で囲む必要があります。
以下は私のために働いた:
VBoxManage internalcommands sethduuid "VDI/VMDKファイル"を2回実行します(初めては単に便利にUUIDを生成するためのものです。代わりに他のUUID生成方法を使用することもできます)。
。vboxファイルをテキストエディタでを開く
Machine uuid = "{...}"にあるUUIDを、最初にsethduuidを実行したときに取得したUUIDに置き換えます。
HardDisk uuid = "{...}"およびImage uuid = "{}"(最後に向かって)にあるUUIDを、あなたが手に入れたときに得たUUIDに置き換えます。二度目のsethduuidを走った
あなたは問題を解決したけれども、私はちょうど同様の問題を抱える他の何人かのためにここに理由を掲示する。
その理由は、パス(ディレクトリ名VirtualBox VMs
)にコマンドを区切るスペースがあるためです。だからエラーが表示されます。
私はMAC OSに関する回答をウェブで検索したので、解決策は
cd /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/
VBoxManage internalcommands sethduuid "full/path/to/vdi"
あるマシンから別のマシンにディスク(vmdkファイル)をコピーし、そのコピー内のディスクのUUIDを変更する必要がある場合は、別の回答で示唆されているようにマシンのUUIDを変更する必要はありません。
あなたがする必要があるのは、ディスクイメージに新しいUUIDを割り当てることです。
VBoxManage internalcommands sethduuid your-box-disk2.vmdk
UUID changed to: 5d34479f-5597-4b78-a1fa-94e200d16bbb
次に、*。vboxファイルの2か所で古いUUIDを新しく生成したものと置き換えます。
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}" location="box-disk2.vmdk" format="VMDK" type="Normal"/>
</HardDisks>
とで
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}"/>
</AttachedDevice>
それはVirtualBox verのために私のために働いた。 5.1.8がMac OS X El Capitanで動作している。
コマンドは、フォルダ名の1つ、つまり 'VirtualBox VM'にスペースがあるため失敗します。
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
フォルダ名またはファイル名にスペースがない場合は、引用符を付けなくてもコマンドは機能します。 VirtualBox VMをVBoxVMに変更した後
VBoxManage internalcommands sethduuid /home/user/VBoxVMs/drupal/drupal.vhd
この質問は古いものですが、Windowsシステムの仮想HDD上のUUIDを変更すると、Windowsはそれを非アクティブマシンとして扱い(ディスクの変更に気付くので)、再アクティブ化を要求します。
cmd.exe
内の、Windows x64用の@ Al3xと同じソリューション。
cd %programfiles%\Oracle\VirtualBox
VBoxManage internalcommands sethduuid "full/path/to/.vdi"
これはディスクのUUIDをランダム化します。ヒント:Shiftキーを押しながら.vdiファイルを右クリックし、「パスとしてコピー」を選択して"full/path/to/.vdi"
を取得し、cmd.exeでクイック編集を有効にしてから、右クリックして貼り付けます。
オリジナルの解決策に代わるもう1つの方法は、スペースの前にエスケープ文字\
を使用することです。
VBoxManage internalcommands sethduuid /home/user/VirtualBox\ VMs/drupal/drupal.vhd