Cách thay đổi kích thước tệp vmdk VirtualBox


539

Tôi đã hết dung lượng trên một đĩa máy ảo là vmdk và cần thay đổi kích thước hình ảnh ảo. Thay đổi kích thước với lệnh

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

đưa ra lỗi

Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Làm cách nào để thay đổi kích thước hình ảnh vmdk?

Câu trả lời:


806

Nếu bạn muốn kết thúc việc quay lại đĩa cứng vmdk (có thể bạn cũng thích sử dụng đĩa trong vwmare), các bước hoàn chỉnh là:

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

Ở trên sẽ thay đổi kích thước đĩa cứng lên tới 50GB (50 * 1024MB).

Để hoàn thành những điều bạn cần phải thay đổi kích thước ổ đĩa quá! Để đạt được điều này, bạn có thể muốn tải xuống iso gparted và khởi động từ iso đó để thay đổi kích thước ổ đĩa của bạn (chọn iso từ trong cài đặt hộp ảo).

PS Nếu kích thước mới của bạn quá nhỏ, bạn sẽ gặp lỗi tương tự ngay cả với tệp vdi mới của bạn.


17
Những công việc này! Tôi muốn thêm rằng bạn cũng có thể bỏ qua bước thứ ba và giữ đĩa ở định dạng VDI. Tôi chỉ làm điều này với một hình ảnh Oracle 12c và nó hoạt động tốt mà không cần bước thứ ba. Chỉ cần trao đổi "ổ cứng" cũ cho VDI nhân bản trong cài đặt. Ngoài ra - đừng quên thay đổi kích thước với Gparted, và bạn thật tuyệt!
Avindra Goolcharan

12
Đối với người dùng Windows chưa thêm VirtualBox vào biến PATH của bạn, hãy nhớ thay đổi vào thư mục Hộp ảo để sử dụng chương trình VBoxManage, ví dụ: "cd C: \ Program Files \ Oracle \ VirtualBox"
Cleanshooter

2
Tôi đã liên kết các tập tin vm từ ssd của tôi đến một ssd lớn. Tôi đã phải chỉ định đường dẫn symlink VBoxManage clonehd "~/path/to/symlink/packer-centos-6.5-x86_64-disk1.vmdk" "/media/k0pernikus/thatFatSlowDisk/cloned_packer-centos-6.5-x86_64-disk1.vdi"Nếu bạn chỉ định đường dẫn thực, lệnh sẽ bị sập do VBoxManage: error: Cannot register the hard disk, vì VBox nghĩ rằng nó đã được xác định ở một nơi khác.
k0pernikus

2
Ồ Tôi đã lãng phí hàng giờ để cố gắng và nghiên cứu lý do tại sao việc clonehedtiếp tục tạo ra các khối lượng không được hỗ trợ bởi --resize. Hóa ra việc nối thêm --format vdivào clonehdlà rất quan trọng!
datv

5
Các UUID không khớp sau khi thực hiện việc này (và thay thế ổ đĩa gốc). VirtualBox 5.1.12 sẽ không tự động cập nhật UUID. Tôi đã phải xóa ổ đĩa cứng khỏi danh sách các ổ đĩa cứng đã biết (Tệp -> Trình quản lý phương tiện ảo) và sau đó thêm lại vào ví dụ.
Chaim Eliyah

196

Tôi đã có thể thay đổi kích thước vmdk bằng cách nhân bản nó và sau đó sửa đổi và thay đổi kích thước.

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720

4
Cám ơn vì cái này. Đối với bất kỳ ai gặp lỗi: VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005)trong khi cố gắng chạy lệnh này trên windows, hãy chạy Dấu nhắc lệnh với tư cách là người không phải là quản trị viên.
Jim W.

4
@BradFJacobs, nhưng tất nhiên. Rốt cuộc, đó là điều hợp lý. : P
Paul Draper

4
Điều này để lại tệp ở định dạng VDI, không trả lời câu hỏi của Brian về "Làm cách nào tôi có thể thay đổi kích thước hình ảnh vmdk?"
user66001

Lưu ý, sau khi thay đổi kích thước tệp vmdk của bạn, bạn phải mở rộng phân vùng của mình trong VM bằng cách khởi động với ví dụ. gparted-live
stephanfriedrich

