그래서 외부 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 위키에서 답을 찾았습니다!
구체적인 명령은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"