Câu hỏi Làm thế nào để di chuyển các tập tin VirtualBox?


Theo mặc định VirtualBox lưu trữ tất cả dữ liệu trong một thư mục bên dưới thư mục chính. Tôi biết làm thế nào để thay đổi nó nhưng làm thế nào tôi có thể thay đổi vị trí của hình ảnh hiện tại (mà không cần chỉnh sửa VirtualBox.xml theo cách thủ công)?

Tôi đang làm việc trên Windows và không muốn thử sử dụng bất kỳ liên kết NTFS nào.


149
2018-03-11 10:53


gốc


Awww, tôi sẽ đề xuất các liên kết tượng trưng (họ giải quyết mọi thứ), nhưng bạn đã chặn ý tưởng đó ... :( - DMA57361
Tôi không tin tưởng các liên kết trên Windows. Trong khi NTFS có khả năng của nó, Windows XP không biết gì về nó và có đủ vấn đề với nó rồi. Tôi có thể là kẻ hèn nhát không cần thiết ... - maaartinus
Ah, vâng, tôi sẽ không chạm vào chúng trên XP. Nhưng hỗ trợ trên 7 là khá vững chắc - bạn vẫn phải xây dựng chúng từ dòng cmd, nhưng đó không thực sự là một việc vặt. Tôi không chắc về Vista ... - DMA57361
Nó thậm chí tệ hơn, Phiên bản XP của NTFS không hỗ trợ các liên kết cứng, nhưng chúng không thể tăng âm lượng. Rõ ràng, tôi muốn di chuyển dữ liệu đến một phân vùng khác. - maaartinus
Liên kết cứng không thể không bao giờ span khối lượng, chỉ có các liên kết có thể (và có thể được sử dụng cho loại điều này, thư mục người dùng của tôi là tất cả symlinked vào ổ cứng thứ hai của tôi, ví dụ). Nhưng, cá nhân tôi vẫn muốn tránh các liên kết cứng trong XP (ngay cả khi chúng là một lựa chọn). - DMA57361


Các câu trả lời:


Nếu bạn muốn MOVE tất cả máy ảo của mình đến một vị trí hoàn toàn mới, bạn chỉ cần thực hiện theo 2 câu trả lời sau:

Sao chép bài đăng tại đây:

  1. Tắt VirtualBox, sao lưu tệp .VirtualBox \ VirtualBox.xml của bạn.
  2. Tìm thư mục "Virtualbox VMs" hiện có của bạn và sao chép (không di chuyển) toàn bộ thư mục có nội dung sang ổ đĩa mới của bạn E:
  3. Chạy VirtualBox, sau đó cho mỗi VM lần lượt:

    3.1 Nhấp chuột phải vào tên máy ảo và chọn "Xóa" từ trình đơn bật lên. Trả lời không cho "tệp xóa vật lý?" câu hỏi.

    3.1b sau khi gỡ bỏ một VM từ giao diện người dùng, bạn phải đóng VirtualBox, và   để nó đóng lại đủ lâu để tác vụ VBoxSVC nền   hết thời gian và chấm dứt. Sau đó, bạn có thể khởi động ứng dụng VirtualBox   một lần nữa và sử dụng Máy | Thêm để thêm lại các máy ảo đã xóa trong phần trước   bậc thang.

    3.2 Chọn mục menu Machine | Add .., điều hướng đến vị trí mới của máy ảo trên ổ E :, và chọn tập tin .vbox.

    3.3. Lặp lại cho mọi máy ảo còn lại.

  4. Trong File | Preferences, đặt đường dẫn máy mặc định thành "E: \ VirtualBox VM"
  5. Kiểm tra từng máy ảo. Chỉ sau khi bạn chắc chắn tất cả đều hoạt động, hãy xóa thư mục chứa VM cũ, nghĩa là xóa "C: \ VirtualBox VMs".

126
2018-03-13 21:48



Khi tôi làm điều này cho máy clone liên kết, họ không bắt đầu - Nam G VU
Điều này làm việc cho tôi, mặc dù tôi cũng cần cập nhật các đường dẫn đến từng HardDisk và ảnh chụp bằng cách chỉnh sửa .VirtualBox\VirtualBox.xml và tìm kiếm / thay thế. Ngoài ra, tôi chỉ chuyển Machines và HardDisk thư mục, không phải tất cả các tệp có trong .VirtualBox, vì đó là tất cả cấu hình và ghi nhật ký toàn cục và như vậy. - Dave Andersen
Đối với người dùng Mac OS X, VirtualBox.xml được đặt tại ~/Library/VirtualBox/VirtualBox.xml. Các máy ảo được đặt tại ~/VirtualBox VMs. - Siu Ching Pong -Asuka Kenji-
Virtual Box 4.3.0+ đã giải quyết "Điều quan trọng cuối cùng", tôi thậm chí không cần phải đóng nó - hướng dẫn. - PCaetano
Có lẽ bạn cũng có thể thêm dòng lệnh "phiên bản". 1) Liệt kê các máy ảo hiện có qua VBoxManage list vms. 2) Bên cạnh tên của các máy ảo, bên trong dấu ngoặc nhọn, UUID của chúng được tham chiếu. Sao chép một sở thích. Thông tin chi tiết về nó, có thể được lấy thông qua VBoxManage showvminfo UUID. 3) Hủy đăng ký VM quan tâm qua VBoxManage unregistervm UUID. 4) Di chuyển thư mục VM quan tâm. 5) Cuối cùng, đăng ký máy qua VBoxManage register NameOfVM.vbox - rõ ràng, nơi NameOfVM có nghĩa là tên thực tế của các máy ảo .vbox tệp được đăng ký. - Nikos Alexandris