Để biết thông tin: Trong linux (mint), nó chỉ hoạt động mà không sử dụng dấu ngoặc kép cho virtualdisk.vmdknhư thế này:vboxmanage clonehd virtualdisk.vmdk "new-virtualdisk.vdi" --format vdi vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
lese

43

Tôi có một máy khách Windows 7 trên máy chủ Mac và bài đăng này RẤT hữu ích. Cảm ơn.

Tôi sẽ thêm rằng tôi đã không sử dụng gparted. Tôi đã làm điều này:

  1. Ra mắt hình ảnh vmdk mở rộng mới.
  2. Đi đến Bắt đầu và nhấp chuột phải vào Máy tính và chọn Quản lý.
  3. Nhấp vào Quản lý đĩa
  4. Bạn sẽ thấy một số không gian màu xám trên ổ C (trong trường hợp của tôi)
  5. Nhấp chuột phải vào ổ C và chọn Mở rộng âm lượng.
  6. Chọn kích thước và đi

Ngọt! Tôi thích sử dụng công cụ của bên thứ 3 với các cảnh báo về việc mất dữ liệu.

Chúc mừng!


32

VBoxManage thực hiện thủ thuật này, nhưng đừng quên rằng bạn phải sử dụng GParted hoặc một công cụ khác để phân bổ không gian trống được tạo bằng VBoxManage .

Hãy xem bài viết trên blog của tôi để có được thông tin chi tiết và từng bước chụp màn hình.


VBoxManage rõ ràng không lừa, tôi nghĩ bạn đã nhầm lẫn các định dạng tệp VDI và VMDK
portforwardpodcast

Không có nhầm lẫn, chỉ cần nhìn vào liên kết. VMDK phải được chuyển đổi thành VDI được xử lý.
tvial

@tvial - thật không may, AFAICS, quá trình chuyển đổi VMDK sang VDI sẽ mất bất kỳ ảnh chụp nhanh nào bạn có, điều này không thể chấp nhận được đối với nhiều người. Do đó, chỉ cần nói rằng "thực hiện mánh khóe" là một chút cường điệu ..
Jules

@Jules, câu trả lời của tôi liên quan đến câu hỏi. Brian đã cố gắng sử dụng VBoxManage và tôi không chỉ nói rằng nó có. Tôi đã dành hàng giờ để viết một thân từ bài đăng blog với ảnh chụp màn hình. Có thể thiếu thông tin liên quan đến ảnh chụp nhanh, bạn đã đúng.
tvial

Chà, chắc chắn, nhưng đó không phải là giải pháp tốt nhất. Các câu trả lời cung cấp đề xuất cho phần mềm sẽ thay đổi kích thước VMDK mà không chuyển đổi sang VDI (ví dụ: các câu trả lời được cung cấp bởi @micwallace và @davidehrman) rõ ràng là giải pháp tốt hơn cho nhiều người (và không rõ người hỏi ban đầu có phải là một trong số họ hay không ).
Jules

31

Trên thực tế, chỉ có các lệnh này là cần thiết:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

Sau đó, bạn có thể chọn clone.dvi trong bộ lưu trữ GUI Virtualbox.

Sau đó, khởi động các cửa sổ ảo và mở rộng đĩa C của bạn dưới dạng các phương thức của Chops Code.

Không cần thiết phải chuyển đổi tệp * .vdi thành tệp * .vmdk.


5
Tôi đã không downvote, nhưng tôi có thể hiểu một downvote vì hai câu trả lời hàng đầu, cả hai câu trả lời vào năm 2012 (!) Hoàn toàn giống nhau. Điều này không thêm bất cứ điều gì mới.
nathanvda

2
-1 Đồng ý với nathanvda , nhưng "câu trả lời" này không trả lời câu hỏi của Brian về "Làm thế nào tôi có thể thay đổi kích thước hình ảnh vmdk?"
dùng66001

22

Vì đây là tệp vmdk, bạn có thể sử dụng VMWare vdiskmanager, nếu nó có sẵn cho nền tảng của bạn. VMWare có các phiên bản x86 Linux, Windows và OS X tại đây .

Và sau đó bạn chỉ cần làm:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

Nó tránh phải sao chép, sau đó mở rộng đĩa. Bây giờ, nhược điểm là bạn cần công cụ bổ sung và vmdk là định dạng đĩa của VMWare và bạn vẫn đang sử dụng Virtualbox, do đó có thể không tương thích.

