บทช่วยสอนนี้มีคำแนะนำในการแก้ไขข้อผิดพลาดต่อไปนี้เมื่อพยายามเพิ่ม Virtual Hard Drive ที่มีอยู่ใน VirtualBox: "Failed to open the hard disk file <VirtualHardDiskFilename.vdi>, because a hard disk with the same UUID already exists"
ข้อผิดพลาด "Failed to open the disk Image File – Cannot Register Hard Disk" ใน VirtualBox เกิดขึ้นเพราะ VM Disk Image File ที่คุณพยายามเปิดมี UUID เหมือนกับ Virtual Disk Image file อีกตัวหนึ่ง ในกรณีนี้ VirtualBox ไม่สามารถลงทะเบียนไฟล์ Disk Image (VDI, VHD, VMDK ฯลฯ) และแสดงข้อผิดพลาดดังนี้:

"Cannot register the hard disk 'C:\Users\%Username%\VirtualBox VMs\%VirtualDiskName1%.vdi' {%Virtual-Disk-UUID%} because a hard disk 'C:\Users\%Username%\VirtualBox VMs\VirtualDiskName2%.vdi' with UUID {%Virtual-Disk-UUID%} already exists.
Result Code:
E_INVALIDARG (0x80070057)
Component:
VirtualBox
Interface:
IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Callee RC:
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)"
วิธีแก้ไขข้อผิดพลาด VirtualBox: Failed to open virtual hard disk file (.VDI) because hard disk already exists
วิธีที่ 1: ลบ Virtual Disk file ที่หายไปจาก VirtualBox
วิธีที่ 2: Clone Disk Image ด้วย Virtual Media Manager
วิธีที่ 3: เปลี่ยน UUID ของ Virtual Disk
วิธีที่ 1: ลบ Virtual Disks ที่หายไปจาก VirtualBox
ข้อผิดพลาดข้างต้นอาจเกิดขึ้นหากคุณย้าย Virtual Hard Disk ไปยังตำแหน่งอื่น (เช่น Volume อื่น) แล้วพยายามเพิ่ม Virtual Hard Disk กลับ (จากตำแหน่งใหม่) ให้กับ Virtual Machine ใหม่หรือที่มีอยู่ โดยไม่ได้ลบ Disk ที่หายไปออกจาก VirtualBox ก่อนหน้านี้ ในกรณีนี้ คุณต้อง Release ไฟล์ Virtual Disk ที่หายไปโดยใช้ VirtualBox Media Manager วิธีการดังนี้:
1. จากเมนู File ของ VirtualBox ให้เปิด Virtual Media Manager

2. Highlight Virtual Disk ที่หายไป (ตัวที่มีเครื่องหมาย Error)* และคลิก Release (เมื่อถาม ให้กดปุ่ม Release เพื่อปล่อยฮาร์ดดิสก์ที่หายไป)
* หมายเหตุ: หากไม่เห็น Disk ที่หายไปที่นี่ ให้ไปที่วิธีที่ 2

3. จากนั้นคลิก Remove (แล้วกดปุ่ม Remove) เพื่อลบ Virtual Hard Disk ที่หายไป

4. ปิด Virtual Media Manager
5. Highlight VM ที่ต้องการเพิ่ม Virtual Hard Drive file (.VDI) และคลิก Settings

6. เลือก Storage ที่แผงซ้าย แล้วคลิกไอคอน 'Add hard disk' ด้านขวา

7. คลิก Choose existing disk

8. เลือกไฟล์ Virtual Hard Disk ที่ต้องการเพิ่ม และคลิก Open

9. คลิก OK เพื่อปิด Virtual Machine settings

10. Start Virtual Machine
วิธีที่ 2: Clone Virtual Disk ด้วย Virtual Media Manager
เพื่อหลีกเลี่ยงข้อผิดพลาด "Failed to open the disk Image File, Cannot Register the Hard Disk" วิธีที่ดีคือ Clone Virtual Disk image files (VDI, VHD ฯลฯ) โดยใช้ VirtualBox Media Manager* แทนที่จะใช้ Copy/Paste ของ Host OS วิธีการดังนี้:
* หมายเหตุ: วิธีที่ถูกต้องในการ Clone Virtual Hard Disk image file (VDI, VHD, VMDK ฯลฯ) ที่มีอยู่ คือการใช้ฟังก์ชัน Copy ใน VirtualBox Media Manager
1. จากเมนู File ของ VirtualBox เลือก Virtual Media Manager

2. เลือก Virtual Hard Disk ที่ต้องการ Clone และคลิก Copy

3. ที่หน้าจอถัดไป เลือก "Disk Image File Type" & "Size" (หรือใช้ค่าเริ่มต้น) และตั้งชื่อสำหรับ Disk Image ใหม่
4. เมื่อเสร็จแล้ว คลิก Copy และรอจนกว่าการสร้าง Disk Image ใหม่จะเสร็จสิ้น

5. เมื่อ Copy เสร็จ ให้ใช้ Disk Image ที่ Copy มา สร้าง Virtual Machine ใหม่ใน VirtualBox
วิธีที่ 3: เปลี่ยน UUID ของ Virtual Disk
วิธีสุดท้ายในการแก้ไขปัญหา "Cannot Register Virtual Hard Disk" คือการ Reset UUID ของไฟล์ Virtual Disk (VDI) ที่กล่าวถึงในข้อผิดพลาดของ VirtualBox วิธีการดังนี้:
1. ปิด แอปพลิเคชัน VirtualBox
2. เปิด Command Prompt as Administrator วิธีการ:
a. ในกล่องค้นหา พิมพ์: cmd (หรือ command prompt)
b. คลิกขวาที่ command prompt (ผลลัพธ์) และเลือก Run as Administrator

3. Copy & Paste คำสั่งต่อไปนี้ใน Command Prompt และกด Enter:
- cd C:\Program Files\Oracle\VirtualBox

4. ตอนนี้พิมพ์คำสั่งต่อไปนี้และกด Enter: *
- vboxmanage internalcommands sethduuid "%Full_Path_To_VHD_File%"
* หมายเหตุ: ในคำสั่งข้างต้น ให้เปลี่ยนค่า %Full_Path_To_VHD_File% ตามกรณีของคุณ ตัวอย่าง: หากต้องการ Reset UUID ของไฟล์ Virtual Disk Image "Windows7.vdi" ที่อยู่ที่โฟลเดอร์ "C:\Users\Admin\VirtualBox VMs\Windows7VM" คำสั่งควรเป็น:
- vboxmanage internalcommands sethduuid "C:\Users\Admin\VirtualBox VMs\Windows7VM\Windows7.vdi"

5. หากทุกอย่าง顺利 คุณจะได้รับแจ้งว่า UUID เปลี่ยนแล้ว

6. ปิด Command Prompt และตอนนี้ลองแนบ Virtual Hard Disk ให้กับ Virtual Machine ใหม่
ขอบคุณครับ! ทำงานได้ไหม?
โปรดทิ้งความคิดเห็นในส่วนความคิดเห็นด้านล่าง หรือดีกว่านั้น: กดไลก์และแชร์บทความนี้ในโซเชียลเน็ตเวิร์กเพื่อช่วยเผยแพร่โซลูชันนี้