Tôi chỉ có một vài máy ảo, và tôi thấy rằng tôi chỉ có thể thay đổi vị trí lưu trữ mặc định cho VirtualBox và sau đó sao chép máy ảo của tôi. Các bản sao được tạo ở vị trí mới trên HD mới nơi tôi muốn chúng. Tất cả mọi thứ còn nguyên vẹn, ảnh chụp nhanh và không cần phải remap vị trí của các HD ảo.


57
2018-06-22 11:15



1 Tôi nghĩ đây là phương pháp tốt nhất. VirtualBox di chuyển mọi thứ cho bạn trong một gói nhỏ gọn gàng. - Dave Andersen
đây là cách tốt nhất, không cần chỉnh sửa cfg thủ công - Bojan Bjelic
Làm thế nào để bạn làm điều này??? - FlipFloop
Điều này thực sự nên là câu trả lời được chấp nhận - theV0ID
Bạn có thể đăng một danh sách các bước theo sau không? - sancho.s


Phương pháp đơn giản nhất không yêu cầu loại bỏ các máy ảo của bạn và nhét các thiết lập của chúng lên.

  1. Sao chép thư mục Virtualbox VMs của bạn vào một ổ đĩa mới.

  2. Chạy Trình quản lý máy ảo. Chạy Trình quản lý phương tiện Tệp -> Trình quản lý phương tiện ảo

    2a. Chọn máy ảo để di chuyển bộ nhớ. Nhấn vào Giải phóng và sau đó là nút Tẩy nút. Trên hộp thoại tiếp theo, bạn có thể xóa hoặc giữ ổ đĩa ảo. Đóng trình quản lý để lại bạn trong Trình quản lý máy ảo của bạn.

  3. Chọn máy ảo bạn vừa xóa phương tiện, nhấp vào Cài đặt , Nhấp vào nút Lưu trữ phần. Thêm một bộ điều khiển cho các phương tiện truyền thông (SATA thường) và sau đó thêm một ổ đĩa cứng và chọn đĩa hiện có và chọn VD tại vị trí mới của bạn.

  4. Lặp lại cho mỗi máy bạn đang di chuyển

Tắt máy ảo của bạn tại vị trí mới để kiểm tra. Lần tới khi bạn truy cập Trình quản lý phương tiện ảo, di chuột qua mục nhập VM sẽ cho bạn biết nơi lưu trữ VD.

Hãy chắc chắn rằng bạn thay đổi thư mục ảnh chụp nhanh của bạn để trỏ đến ổ đĩa mới nếu bạn đang sử dụng chúng. Mỗi máy có cài đặt thư mục ảnh chụp nhanh và Trình quản lý VM có Thư mục máy mặc định thiết lập trong Tệp -> Cài đặt cũng cần được thay đổi.

Ngoài ra, tôi cũng phải sửa đổi đường dẫn trong tệp xml. Sau đó nó hoạt động hoàn hảo.

CHÚ THÍCH: Mọi thứ đã thay đổi một chút kể từ khi nó được viết, xem câu trả lời của Rob. Nó cực kỳ đơn giản bây giờ.


36
2018-06-10 04:52



tôi nghĩ rằng đây là cách dễ nhất để làm điều này. - Peter Perháč


Trên máy Mac, chỉnh sửa đường dẫn trong tệp này:

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

Điều đó thật dễ dàng, mau!


13
2018-02-05 22:41