qemu-imgcũng có thể hoạt động, nhưng tôi không chắc liệu nó có hỗ trợ thay đổi kích thước tệp vmdk hay không. Nó sẽ trông giống như:

qemu-img resize Machine-disk1.vmdk +8G

Và chỉ cần một lời nhắc nhở, với cả hai, bạn vẫn phải phát triển phân vùng sau khi thay đổi kích thước đĩa bên dưới. Tất cả những công cụ này là cơ bản dd if=/dev/old_disk of=/dev/new_disk bs=16M.


1
người trả lời tốt nhất, không cần nhân bản.
WiresHarness

+1 Điều này hoạt động rất tốt để thay đổi kích thước máy ảo Windows và tôi thậm chí không cần phải khởi động để khôi phục, cài đặt của tôi cho phép tôi thay đổi kích thước trong Quản lý đĩa sau khi khởi động lại.
benh57

Điều này làm việc tốt hơn đối với tôi thay đổi kích thước hình ảnh Ubuntu trên windows10. Tôi thậm chí không phải phát triển phân vùng (đó là phân vùng gốc của tôi) sau khi mở rộng đĩa.
neo đậu

Liên kết để tải xuống vdiskmanager không hoạt động với tôi. Tôi tải xuống bản dùng thử tổng hợp VMWare từ download3.vmware.com/software/fusion/file/iêu , sau đó gắn tệp .dmg. Công cụ vdiskmanager sau đó có sẵn tại / Tập / VMware \ Fusion / VMware \ Fusion.app/Contents/L Library / vmware-dvdiskmanager.
dùng674669 ngày

16

Đã thử tất cả các giải pháp ở đây, nhưng dường như không có gì để làm việc. Sau nhiều giờ đào tôi đã tìm thấy blog này đăng và giống như phép thuật mọi thứ hoạt động. Tôi đã phải điều chỉnh một chút để đây là phiên bản sửa đổi. Đã thử nghiệm với Docker phiên bản 17,06.0-ce, bản dựng 02c1d87.

Khi các nhà phát triển thực sự bắt đầu chứa các ứng dụng của họ, họ thường tạo ra một số lượng lớn hình ảnh và nhanh chóng lấp đầy không gian ổ cứng 20 GB được phân bổ cho máy ảo Docker theo mặc định. Để đảm bảo máy ảo Docker có nhiều dung lượng đĩa, chúng ta nên thay đổi kích thước / dev / sda1 thành một số hợp lý hơn.

  1. Tải xuống hình ảnh có thể khởi động GParted Live CD / USB / HD / PXE .
  2. Dừng máy ảo Docker docker-machine stop default.

  3. Trình cài đặt gói Boot2Docker có khối lượng VMDK, công cụ gốc của VirtualBox không thể thay đổi kích thước. Để thay đổi kích thước ổ đĩa Docker, trước tiên hãy sao chép âm lượng VDI từ ổ đĩa VMDK mặc địnhvboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard .

  4. Thay đổi kích thước âm lượng VDI mới được nhân bản thành công suất mong muốn. Chúng tôi đề nghị ít nhất 64GB vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>.
  5. Khởi chạy ứng dụng VirtualBox, chọn defaultVM và nhấp vào thiết bị của Cài đặt trực tuyến.Trình quản lý VirtualBox
  6. Nhấp vào biểu tượng của Storage Storage. Loại bỏ âm lượng VMDK mặc định.nhập mô tả hình ảnh ở đây
  7. Thêm một bộ điều khiển IDE mới.Bộ điều khiển IDE
  8. Gắn ISO GParted thông qua tùy chọn Thiết bị bổ sung CD / DVD.Thêm thiết bị CD / DVD
  9. Gắn kết âm lượng VDI được nhân bản thông qua tùy chọn Thiết bị bổ sung CD / DVD.Khối lượng gắn kết
  10. Nếu bạn đang chạy Docker trên máy tính có ổ cứng thể rắn, vui lòng đảm bảo tùy chọn Ổ cứng trạng thái rắn được chọn cho âm lượng VDI được nhân bản.Ổ đĩa thể rắn
  11. Nhấp vào biểu tượng của Start Start vào để khởi động máy ảo Docker, nó sẽ khởi chạy GParted ISO. Chọn Trực tiếp GParted Live (Cài đặt mặc định).GParted Live (Cài đặt mặc định)
  12. Đặt chính sách để xử lý các keymap thành Không nên chạm vào sơ đồ bàn phím.keymap
  13. Đặt tùy chọn ngôn ngữ cho tùy chọn Phiên bản 33, mà ánh xạ tới Tiếng Anh Tiếng Anh.Tiếng anh mỹ
  14. Chọn tùy chọn Cv 1 1 để chạy Cấm Forcevideo và cấu hình X thủ công.Forcevideo
  15. Giữ độ phân giải mặc định của 1024 1024 × 760 bằng cách chọn tùy chọn 2 2.1024 × 760
  16. Giữ mặc định là vesav làm thẻ VGA.Để trống nếu muốn mặc định
  17. Giữ độ sâu màu mặc định của phiên bản 24 24 bằng cách chọn tùy chọn 1 0. Độ sâu màu
  18. Khi GParted khởi chạy, hãy nhấp vào biểu tượng Thay đổi kích thước / Di chuyển trực tiếp.GParted
  19. Đặt kích thước ổ đĩa mới thành kích thước mong muốn bằng cách kéo thanh trượt. Trong ví dụ này, kích thước tối đa là 127.035 MB. Nhấp vào nút Thay đổi kích thước / Di chuyển trên mạng để bắt đầu quá trình.Kích thước ổ đĩa
  20. Xác nhận thao tác thay đổi kích thước bằng cách nhấp vào nút Áp dụng trên ứng dụng.Bake nó
  21. Tắt nguồn máy sau khi hoàn tất thao tác thay đổi kích thước.Thiết lập lại cứng, np :)
  22. Xóa ISO GParted.Bạn sắp hoàn thành
  23. Đăng nhập vào máy ảo Docker để xác minh rằng thay đổi kích thước âm lượng đã thành công bằng cách khởi động máy docker-machine start default
  24. Nếu bạn gặp sự cố mạng, hãy khởi động lại máy docker

