Заменить .vmdk для VirtualBox в bash?

Поэтому у меня есть внешний адаптер SATA и виртуальная виртуальная машина VirtualBox Windows 10. Я регулярно меняю и удаляю hdds, что я хочу, чтобы виртуальная машина могла получить доступ. Теперь я могу создать vmdk без проблем с VBoxManage internalcommands createrawvmdk -filename VMShare/external.vmdk -rawdisk /dev/$part .

Теперь я подумал, что буду умным и напишу сценарий, который просто заменяет каждый экземпляр external.vmdk когда я заменяю новый hdd. VirtualBox это не нравится, и сообщает, что UUID {#} среды ~/VMShare/external.vmdk не соответствует значению {#} хранящемуся в реестре носителей ( ~/.config/VirtualBox/VirtualBox.xml ).

Теперь я попытался испортить файлы xml, чтобы соответствовать UUID, но не повезло. Я также попробовал VBoxManage storageattach Windows --storagectl "SATA" --port 1 --device 0 --type hdd --medium none чтобы стереть это пятно, а затем перезагрузить vmdk, но я получаю ту же ошибку. Я подозреваю, что мне нужно что-то кое-что обновить, но я действительно не знаю, какой настрой мне нужно нажать дальше. Есть предположения?

Найден ответ в вики Arch!

Конкретной командой был 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"