Anh ấy đang sử dụng Windows và anh ấy cũng không muốn chỉnh sửa VirtualBox.xml. - ChrisN
Điều này là hữu ích cho tôi, mặc dù, vì câu hỏi này vẫn còn googlable nếu bạn đang trên mac. - NReilingh
Tôi là một người sử dụng mac và google hạ cánh tôi ở đây và giải pháp này là đơn giản nhất của tất cả, làm cho cảm giác hoàn hảo và làm việc cho tôi :) - Mohit Singh
Tôi đang trên Linux, và thích âm thanh của câu trả lời này, nhưng tôi đã được đưa ra bởi các cảnh báo ở trên cùng của tập tin. Bạn vẫn muốn khuyên bạn nên chỉnh sửa trực tiếp XML? Cảnh báo nói: ** KHÔNG CHỈNH SỬA TẬP TIN NÀY. Nếu bạn thực hiện thay đổi đối với tệp này trong khi bất kỳ ứng dụng nào liên quan đến VirtualBox đang chạy, các thay đổi của bạn sẽ bị ghi đè sau, mà không có hiệu lực. Sử dụng VBoxManage hoặc VirtualBox Manager GUI để thực hiện thay đổi. ** - craq


MUCH, MUCH đơn giản hơn. 1) di chuyển đến vị trí mới 2) Nhấp chuột phải xóa khỏi menu hộp thư ảo 3) Chọn 'thêm' từ menu máy 4) Tìm biểu tượng 8kb Blue có loại 'định nghĩa máy ảo'. Chọn nó và nó sẽ thêm vào danh sách hộp thư của bạn. bấm đúp vào máy ảo và nó hoạt động.


12
2017-07-21 22:18



Thậm chí đơn giản hơn là khi bạn muốn thêm các máy ảo trở lại VirtualBox, chỉ cần nhấp vào *.vbox trong thư mục của nó. - Joel Mellon
Mọi thứ thay đổi như thế nào trong ba năm ... Ước gì đã trở lại dễ dàng như vậy. Thêm ghi chú vào câu trả lời của tôi để họ đến xem cái này. - Fiasco Labs
Điều này thực sự nên cao hơn. Tôi nghịch ngợm và không thể làm cho nó hoạt động được. Đơn giản chỉ cần loại bỏ những "không thể tiếp cận" trong giao diện người dùng và sau đó nhấp đúp vào tập tin .vbox lại thêm nó bằng cách sử dụng vị trí mới. - wenbert
Không hoạt động trên máy chủ Linux. Nhận được lỗi này: Phiên VM đã bị đóng trước khi bất kỳ nỗ lực nào để bật nguồn. Mã kết quả: NS_ERROR_FAILURE (0x80004005) Thành phần: Giao diện SessionMachine: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7} - Max N


Sau khi lãng phí cả ngày về vấn đề này (sử dụng Virtualbox 5.0.12 trên Arch Linux), cuối cùng tôi đã giải quyết nó theo cách mà câu trả lời của thomthom gợi ý. Đối với những người không chắc chắn về thủ tục chính xác, lệnh mà nhân bản toàn bộ máy (bao gồm cả ảnh chụp nhanh) là:

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>

Lấy tên máy ảo với

VBoxManage list vms

Nếu cần thiết, báo giá đường dẫn và tên.

Cuối cùng, kiểm tra xem tất cả là tốt và loại bỏ bản gốc.

Đó là tất cả, thực sự. Không cần phải bận tâm với các tập tin xml hoặc một trình soạn thảo hex. Không cần sử dụng GUI.

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm


9
2018-01-11 15:33



Đây là câu trả lời duy nhất có hiệu quả với tôi. Nên cao hơn. - Max N
VM_to_clone là UUID hoặc tên của VM. Với lệnh đã cho (sử dụng UUID), một thư mục được tạo tại /new/path/_<UUID>_ Clonevà các tệp chứa cũng được sử dụng _<UUID>_ Clone như tên. Để rõ ràng có tên đẹp hơn, hãy sử dụng --name "Your preferred name here" cờ. - Rob W
... và xóa VM gốc thông qua CLI, VBoxManage unregistervm UUID (UUID của VM mà bạn có được thông qua VBoxManage list vms, không sử dụng tên VM vì nếu bạn sử dụng --name để giữ nguyên tên gốc, sau đó bạn có nhiều máy ảo có cùng tên) - Rob W


Để làm tương tự như trong Lucas Pottersky câu trả lời nhưng thông qua dòng lệnh (trên Windows thay thế vboxmanage với VBoxManage.exe):

  1. Liệt kê tất cả các máy ảo:

    vboxmanage list vms
    

    hoặc chỉ chạy:

    vboxmanage list runningvms
    

    cho mỗi máy xuất ra tên và UUID.

    Thực hiện các bước sau cho mỗi máy bạn sẽ di chuyển.

  2. Gracefully tắt nó:

    vboxmanage controlvm UUID acpipowerbutton
    
  3. Hủy đăng ký:

    vboxmanage unregistervm UUID
    
  4. Di chuyển thư mục máy ảo đến vị trí mới.

  5. Đăng ký lại bằng cách cung cấp đường dẫn đến .vbox tập tin:

    vboxmanage registervm /path/to/machine.vbox
    

4
2018-03-04 00:43