[VM] เปลี่ยนเลข UUID ของ Virtual Disk ใน Virtual Box

พอดีมีงานทีต้องทำแบบฉุกเฉิน เนื่องจากน้องที่รับงานนี้อยู่ติดปัญหาจากความไม่เข้าใจในคำสั่งที่ใช้จัดการ Database ครับ ปล่อยปัญหาไปครับ ตอนนี้สิ่งที่ผมต้องรับมาแก้ไข หรือหา VM ที่ใกล้เคียงที่สุดมาขึ้น แต่ Copy VM มาขึ้นครับ ปรากฏว่า

“Failed to open the hard disk <<PATH TO FILE>>.

Cannot register the hard disk ‘<<PATH TO FILE>>’ {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} because a hard disk ‘<<PATH TO FILE>>’ with UUID {ca2bdc6a-a487-4e57-9fcd-509d0c31d86d} already exists.

Result Code:
E_INVALIDARG (0x80070057)

Component:
VirtualBox

Interface:
IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}

Callee RC:
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)”

สาเหตุมันเกิดจากค่า UUID นั้น ซ้ำครับ เพราะมันเคยขึ้น Disk ของ VM นี้แล้วครับ โดย UUID มันเป็น ID ที่ใช้สำหรับใน Virtual Box โดยกำหนดไม่ให้ Virtual Disk  ซ้ำกันครับ โดยสำหรับการแก้ไขง่ายๆครับ กรณีที่ UUID ซ้ำ คือ การ Generate UUID ใหม่ครับ

กำหนด uuid

  • คำสั่งที่ใช้ คือ vboxmanage internalcommands sethduuid "<<path to virutal disk>>"

Windows

  • สำหรับ vboxmange อยู่ใน Path ที่ติดตั้ง Virtual Box ครับ อย่างของผมเป็น D:\Program Files\Oracle\VirtualBox  (ปกติค่า Default ลงที่ Drive C ครับ แต่ของผม SSD พื้นที่น้อยครับ)
  • ตัวอย่างการใช้งานครับ
cd D:\Program Files\Oracle\VirtualBox 
vboxmanage internalcommands sethduuid "G:\Win10WinServ\Win10WinServ.vdi"

Linux

  • สำหรับ Linux คำสั่งคล้ายกับ Windows ครับ ใช้ตัว vboxmange  เข้ามาจัดการ และใช้วิธีการอ้างอิงไฟล์แบบของ Linux ครับ
vboxmanage internalcommands sethduuid "/home/ubuntu/VM/2021WIN10UI/2021WIN10.vdi"

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.