zar, điều đầu tiên trước tiên ... không bao giờ di chuyển một máy đang ở trạng thái lưu, trước khi di chuyển bạn phải tắt máy khách, không chỉ lưu trạng thái.
Đồng thời đảm bảo bạn sử dụng cùng một phiên bản VirtualBOX trên cả hai máy chủ, nhưng không chỉ phiên bản VirtualBOX, mà cả gói mở rộng vesion ... hoặc ít nhất là máy chủ mới có phiên bản cao hơn, nhưng chưa bao giờ là phiên bản thấp hơn trên bất kỳ hai phiên bản nào.
Và cuối cùng, tôi đã học được nó một cách khó khăn, xóa cấu hình thư mục CHIA SẺ trên VirtualBOX trước khi di chuyển máy, sau đó tạo lại nó một cách chính xác ... rất quan trọng khi máy chủ là hệ điều hành khác nhau (máy chủ Windows / Linux).
Và như một lưu ý phụ ... tôi luôn luôn sử dụng các tệp VDI đĩa cứng không thể sửa chữa được cho HĐH cũng như cho các VDI dữ liệu (theo cách đó, DATA VDI có thể được sử dụng cho nhiều hơn khách), đặc biệt là lừa cho trang 4GiB
Phần cuối cùng đó, việc sử dụng lại một tệp VDI không thể thay đổi làm cho mọi thứ trở nên khó khăn hơn một chút, VirtualBOX có BIG BUG.
Để xem lỗi hoạt động:
- Tạo một VDI không thể thay đổi (như cái tôi sử dụng cho pagefile.sys)
- Tạo hai hoặc ba VM trên VirtualBOX
- Di chuyển một trong số chúng lên đầu danh sách (chỉ để tránh bị hỏng bất kỳ cái nào trong số bạn)
- Sao lưu các tệp .vbox của từng máy thoose bạn đã tạo (để so sánh nó sau khi BUG xảy ra)
- Đính kèm VDI không thể thay đổi đó vào nhiều hơn một trong số các máy đó (ngoại trừ máy nằm ở đầu danh sách)
- Bây giờ hãy xem .vbox của máy nằm ở đầu danh sách
Máy đó đã được chỉnh sửa, nó có tham chiếu đến các máy khác không thể thay đổi VDI.
Vì vậy, BUG là: Chỉnh sửa một máy thêm VDI không thể thay đổi được sử dụng bởi một máy khác ảnh hưởng đến máy ở đầu danh sách.
Tại sao tôi lại sử dụng cùng 4GiB VDI trên tất cả các máy Windows? Thật dễ dàng, đó là một đĩa MBR có phân vùng FAT32 nơi tôi đặt pagefile.sys, vì không thể kiểm soát được tất cả các máy ảo sẽ tạo một tệp trên thư mục ảnh chụp nhanh của chúng, nơi chúng lưu trữ các thay đổi và bị mất khi khởi động tiếp theo, vì vậy tôi làm không cần 4GiB cho mỗi khách được lưu trữ trên đĩa máy chủ, chỉ cần một ... theo cách đó tôi tiết kiệm được rất nhiều GiB vì tôi có hơn 20 cửa sổ khác nhau để thử nghiệm các ứng dụng do tôi tự phát triển, tất cả các kết hợp (XP, Vista , 7, 8, 8.1, 10) * (32 bit, 64 bit) * (Giống như lần cài đặt đầu tiên, sau mỗi ServicePack, sau khi cập nhật đầy đủ cửa sổ), tôi nhận được rất nhiều, rất nhiều khách ... tôi chia sẻ 4GiB VDI không thể thay đổi cho ram ảo (pagefile.sys).
Và nếu bạn để BUG đi xa hơn, hãy thử di chuyển một trong những máy thoose sang máy chủ VirtualBOX khác (hãy nhớ rằng chúng chỉ là máy ảo có cấu hình trên chúng và chưa có khách nào được cài đặt trên chúng), bạn sẽ thấy VirtualBox không cho phép bạn thêm chúng vì một số VDI bị thiếu (đó là FALSE và TRUE, đó là máy đầu tiên như vậy chứa các tham chiếu đến các VDI như vậy trong việc bắt ong trên đúng máy).
Bây giờ hãy so sánh các tệp .VBOX của tất cả chúng với BackUp phổ biến ... lưu ý cách một tệp bị sửa đổi sai? ... vâng, nó là tệp nằm ở đầu danh sách.
Chà, BUG này đã được thông báo cho VirtualBOX vài năm trước, họ vẫn không thể sửa nó ... và nó đang gây ra rất nhiều vấn đề.
Ngoài ra, nếu bạn di chuyển cái trên cùng trên các máy ảo xuống vị trí thấp hơn, hãy đóng VirtualBox và khởi chạy lại ... sẽ cho bạn biết một số máy bị hỏng và không thể khởi động ... có cái đầu tiên trong danh sách phải được đối xử dưới một hình thức khác nếu bạn không muốn gặp nhiều rắc rối.
Đó là một BUG thực sự tồi tệ mà tôi đã mất rất nhiều ngày để khám phá (vài năm trước) tôi học nó một cách khó khăn!
Tôi đã khắc phục nó bằng cách có một máy tôi đã gọi:
Nó có một cấu hình trống và chỉ có một VDI, vâng, bạn đúng, bạn đã đoán nó, VDI tôi không thể chia sẻ cho tất cả các máy ảo còn lại.
Khi tôi mở tệp .VBOX, tôi thấy bên trong nó có rất nhiều dòng trên mỗi <MediaRegistry>
<HardDisks>
phần, mỗi máy tôi sử dụng VDI không thể thay đổi đó ... giống như một mẫu (tôi xóa dữ liệu riêng tư):
<MediaRegistry>
<HardDisks>
<HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
<HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
<HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
... and so on ... // This belongs to other virtual Machine
</HardDisk>
</HardDisks>
</MediaRegistry>
BUG khá, không được giải quyết từ nhiều năm.
Chà, để di chuyển các máy như vậy ... bạn phải chỉnh sửa thủ công các tệp .VBOX, để đặt tất cả các tham chiếu đĩa như vậy vào máy chủ mới trên máy đầu tiên (máy nằm ở đầu danh sách) trước khi thêm .VBOX các tệp vào danh sách, vì vậy khi thêm chúng, VirtualBOX có các tham chiếu đến các VDI bị thiếu (thiếu do BUG lớn gây ra).
Điều này xảy ra bởi vì mỗi lần bạn kết nối một VDI được sử dụng trên một máy khác, VirtualBOX sẽ cập nhật hai máy .VBOX tệp (máy thuộc về máy bạn đang sử dụng) và máy đầu tiên trong danh sách.
Tôi không hoàn toàn chắc chắn điều gì sẽ xảy ra khi trong danh sách, cái đầu tiên không có VDI phổ biến như vậy kèm theo ... tốt hơn là đừng thử nó, hãy xem những gì tôi thấy.
Vì vậy, việc di chuyển sang HOST khác phức tạp hơn nhiều so với những gì dường như là do triển khai rất xấu trên cấu trúc bên trong tệp .VBOX và vì các BUG thực sự lớn khi VirtualBOX chỉnh sửa chúng.
Thất bại:
- Cấu trúc bên trong (XML) phụ thuộc vào HOST (Windows hoặc Linux)
- Chỉnh sửa một máy có thể thay đổi một máy khác, không chỉ một máy được chỉnh sửa
- ... nhiều hơn những gì ?
Cần nhiều hơn nữa ... tôi luôn di chuyển các máy làm việc này (và không có vấn đề gì, không bao giờ có)
- Lưu ý danh sách tất cả các máy (thứ tự, nhóm, v.v.)
- Hãy lưu ý đến cái đầu tiên trong danh sách (tất cả cấu hình của nó)
- Lưu ý tất cả các thuộc tính của máy tôi muốn chuyển sang máy chủ khác
- Sao chép các tệp .vbox dưới dạng tệp .txt (tệp nằm ở đầu danh sách + tất cả các máy tôi muốn di chuyển)
- Tái tạo tất cả các máy (và có một máy đặc biệt ở đầu danh sách) bên trong VirtualBox trên máy chủ mới
- Đóng VirtualBox trên máy chủ mới
- Diff so sánh .txt cũ với các tệp .vbox mới và sao chép từ .txt sang .vbox một số phần theo cách của con người, không chỉ Sao chép & Dán
- Mở VirtualBox và đính kèm tất cả các VDI theo đúng thứ tự
- Một lần nữa Đóng VirtualBox trên máy chủ mới
- Diff so sánh .txt cũ với các tệp .vbox mới và 'sửa chữa' từ .txt sang .vbox một số phần theo cách của con người, không chỉ Sao chép & Dán
Tất cả phần còn lại (thư mục ảnh chụp nhanh và tệp VDI) tôi sao chép chúng theo cách thông thường (Sao chép và dán hệ thống tệp).
Tất cả những công việc thủ công cứng đó là do Big BUG VirtualBox gây ra: Nó chỉnh sửa / thay đổi một máy không được sửa đổi khi bạn đính kèm một VDI không thể sửa chữa được sử dụng trên nhiều máy, nếu không thì sao chép và dán tệp .VBOX đơn giản là đủ (sau sửa đường dẫn thư mục dùng chung, v.v.)