Rất chi tiết và hữu ích. Cảm ơn. Trong optin gparted, tôi đã theo con đường video bắt buộc , nó không hoạt động. Các X tự động lựa chọn làm việc mặc dù.
mshsayem

15

Bạn có thể sử dụng trình phát Vmware để thay đổi kích thước vmdk. Điều này loại bỏ chuyển đổi khứ hồi (lưu ý trong các bài viết khác) nếu bạn muốn giữ nó ở định dạng vmdk. Chỉ cần đảm bảo rằng khi bạn thêm vmdk vào vmware, đừng nhấp vào định dạng nâng cấp khi được nhắc, hãy giữ định dạng hiện tại trong trường hợp VirtualBox không chấp nhận.


1
Cảm ơn, đã làm điều đó. Tôi nghĩ rằng trước tiên người ta phải đưa vào VM để có thể thay đổi kích thước, nhưng đó là một bước nhỏ. Ngoài ra, không khởi động VM trong VMWare, thay đổi CTNH gây ra màn hình blues cho tôi.
Andreas Reiff

Mẹo tuyệt vời! nó cũng rất nhanh (mất 1 giây) và giữ cài đặt "chia trong 2GB tệp" của tôi. Cảm ơn!!
Osmar

Làm thế nào để bạn có được VMDK vào trình phát VMware? Điều này nghe có vẻ là một giải pháp tuyệt vời, nhưng nó không đầy đủ
thaspius

11

Để thu nhỏ kích thước hình ảnh, tôi sử dụng các bước sau:

  1. Trên máy khách cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  2. Tắt máy khách
  3. Trên máy chủ VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  4. Trên máy chủ VBoxManage modifyhd cloned.vdi --compact
  5. Trên máy chủ VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

11

Như được đề cập trong câu trả lời của Luca, các bước cần thiết là:

  1. Sao chép hình ảnh VMDK sang định dạng VDI

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. Thay đổi kích thước hình ảnh VDI

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. Sao chép lại định dạng VMDK

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

Bước 3 là tùy chọn nếu bạn có thể sử dụng hình ảnh VDI thay thế.

Tất cả các bước này cũng có thể được thực hiện trong giao diện người dùng đồ họa VirtualBox File -> Virtual Media Manager. Chọn ổ đĩa bạn muốn sao chép, và sau đó chọn Copy. Một hộp thoại mở ra cho phép bạn chọn định dạng và tùy chọn đĩa. Để thay đổi kích thước hình ảnh VDI, chỉ cần sử dụng thanh trượt ở phía dưới (nhấp vào Propertiesnếu nó không hiển thị).

