VirtualBox Không thể đăng ký đĩa cứng đã tồn tại


151

Tôi đã tạo một tệp đĩa ảo VM_1_Ub Ubuntu.vdi . Sau đó, tôi chuyển nó vào một thư mục khác. Tôi đã cố cập nhật cài đặt VM (nhấp chuột phải vào máy ảo -> cài đặt -> Lưu trữ -> tab Bộ điều khiển SATA, đường dẫn VM_1_Ub Ubuntu.vdi ). Tôi muốn thiết lập một con đường mới.

Nó nói không thể đăng ký đĩa cứng đã tồn tại

Câu trả lời:


220

Tôi tìm thấy một giải pháp

Tệp -> Trình quản lý phương tiện ảo -> Đã xóa hình ảnh hiện tại (lưu ý, tôi chỉ xóa chúng khỏi sổ đăng ký).

Tôi làm theo các bước này.

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

Sau đó tôi có thể cập nhật đường dẫn trong cài đặt VM.


2
Nếu ổ đĩa nơi đĩa được lưu trữ không có sẵn thì trước tiên hãy phát hành đĩa (Ctrl + L) từ VM và Xóa (Ctrl + D). Nếu không, trước khi phát hành đĩa, bạn sẽ không thể xóa. Sau đó, làm theo các bước trong liên kết ở trên hoặc Mở "Cài đặt" của Máy ảo, đi đến "Lưu trữ", nhấp vào "Thêm tệp đính kèm", chọn "Thêm đĩa cứng" và "Chọn đĩa hiện có", sau đó chọn tệp vdi và bạn xong rồi
Syed Nasir Abbas

1
bạn phải xóa tất cả các ảnh chụp nhanh để nút xóa không bị mờ đi.
Rishi

150

Có thể thay đổi UUID trên tệp VDI bằng lệnh:

 VBoxManage internalcommands sethduuid <file.vdi>

Có vẻ như lệnh này gán một UUID "ngẫu nhiên" mới cho tệp. Không có nhiều tài liệu về nó, mặc dù.


2
Hoàn hảo cho nhu cầu của tôi (thay đổi kích thước ổ cứng ảo không hoạt động mà không di chuyển nó).
shiri

3
VBoxManage là một exe mà đối với tôi là trong "C: \ Program Files \ Oracle \ VirtualBox", vì vậy chỉ cần chạy từ cửa sổ cmd.
Giles

1
Đây là giải pháp lý tưởng khi bạn có một hình ảnh HĐH cơ sở và muốn tạo một bản sao để cài đặt nhiều ứng dụng trên các bản sao của cơ sở mà không phải thay đổi chính cơ sở.
Jersey_Guy

Đã giúp tôi thay đổi kích thước một ổ đĩa
Zumteufel

Giải pháp này cũng giải quyết tình huống tôi đã sao chép VM sang một vị trí khác, xóa bản gốc khỏi VirtualBox và đang cố gắng nén đĩa. Lệnh: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact Lỗi: VBoxManage: error: Không thể đăng ký đĩa cứng '/ Users / c / VirtualBox VMs / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} vì một đĩa cứng '/ Volumes / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' với UUID {a510ee0d-2cef-47db-b25f-acae9e341d45} đã tồn tại
Zahnon

27
  1. Chọn tệp từ Oracle VM VirtualBox Manager
  2. Quản lý phương tiện ảo
  3. Xóa tệp (tô sáng màu vàng) khỏi tab Đĩa cứng.

7

Nếu không có khả năng xóa hoặc thay đổi đường dẫn đến tệp đĩa cứng bằng Virtual Media Manager (trong trường hợp của tôi) thì:

  1. Mở các tệp ' .vbox' và ' .vbox-trước' (nếu tồn tại) trong bất kỳ trình soạn thảo văn bản nào.
  2. Chỉnh sửa thuộc tính 'location' của phần tử 'HardDisk' theo đường dẫn của bạn, ví dụ: "d: /VM/VirtualBox/Win10/Win10.vmdk" ( ảnh chụp màn hình ).

