Trong khi sử dụng VirtualBox, một thứ mà tôi đã tìm thấy là kích thước của máy ảo (một tệp có phần mở rộng .VDI) mở rộng theo thời gian. Nếu bạn đã chọn tùy chọn " Tự động mở rộng lưu trữ " khi lần đầu tiên tạo VM, bạn sẽ thấy rằng kích thước tệp mở rộng bất cứ khi nào bạn cài đặt các ứng dụng mới trong máy ảo. Điều đó hoàn toàn bình thường. Tuy nhiên, khi bạn gỡ cài đặt hoặc xóa ứng dụng trong VM, kích thước tệp sẽ không thu nhỏ hoặc trở về kích thước trước đó của nó. Đó là để nói, nếu bạn liên tục cài đặt và gỡ cài đặt các ứng dụng trong máy ảo của mình, tệp VDI có thể chiếm nhiều không gian hơn so với thực tế sử dụng.

Nếu bạn có rất nhiều không gian đĩa cứng để rảnh rỗi, bạn chỉ có thể bỏ qua điều này. Tuy nhiên, nếu bạn thấy mình luôn chạy thiếu dung lượng đĩa cứng, bạn có thể muốn xem xét thu hẹp VM và giải phóng không gian đĩa chưa sử dụng.

Hướng dẫn này sẽ đi qua các bước để thu nhỏ VM ảo của bạn.

Nó không quan trọng nếu bạn đang sử dụng máy chủ Windows / Linux. Các hướng dẫn cho một khách Windows và Linux là hơi khác nhau mặc dù. (Tôi chưa thử nó trên máy chủ Mac. Về mặt lý thuyết nó nên hoạt động, nhưng tự mình làm điều đó.)

Dành cho khách Windows

Nếu bạn đang sử dụng Windows khách, hãy làm như sau:

  • Gỡ cài đặt tất cả ứng dụng không cần thiết
  • Thực hiện phân mảnh đĩa cứng. Nếu bạn đang sử dụng WinXP, bạn Bạn có thể truy cập vào bộ phân mảnh đĩa sẵn có từ Start -> All Programs -> Accessories -> System Tools -> Disk Defragmenter .

Tải xuống sdelete và giải nén nó vào máy tính của bạn.

Mở một dấu nhắc lệnh và cd vào thư mục sdelete. Nhập vào lệnh sau:

 sdelete -zc: / 

Thao tác này sẽ thêm số không vào tất cả dung lượng trống trong ổ C :.

Một khi nó được thực hiện, tắt máy ảo.

Dành cho khách Linux

Nếu bạn đang sử dụng Linux guest (hướng dẫn này giả sử bạn đang sử dụng Ubuntu và đang chạy trên hệ thống tập tin ext2 / ext3. Nó không hoạt động trên ext4), đây là những gì bạn cần làm:

  • Xóa mọi ứng dụng không sử dụng.
  • Dọn dẹp máy ảo Linux của bạn

Cài đặt zerofree

 sudo apt-get zerofree 

Khởi động lại và khởi động máy ảo Linux của bạn vào chế độ Recovery. (Đây thường là tùy chọn thứ hai trong màn hình khởi động Grub.)

Trong dấu nhắc trình bao gốc, gõ

 df 

Điều này sẽ hiển thị tất cả các hệ thống tập tin có sẵn trong hệ điều hành của bạn. Ghi lại hệ thống tập tin nơi thư mục chính nằm. (nó phải ở định dạng / dev / sdaX hoặc / dev / hdaX )

Gắn hệ thống tệp ở chế độ chỉ đọc bằng lệnh sau:

 mount -n -o remount, ro -t ext3 / dev / sda1 / 

thay thế / dev / sda1 bằng thông tin tệp tin mà bạn vừa ghi lại.

Tiếp theo, gõ lệnh sau đây để không ra tất cả các không gian trống.

 zerofree / dev / sda1 

Một lần nữa, thay thế / dev / sda1 bằng thông tin hệ thống tệp của riêng bạn.

Khi bạn đã hoàn tất, tắt máy ảo Linux:

 shutdown -h now 

Thu hẹp VM

Bây giờ chúng ta đã thực hiện xong việc xóa VM và không sử dụng hết dung lượng trống, đã đến lúc thu nhỏ kích thước tệp bằng cách sử dụng lệnh VboxManage .

Nếu bạn vẫn đang sử dụng phiên bản Virtualbox 2.0.x cũ hơn, bạn có thể dễ dàng thu nhỏ đĩa cứng bằng lệnh sau:

 VboxManage modifyvdi /path/to/your/VM.vdi nhỏ gọn 

Nếu bạn đã nâng cấp VirtualBox của bạn lên phiên bản 2.1.x, bạn sẽ thấy rằng lệnh trên sẽ không còn hoạt động nữa. Có một lỗi trong phần mềm vô hiệu hóa việc sử dụng lệnh modifyhd . Một giải pháp thay thế là sử dụng lệnh clonehd để tạo bản sao bản sao nhỏ hơn của VM gốc.

Trong thiết bị đầu cuối của bạn (hoặc dấu nhắc lệnh), gõ như sau:

 VboxManage clonehd tên-of-original-vm.vdi tên-of-clone-vm.vdi 

Điều này sẽ tạo một bản sao của VM gốc với tên mà bạn đã chỉ định trong lệnh trên.

Kết quả

Sau khi thu hẹp VM của tôi, tôi quản lý để cạo bỏ 45% kích thước của máy ảo oirginal và giải phóng một con số khổng lồ 4.5GB dung lượng đĩa cứng để lưu trữ các thứ khác của tôi.

VDI gốc: 10GB

VDI nhân bản: 5.5GB

Nhập VM vào máy ảo

Toàn bộ quá trình chưa hoàn thành. Bạn vẫn cần phải nhập bản sao VM vào Virtualbox và xóa / xóa VM gốc khỏi hệ thống của bạn.

Trong bảng điều khiển Virtualbox của bạn, hãy nhấp vào nút Mới .

Làm theo hướng dẫn để tạo một máy ảo mới. Khi nó đến màn hình để yêu cầu bạn chọn đĩa cứng, chọn Hiện tại .

Trong cửa sổ Virtual media manager, nhấn Add để thêm VM mới được nhân bản.

Đánh dấu VM mới được thêm vào và nhấn Select .

Quay trở lại cửa sổ lựa chọn đĩa cứng, bạn sẽ thấy máy ảo mới của bạn trong lựa chọn thả xuống. Nhấp vào Tiếp theo để hoàn tất quá trình nhập.

Khi mọi thứ đã sẵn sàng, hãy chạy VM mới được thêm để đảm bảo rằng nó hoạt động tốt.

Trên màn hình Virtualbox chính, đánh dấu VM gốc và đi đến Machine -> Delete . Thao tác này sẽ xóa mục nhập khỏi bảng điều khiển.

Đi tới Tệp -> Trình quản lý phương tiện ảo . Đánh dấu VM gốc và nhấp vào nút Xóa . Khi được nhắc nếu bạn muốn giữ tập tin, chọn Xóa . Thao tác này sẽ xóa tệp vdi khỏi hệ thống của bạn.

Đó là nó.