Cuối cùng, bạn cũng có thể cần thay đổi kích thước đĩa trong HĐH khách:

  1. Chạy hệ điều hành khách và thay đổi kích thước phân vùng đĩa. Nếu bạn đang chạy Linux, bạn có thể sử dụng gpartedhoặc kparted.

9

VirtualBox cho Windows

Thay đổi kích thước tệp đĩa của bạn trong khi duy trì cài đặt máy ảo của bạn!


Bước 1 - Thay đổi kích thước tệp đĩa

Bắt đầu cmd.exe

cdđến thư mục của Oracle VM VirtualBox (trên các hệ thống 64 bit "C:\Program Files\Oracle\VirtualBox\":)

Chạy các lệnh này (như trên):

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Windows explorer và "sao chép địa chỉ dưới dạng văn bản" qua thanh địa chỉ sẽ giúp bạn có được đường dẫn bạn cần.

Trên hệ thống windows, thư mục VirtaulBox VM bên dưới người dùng của bạn có thể chứa tệp cơ sở dữ liệu được định dạng XML của các cài đặt bạn đã định cấu hình cho VM của mình. Đổi tên tệp này, với một .bakphần mở rộng (nó có .vboxphần mở rộng). Đổi tên .vmdktập tin gốc với một .bakphần mở rộng để tránh một lỗi khác. Bây giờ bạn có thể thực hiện một cách an toàn bước thứ ba mà không cần thông báo lỗi để chuyển đổi máy trở lại .vmdkđịnh dạng hoặc lỗi "đĩa trùng lặp".

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

Bạn sẽ được trình bày với mã thông báo UID . Sao chép mã thông báo này bằng cách kéo nổi bật nó từ cửa sổ Windows Command Interpetor và sử dụng Ctrl+Cphím tắt.

Mở .vbox.baktệp trong trình soạn thảo văn bản như Notepad ++. Bạn sẽ được trình bày với một tệp cơ sở dữ liệu giống như XML. Hãy tìm những dòng này:

<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
  <Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...

Trên dòng <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ..., xóa mã thông báo UID cũ giữa các dấu ngoặc và dán mã bạn đã sao chép từ cửa sổ lệnh. Hãy chắc chắn rằng bạn để dấu ngoặc đúng chỗ !

Lưu tệp này và thoát trình soạn thảo văn bản của bạn. Đổi tên .vbox.baktệp để trả lại phần mở rộng dự kiến ​​của nó .vbox.


Bước 2 - Loại bỏ rác

Bây giờ an toàn để loại bỏ các .baktập tin còn lại trong thư mục. Những gì còn lại là thay đổi kích thước .vmdkvới .vboxcơ sở dữ liệu được cập nhật trong khi với cài đặt Trình quản lý VirtualBox được bảo tồn trước đó của bạn.


Bước 3 - Thay đổi kích thước phân vùng của đĩa để lấp đầy không gian trống

Bây giờ bạn có thể khởi động Trình quản lý VM VirtualBox và thực thi VM của mình, sử dụng các công cụ thích hợp cho hệ điều hành để lấp đầy không gian trống mới.

Đối với máy ảo Windows , sử dụng diskparttừ dấu nhắc lệnh khởi động từ Windows Recovery Consule (phân vùng phục hồi) để SELECT DISK 1, LIST PARTITIONvà thu thập số phân vùng của bạn C:\ổ đĩa, sau đó SELECT PARTITION #. Bạn có thể sử dụng EXTEND SIZE=mbđể thay đổi kích thước ổ đĩa Windows C: \ thành giá trị phù hợp. Hãy chắc chắn rằng bạn rời khỏi phòng để phân vùng phục hồi và khởi động! An toàn khi trừ 4096 MB khỏi kích thước đĩa ảo mới của bạn để có được giá trị này, vì bản sao bóng và các tệp khôi phục windows.

Đối với máy ảo Linux , .ISObạn có thể tìm thấy trực tiếp gparted mà bạn có thể khởi động với tệp đĩa của VM tại: http://gparted.org/ Nó sẽ đưa bạn thẳng vào một gparted-gtk dựa trên giao diện người dùng đồ họa, từ đó bạn có thể điền vào không gian trống của bạn.

Đối với máy ảo PPC / Mac , Disk Utilitytừ Finder sẽ giúp bạn lấp đầy không gian trống, nhưng bạn có thể muốn xem xét tùy chọn gparted Linux , vì hiện tại phương pháp duy nhất để khởi động MacOSX trong VirtualBox là hackffy và bạn không thể mở rộng âm lượng của mình trong khi khởi động vào MacOSX. Bạn cũng có thể muốn tìm cách điều chỉnh các cài đặt của VM tạm thời gpartedđể khởi động nó. Các phân vùng MacOSX được nhận dạng bởi gparted là HFS- phân vùng "Hệ thống tệp nặng".


Bước 4 - Ảnh mèo

Vì internet. ;) Bạn đã hoàn thành. Thưởng thức .vmdkhình ảnh đĩa ảo đã thay đổi kích thước mới của bạn với VirtualBox cho Windows!