4

Trong một số trường hợp, trước tiên bạn cần phát hành, sau đó Xóa và thêm lại thông qua Trình quản lý phương tiện ảo


3

1 - Mở tệp '.vbox' và '.vbox-trước' (nếu tồn tại) trong bất kỳ trình soạn thảo văn bản nào và thay thế ký tự đầu tiên của HardDisk uuid (lưu ý để hoàn nguyên thay đổi này ở bước 6)

Thí dụ: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Thay đổi:

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

Đến:

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

2 - Khởi động lại máy

4 - Dừng máy ảo (nếu bắt đầu)

5 - Trên thiết bị đầu cuối:

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

thay đổi KÍCH THƯỚC cho một số tính bằng Megabyte, ví dụ 80000 (80 GB)

6 - Mở lại các tệp '.vbox' và '.vbox-trước' (nếu tồn tại) trong bất kỳ trình soạn thảo văn bản nào và thay thế ký tự đầu tiên của HardDisk uuid với giá trị ban đầu

Thí dụ: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Thay đổi:

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

Đến:

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

7 - Khởi động lại máy


3

Tôi thực sự đánh giá cao những gợi ý ở đây. Ý kiến ​​của Impaler's và Oleg đã giúp tôi ghép giải pháp của mình lại với nhau.

Sử dụng CLI VBoxManage. Có một lệnh modifymedium với một--setlocation tùy chọn.

Tôi khuyên bạn nên mở GUI VBox (trên VM VirtualBox Manager 6.0)
- chọn "Virtual Media Manager" (Tôi đã sử dụng menu Tệp)
- chọn nút "Thông tin" cho đĩa mang lại cho bạn lỗi này
- sao chép UUID
Lưu ý: Tôi đã xóa bộ điều khiển từ cài đặt "Storage" trước bước tiếp theo.
- mở dấu nhắc lệnh của bạn và điều hướng đến vị trí của tệp
.vdi Bạn nên nhập VBoxMange để xem danh sách các tùy chọn, nhưng đây là lệnh để chạy:

VBoxManage modifymedium[chèn loại phương tiện ở đây] [UUID] --setlocation[đường dẫn đầy đủ đến tệp .vdi]

Cuối cùng, gắn lại bộ điều khiển cho bất kỳ VM nào - tốt nhất là bộ điều khiển bạn muốn sửa.


0

Giải pháp hiệu quả với tôi như sau:

  1. Đảm bảo VirtualBox Manager không chạy.
  2. Sao lưu các tập tin ~\.VirtualBox\VirtualBox.xml~\.VirtualBox\VirtualBox.xml-prev.
  3. Chỉnh sửa các tệp này để sửa đổi <HardDisks>...</HardDisks>phần để loại bỏ mục trùng lặp <HardDisk />.
  4. Bây giờ hãy chạy VirtualBox Manager.

Thí dụ:

  <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>

Lưu ý trong đoạn trên rằng hai mục cuối cùng đề cập đến cùng một VM nhưng có các uuid khác nhau. Một trong số đó là không hợp lệ và cần được loại bỏ. Cái nào không hợp lệ có thể được tìm ra bằng cách nhấn và dùng thử - trước tiên hãy xóa mục thứ hai và thử; nếu nó không hoạt động, loại bỏ mục thứ ba.


0

Sau nhiều ngày vật lộn cuối cùng cũng tìm được một giải pháp hoạt động hoàn hảo.

Mac OS mở thư mục ~ / Library (trong thư mục chính của bạn) và xóa thư mục VirtulBox. Điều này sẽ loại bỏ tất cả các cấu hình và bạn có thể bắt đầu lại hộp ảo!

Những người khác tìm thư mục .virtualbox trong thư mục nhà của bạn. Xóa nó và mở VirtualBox sẽ giải quyết vấn đề của bạn.

Chúc mừng !!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.