VirtualBox ไม่สามารถลงทะเบียนฮาร์ดดิสก์ได้อยู่แล้ว


151

ฉันสร้างไฟล์ดิสก์เสมือนVM_1_Ubuntu.vdi จากนั้นฉันย้ายมันไปยังโฟลเดอร์อื่น ฉันพยายามอัปเดตการตั้งค่า VM (คลิกขวาที่เครื่องเสมือน -> การตั้งค่า -> การจัดเก็บ -> แท็บคอนโทรลเลอร์ SATA เส้นทางVM_1_Ubuntu.vdi ) ฉันต้องการกำหนดเส้นทางใหม่

มีข้อความระบุว่าไม่สามารถลงทะเบียนฮาร์ดดิสก์ได้แล้ว

คำตอบ:


220

ฉันพบวิธีแก้ปัญหา

ไฟล์ -> Virtual Media Manager -> ลบภาพที่มีอยู่ (หมายเหตุฉันลบออกจากรีจิสทรีเท่านั้น)

ฉันทำตามขั้นตอนเหล่านี้

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

หลังจากนั้นฉันสามารถอัปเดตพา ธ ในการตั้งค่า VM


2
หากไดรฟ์ที่เก็บดิสก์ไม่สามารถใช้งานได้แล้วดิสก์ Release (Ctrl + L) แผ่นแรกจาก VM และ Delete (Ctrl + D) มิฉะนั้นก่อนปล่อยดิสก์คุณจะไม่สามารถลบได้ หลังจากนั้นทำตามขั้นตอนในลิงค์ด้านบนหรือเปิด "การตั้งค่า" ของเครื่องเสมือนไปที่ "ที่เก็บ" คลิก "เพิ่มไฟล์แนบ" เลือก "เพิ่มฮาร์ดดิสก์" และ "เลือกดิสก์ที่มีอยู่" จากนั้นเลือกไฟล์ vdi แล้ว เสร็จสิ้น.
Syed Nasir Abbas

1
คุณต้องลบสแนปชอตทั้งหมดเพื่อให้ปุ่มลบไม่เป็นสีเทา
Rishi

150

เป็นไปได้ที่จะเปลี่ยน UUID ในไฟล์ VDI โดยใช้คำสั่ง:

 VBoxManage internalcommands sethduuid <file.vdi>

ดูเหมือนว่าคำสั่งนี้จะกำหนด UUID "สุ่ม" ใหม่ให้กับไฟล์ ไม่มีเอกสารมากเกี่ยวกับมันแม้ว่า


2
สมบูรณ์แบบสำหรับความต้องการของฉัน (การปรับขนาดฮาร์ดไดรฟ์เสมือนไม่ทำงานโดยไม่ย้าย)
shiri

3
VBoxManage เป็น exe ที่ฉันอยู่ใน "C: \ Program Files \ Oracle \ VirtualBox" ดังนั้นเพียงแค่เรียกใช้จากหน้าต่าง cmd
ไจล์ส

1
นี่เป็นทางออกที่ดีที่สุดเมื่อคุณมีอิมเมจระบบปฏิบัติการพื้นฐานและต้องการให้ copes ติดตั้งหลายแอพในสำเนาของฐานโดยไม่ต้องเปลี่ยนฐานเอง
Jersey_Guy

ช่วยฉันปรับขนาดไดรฟ์
Zumteufel

โซลูชันนี้ยังแก้ไขสถานการณ์ที่ฉันได้คัดลอก VM ไปยังตำแหน่งอื่นเอาต้นฉบับออกจาก VirtualBox และพยายามกระชับดิสก์ คำสั่ง: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi - ขนาดกะทัดรัดข้อผิดพลาด: VBoxManage: ข้อผิดพลาด: ไม่สามารถลงทะเบียนฮาร์ดดิสก์ '/ Users / c / VirtualBox VMs / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} เพราะฮาร์ดดิสก์ '/ ไดรฟ์ข้อมูล / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' กับ UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} อยู่แล้ว
EmpathicSage

27
  1. เลือกไฟล์จาก Oracle VM VirtualBox Manager
  2. ผู้จัดการสื่อเสมือน
  3. ลบไฟล์ (เน้นสีเหลือง) จากแท็บฮาร์ดดิสก์

7

หากไม่มีความเป็นไปได้ที่จะลบหรือเปลี่ยนเส้นทางไปยังไฟล์ฮาร์ดดิสก์โดยใช้ Virtual Media Manager (ในกรณีของฉัน) จากนั้น:

  1. เปิดไฟล์ ' .vbox' และ ' .vbox-prev' (หากมี) ในตัวแก้ไขข้อความใด ๆ
  2. แก้ไขแอตทริบิวต์ 'location' ขององค์ประกอบ 'HardDisk' ไปยังเส้นทางของคุณเช่น: "d: /VM/VirtualBox/Win10/Win10.Vmdk" ( ภาพหน้าจอ )