Cảm ơn bạn cho các bước toàn diện, chúng rất hữu ích! Một số biến thể tôi đã làm: Tôi đã sử dụng công cụ phân vùng đĩa để mở rộng ổ đĩa trên máy ảo Win10 của mình. Ngoài ra, còn thiếu một bước chi tiết, đó là thêm lại đĩa vmdk nhân bản vào cấu hình VM. Đó là nó. Chúc mừng!
j4v1

Phần bước để đổi tên tệp cấu hình vm ".vbox" thành ".vbox.bak" trước khi nhân bản là rất quan trọng ! nếu không, hành động nhân bản đã thất bại
Andres

Đây có lẽ là câu trả lời "đầy đủ nhất" nếu bạn gặp lỗi từ các lệnh VBoxManage không thành công của mình. Trong trường hợp của tôi, ngay cả khi tôi đổi tên tệp cấu hình thành "* .vbox.bak" bằng cách nào đó VBox vẫn giữ trạng thái (thông qua sổ đăng ký?). Vì vậy, tôi phải sử dụng các lệnh VBoxManage bổ sung. Ví dụ, để xem các đĩa ảo : vboxmanage list hdds. Để loại bỏ những cái không mong muốn : vboxmanage closemedium disk <filename.vmdk>. Xem cổng SATA #, thiết bị # : vboxmanage showvminfo <vmName>. Để DETACH đĩa: vboxmanage storageattach <vmName> --storagectl SATA --port <p#> --device <d#> --medium none
nam châm điện

7

Đây là một cách để thay đổi kích thước đĩa VirtualBox của bạn, bất kể đó là đĩa định dạng cố định hay đĩa định dạng động. Cụ thể, nó ngăn ngừa lỗi bạn gặp phải khi đĩa có định dạng cố định.


Sao lưu đĩa ảo. Bạn không bao giờ biết những gì có thể đi sai.

Trên máy chủ của bạn:

  1. Mở một cửa sổ đầu cuối.

    Trên Windows: Mở dấu nhắc lệnh cmd.

  2. Chuyển đến thư mục với đĩa ảo bạn muốn thay đổi kích thước. Ví dụ:

    cd "My VMs"
  3. Tạo một đĩa VirtualBox mới với tên tệp, kích thước (tính bằng megabyte) và định dạng Standard(động) hoặc Fixed). Ví dụ: để tạo một đĩa định dạng cố định 50 GB được gọi là MyNewDisk.vdi:

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed

    Nếu VBoxManagekhông được công nhận là một lệnh, chỉ định đường dẫn đầy đủ đến nó. Nó có thể được tìm thấy trong thư mục cài đặt VirtualBox. Trên Windows, lệnh trên sẽ trở thành:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
  4. Sao chép đĩa gốc vào đĩa mới.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
  5. Thay đổi kích thước được thực hiện! Bạn có thể kiểm tra các thuộc tính của đĩa mới nếu bạn muốn:

    VBoxManage showmediuminfo "MyNewDisk.vdi"
  6. Thay đổi máy ảo để sử dụng đĩa mới thay thế.

Tiếp theo, trên hệ điều hành khách của bạn, bạn cần thay đổi kích thước các phân vùng để sử dụng không gian mới có sẵn.


3

Tôi đã đến đây vì tôi cần thay đổi kích thước đĩa cho môi trường phát triển Docker (CoreOS) của tôi.

Các tài liệu của CoreOS nói rằng không cần thay đổi kích thước phân vùng HĐH - đó là không có thật. Sau khi thay đổi kích thước đĩa ảo, bạn nên làm theo các hướng dẫn sau và thay đổi kích thước phân vùng HĐH thông qua GParted:

