
したがって、外部SATAアダプタとVirtualBox Windows 10仮想マシンがあります。仮想マシンがアクセスできるようにするハードドライブを定期的に交換して交換します。これで問題なくvmdkを作成できますVBoxManage internalcommands createrawvmdk -filename VMShare/external.vmdk -rawdisk /dev/$part
。
external.vmdk
今、私は賢明に新しいハードドライブを交換または交換するときにすべてのインスタンスを交換するスクリプトを書くと思います。 VirtualBoxはそれが好きではなく、{#}
メディアのUUIDがメディアレジストリ()に格納されている値と一致しないことを報告します~/VMShare/external.vmdk
。{#}
~/.config/VirtualBox/VirtualBox.xml
UUIDと一致するようにxmlファイルを変更しようとしましたが、成功しませんでした。また、ポイントを消去してvmdkを再ロードしようとしましたが、VBoxManage storageattach Windows --storagectl "SATA" --port 1 --device 0 --type hdd --medium none
同じエラーが発生しました。何とか何かを更新する必要があるようですが、次にどの設定をクリックするのかわかりません。どんなアイデアがありますか?
答え1
Arch Wikiで答えを見つけました!
具体的なコマンドはVBoxManage closemedium disk VMShare/external.vmdk
完全なコード:
# remove old vmdk
echo "Removing old"
eval "VBoxManage storageattach Windows --storagectl "SATA" --port 1 --device 0 --type hdd --medium none"
eval "VBoxManage closemedium disk VMShare/external.vmdk"
eval "rm VMShare/external.vmdk"
# create new vmdk and add it
echo "Creating new"
eval "VBoxManage internalcommands createrawvmdk -filename VMShare/external.vmdk -rawdisk /dev/$part"
eval "VBoxManage storageattach Windows --storagectl "SATA" --port 1 --device 0 --type hdd --medium VMShare/external.vmdk"