4

ในบางกรณีคุณต้องรีลีสก่อนจากนั้นจึงลบและเพิ่มใหม่ผ่าน Virtual Media Manager


3

1 - เปิดไฟล์ '.vbox' และ '.vbox-prev' (ถ้ามี) ไฟล์ในตัวแก้ไขข้อความใด ๆ และแทนที่ตัวอักษรตัวแรกของ HardDisk uuid (จดบันทึกเพื่อย้อนการเปลี่ยนแปลงนี้ในขั้นตอนที่ 6)

ตัวอย่าง: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

เปลี่ยนแปลง:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

ถึง:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

2 - รีบูตเครื่อง

4 - หยุดเครื่องเสมือน (ถ้าเริ่ม)

5 - บนเทอร์มินัล:

su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit

เปลี่ยน SIZE สำหรับตัวเลขเป็นเมกะไบต์เช่น 80000 (80GB)

6 - เปิดไฟล์ '.vbox' และไฟล์ '.vbox-prev' อีกครั้ง (ถ้ามี) ในตัวแก้ไขข้อความและแทนที่อักขระตัวแรกของ HardDisk uuid ด้วยค่าเดิม

ตัวอย่าง: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

เปลี่ยนแปลง:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

ถึง:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

7 - รีบูตเครื่อง


3

ฉันขอขอบคุณข้อเสนอแนะที่นี่จริงๆ ความคิดเห็นของ Impaler's และ Oleg ช่วยฉันในการแก้ปัญหาด้วยกัน

ใช้ VBoxManage CLI มีคำสั่ง modifymedium พร้อม--setlocationตัวเลือก

ฉันขอแนะนำให้เปิด VBox GUI (บน VM VirtualBox Manager 6.0)
- เลือก "Virtual Media Manager" (ฉันใช้เมนูไฟล์)
- เลือกปุ่ม "ข้อมูล" สำหรับดิสก์ที่ให้ข้อผิดพลาดนี้กับคุณ
- คัดลอก UUID
หมายเหตุ: ฉันลบ ควบคุมจากการตั้งค่า "การจัดเก็บ" ก่อนขั้นตอนถัดไป
- เปิดพรอมต์คำสั่งของคุณและนำทางไปยังตำแหน่งของไฟล์. vdi
คุณควรพิมพ์ VBoxMange เพื่อดูรายการตัวเลือก แต่นี่เป็นคำสั่งให้เรียกใช้:

VBoxManage modifymedium[ใส่สื่อขนาดกลางที่นี่] [UUID] --setlocation[เส้นทางแบบเต็มไปยังไฟล์. vdi]

ในที่สุดติดตั้งคอนโทรลเลอร์อีกครั้งกับ VM ใด ๆ - โดยเฉพาะอย่างยิ่งสิ่งที่คุณต้องการแก้ไข


0

วิธีแก้ปัญหาที่เหมาะกับฉันมีดังนี้:

  1. ตรวจสอบให้แน่ใจว่า VirtualBox Manager ไม่ทำงาน
  2. สำรองไฟล์ และ~\.VirtualBox\VirtualBox.xml~\.VirtualBox\VirtualBox.xml-prev
  3. แก้ไขไฟล์เหล่านี้ไปปรับเปลี่ยนส่วนที่จะเอารายการที่ซ้ำกันของ<HardDisks>...</HardDisks><HardDisk />
  4. ตอนนี้เรียกใช้ VirtualBox Manager

ตัวอย่าง:

  <HardDisks>
    <HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

หมายเหตุในส่วนข้างต้นที่รายการสองรายการสุดท้ายอ้างถึง VM เดียวกัน แต่มี uuid ที่แตกต่างกัน หนึ่งในนั้นไม่ถูกต้องและควรลบออก สิ่งใดที่ไม่ถูกต้องสามารถพบได้โดยการเข้าชมและทดลองใช้ - ก่อนอื่นให้ลบรายการที่สองแล้วลอง ถ้ามันไม่ทำงานให้ลบรายการที่สาม


0

หลังจากดิ้นรนมาหลายวันในที่สุดก็พบทางออกที่ทำงานได้อย่างสมบูรณ์แบบ

Mac OS เปิดโฟลเดอร์ ~ / Library (ในไดเรกทอรีบ้านของคุณ) และลบโฟลเดอร์ VirtulBox สิ่งนี้จะลบการกำหนดค่าทั้งหมดและคุณสามารถเริ่มกล่องเสมือนได้อีกครั้ง!

คนอื่น ๆ มองหาโฟลเดอร์. virtualbox ในไดเรกทอรีบ้านของคุณ ลบออกและเปิด VirtualBox ควรแก้ปัญหาของคุณ

ไชโย !!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.