https://docs.docker.com/articles/b2d_volume_resize/


3

Một lựa chọn nhanh chóng và đơn giản:

  1. Tắt máy
  2. Tạo đĩa hộp ảo mới với kích thước mong muốn
  3. Di chuyển nội dung từ đĩa cũ sang bên trong đĩa mới:

    vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
    
  4. Bật máy

  5. Bạn có thể phải thay đổi kích thước phân vùng trong HĐH để lấp đầy phần còn lại của đĩa

Cảnh báo

Nếu đĩa mới ngắn hơn nguồn, bạn sẽ mất dữ liệu nằm ở vị trí kích thước đĩa mới trên đĩa nguồn.

Bạn có thể ngăn chặn không gian delta này, trong đó delta = size (đĩa nguồn) - kích thước (đĩa mới), ở cuối đĩa nguồn bên trong HĐH trước bước 1.


0

Vứt nó đi và bắt đầu lại. Bỏ qua tất cả những câu trả lời - đừng lãng phí thời gian của bạn.


OK, vậy làm thế nào để bạn khởi động một VM với một ổ đĩa lớn hơn, ví dụ như Vagrant?
Chris L. Barnes

-4

Tải xuống / Cài đặt / Sử dụng VMWare Workstation và tạo VM mới Dựa trên tệp vmdk hiện tại của bạn và sau đó bạn có thể thay đổi kích thước vmdk của mình. Để biết chi tiết về vấn đề này google cho VMWare.


-4

Đơn giản là bạn phải làm theo các bước sau:

  1. Tắt nguồn máy của bạn.
  2. Nhấp chuột phải vào tên máy ảo> Cài đặt> Lưu trữ
  3. Nhấp vào Bộ điều khiển: SATA> Thêm đĩa cứng.
  4. Chọn kích thước loại ổ đĩa cứng mới và nhấn tạo.
  5. Hủy trạng thái máy.
  6. Đưa đĩa CD Ubuntu vào.
  7. Khởi động từ ubfox live cd.
  8. Mở "gparted" (Đã cài đặt, không cần cài đặt).
  9. Kiểm tra xem hệ thống có thấy đĩa cứng mới tạo của bạn không.
  10. Mở Terminal.
  11. Nhập mã sau đây.
  12. sudo dd if = / dev / sda of = / dev / sdb (Đầu tiên là đường dẫn phân vùng cũ, thứ hai là đường dẫn phân vùng mới).
  13. Đợi cho đến khi hoàn thành sao chép dữ liệu (Bước này có thể mất một chút thời gian theo thông số kỹ thuật máy chủ của bạn).
  14. Sau khi sao chép xong, quay trở lại gparted và chọn thiết bị làm mới.
  15. Chọn phân vùng mới / dev / sdb, nó phải là điển hình cho phân vùng cũ sau khi thực hiện lệnh dd.
  16. Nó sẽ hiển thị không gian mở rộng dưới dạng dữ liệu không được phân bổ.
  17. Xóa phân vùng Hoán đổi / Phân vùng mở rộng.
  18. Nhấp chuột phải vào phân vùng gốc / dev / sdb> Thay đổi kích thước
  19. Phân bổ toàn bộ không gian mà không cần phân bổ trao đổi.
  20. Tạo phân vùng mở rộng mới> Chọn mở rộng> Tạo
  21. Tạo phân vùng trao đổi linux mới> chọn linux-exchange> Tạo
  22. Bây giờ hãy tắt máy đang chạy của bạn.
  23. Nhấp chuột phải vào máy> cài đặt> Lưu trữ.
  24. Đẩy ra đĩa CD trực tiếp.
  25. Nhấp chuột phải vào đĩa cứng cũ> xóa tệp đính kèm.
  26. Bây giờ bạn có thể bắt đầu vm của bạn từ đĩa cứng mới được tạo.
  27. Kiểm tra bộ lưu trữ bằng cách nhập lệnh df -kh.
  28. Nó phải cho bạn thấy kích thước mới.

Chúc mừng, tận hưởng không gian miễn phí của bạn.
Video này sẽ giúp bạn: https://youtu.be/ikSIDI535L0


Vâng, chính xác là dành cho UBUNTU
Mohammad Nimer
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.