Saya mencoba mencari cara untuk mengubah ukuran file VDI. Saya baru mengenal VirtualBox, dan saya harus banyak belajar. Tapi saya pikir saya memahami dasar-dasarnya. Saya sudah menginstal Windows 7 sebagai tamu pertama saya. Tuan rumah juga Windows 7. Saya tidak yakin berapa banyak ruang disk untuk mengalokasikan, jadi saya pergi untuk ukuran VDI 40 GB dan ukuran tetap untuk peningkatan kinerja. Tapi saya sudah berubah pikiran sekarang, dan saya ingin menambahkan 10 GB lagi. Saya telah mengklik di sekitar program dan membaca konten menu Bantuan, tetapi itu tidak membantu. Ini menjelaskan pengontrol disk, SAS, SATA, SCSI, yada, yada, tetapi tidak apa yang saya cari.
Saya mencari jawaban di seluruh dunia web, forum VirtualBox mengatakan Anda seharusnya menggunakan Gparted jika Anda ingin metode termudah (beberapa mod diposting lengket). Beberapa pengguna berdiskusi menggunakan dd
perintah. Tapi itu semua hal-hal Linux. Juga, ada banyak pertanyaan di sini di SU yang berhubungan dengan peningkatan dan penurunan ukuran file VDI, tetapi mereka semua tentang menggunakan Linux sebagai tuan rumah dan Windows sebagai tamu.
Saya menemukan posting blog yang bagus ini tentang cara melakukannya dengan modifyhd
perintah VBoxManage. Orang ini juga melakukannya di Linux sebagai OS host. Dia bahkan menginginkan ukuran yang sama (50 GB) untuk file VDI-nya seperti yang saya lakukan untuk file saya, sungguh suatu kebetulan. Jadi saya pikir saya akan mencobanya, baik membuatnya atau menghancurkannya. Apa yang mungkin salah? ... eh? Nah, ini adalah kejutan jelek yang saya dapatkan.
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" --resize 51200
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not impleme
nted yet!
C:\Program Files\Oracle\VirtualBox>
Katakan apa sekarang?! ... tidak dapat mengubah ukuran hard disk virtual dari format VDI? Anda tidak mengatakannya? Tidak mendukung format Anda sendiri? Sekarang bagaimana dengan itu ...
Apakah benar-benar tidak ada cara sederhana untuk mengubah ukuran file VDI, lebih disukai dengan beberapa klik di dalam VirtualBox? Ada yang sedang dalam proses?
sumber
modifyhd
sekarang dikenal sebagaimodifymedium
tetapi masih kompatibel ke belakang - lihat virtualbox.org/manual/ch08.html#vboxmanage-modifyvdiJawaban:
Ringkasan:
VBoxManage.exe modifyhd --resize
dapat meningkatkan (tetapi tidak mengurangi) ukuran logis dari disk image (ukuran yang dilihat oleh OS tamu).VBoxManage.exe modifyhd inputfile.vdi --compact
dapat mengurangi ukuran gambar disk fisik (ukuran file gambar pada disk seperti yang terlihat oleh OS host). Namun ini tidak mengubah ukuran disk logis. Perhatikan bahwa ini hanya berfungsi jika ruang kosong telah diberi nol di OS tamu terlebih dahulu.modifyhd
hanya berfungsi hanya dengan varian format dinamis ("gambar yang dialokasikan secara dinamis").modifyhd
hanya bekerja dengan format gambar VDI dan VHD.Untuk perinciannya lihat bagian 8.23. VBoxManage memodifikasihd dalam manual.
Alasan mengapa mengurangi ukuran disk logis dari VDI belum diimplementasikan adalah untuk mencegah korupsi data yang dapat terjadi dan Anda akan memiliki VM yang tidak dapat di-boot sebagai akibatnya. Oleh karena itu, ketika
--resize
opsi digunakan, ukuran disk baru harus lebih besar dari ukuran saat ini. Itu tidak boleh kurang dari atau sama dengan ukuran saat ini. Dengan kata lain disk 40 GB hanya dapat diubah ukurannya menjadi 41 GB atau lebih besar dari itu, tidak dapat diubah ukurannya menjadi 40 GB (itu hanya bodoh) atau 39 GB atau kurang dari itu.Versi lama VirtualBox membuat file VDI sebagai varian format "tetap". Pengaturan default baru sekarang untuk membuat varian format "dinamis" ketika file VDI (gambar disk virtual) baru dibuat. (Saya menduga ini adalah kasus sejak diperkenalkannya varian format dinamis, versi apa pun yang diperkenalkan.)
Jadi arti dari pesan kesalahan "operasi untuk format ini belum diterapkan" adalah bahwa file VDI Anda menggunakan varian format "tetap". Untuk mengatasi masalah ini, Anda harus mengkloning file VDI Anda menggunakan
clonehd
perintah. Untuk melihat varian format file VDI Anda saat ini, Anda dapat menggunakanshowhdinfo
perintah.Contoh Kerja
Tampilkan informasi VDI tentang disk saat ini.
Perintah input:
vboxmanage.exe showhdinfo path\inputfile.vdi
Lihat di mana dikatakan "default tetap"? Itu sebabnya ia memuntahkan kesalahan di atas ketika Anda mencoba untuk mengubah ukurannya.
Mengkloning file VDI lama ke file VDI baru.
Perintah input:
vboxmanage.exe clonehd path\inputfile.vdi path\outputfile.vdi
Voa! File lama sekarang telah dikloning ke file baru. Karena pengaturan default di versi baru VirtualBox adalah menggunakan varian format "dinamis", Anda tidak perlu mendefinisikannya secara eksplisit. Meskipun, jika Anda bekerja dengan versi VirtualBox yang lebih lama, maka Anda mungkin ingin mengatur opsi menjadi "dinamis" (jika tersedia) untuk memastikan kompatibilitas dan / atau fleksibilitas yang lebih baik dengan versi VirtualBox yang akan datang.
Tampilkan informasi VDI tentang disk yang dikloning.
Perintah input:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
Lihat bagaimana sekarang mengatakan "default dinamis"? Bagusnya!
(Di samping catatan! Alasannya mengatakan 7806 MB sebagai ukuran fisik di sini adalah karena saya telah menggunakan
--compact
opsi pada file VDI asli dalam upaya untuk menegakkan konversi ke varian format dinamis. Hanya sesuatu yang saya baca di forum VirtualBox, konon katanya. akan bekerja dengan versi yang lebih lama, jadi saya pikir saya mungkin juga mencobanya. Tidak berhasil.)Mengubah ukuran disk yang dikloning.
Perintah input:
vboxmanage.exe modifyhd path\inputfile.vdi --resize 51200
Keberhasilan! Tidak ada format omong kosong lagi. Ingatlah untuk mengubah ukuran disk yang baru dan dikloning, dan bukan yang asli. Perlu diingat bahwa ukurannya dinyatakan dalam MB. Saya percaya Anda dapat menggunakan mis
51200
serta50G
(atau mungkin "GB"). Ada juga opsi--resizebyte
yang dapat digunakan untuk mengekspresikan ukuran dalam byte.Tampilkan informasi VDI tentang disk klon yang diubah ukurannya.
Perintah input:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
Itu dia! Dari sini yang harus Anda lakukan adalah menambahkan drive kloning ini sebagai VDI baru Anda untuk VM. Anda melakukannya di dalam VirtualBox. Saya tidak akan membahasnya. Jika Anda sudah bisa membaca dan memahami ini sejauh ini maka Anda mungkin tidak perlu panduan lebih lanjut. Anda dapat menghapus file "tetap" lama, atau membiarkannya sebagai cadangan. Pastikan Anda menguji file VDI baru sebelum Anda menghapus file sumber asli.
Catatan! Anda tidak akan langsung melihat ukuran baru dari disk yang dikloning. Anda harus mem-boot VM dengan itu, dan kemudian Anda harus menggunakan alat manajemen partisi Anda untuk memperluas partisi Anda untuk mengisi disk virtual (atau membuat lebih banyak partisi). Untuk Windows, jalankan saja
diskmgmt.msc
dan Anda akan dapat memperluas partisi di sana.Tangkapan layar
Referensi
sumber
modifymedium
/modifyhd
operasi pada file snapshot itu sendiri.Berikut adalah proses yang cukup sederhana yang berhasil bagi saya untuk mengubah ukuran disk ukuran tetap VirtualBox (v. 4.3.16) menjadi disk dinamis 60GB pada Mac saya (OS X 10.9.4) dengan Linux (Ubuntu 14.04) yang berjalan sebagai OS tamu:
Di Terminal pada Mac, CD ke direktori dengan file VDI dan ketik yang berikut ini:
Di bagian penyimpanan aplikasi VirtualBox, tambahkan mydiskClone.vdi sebagai HD kedua, kemudian mulai VM secara normal.
Dalam shell di OS tamu, ketik:
Nyalakan ulang tamu. Saat muncul kembali, buka shell lagi dan ketik:
Matikan OS tamu.
Di bagian penyimpanan aplikasi VirtualBox lagi, atur mydiskClone.vdi menjadi disk boot. Kemudian mulai OS tamu dan verifikasi ukuran disk baru menggunakan properti "Komputer" di browser file.
sumber
Kloning sebenarnya adalah solusi yang lebih baik dan ada cara yang lebih mudah untuk melakukannya.
Dari menu File, pilih Virtual Media Manager, lalu klik Salin. Sumber akan menjadi hard disk vdi ukuran tetap asli Anda dan tujuan Anda akan menjadi sesuatu yang baru yang Anda pilih (termasuk opsi yang baru).
sumber
OK, jadi saya mewujudkannya tanpa kloning .
Saya punya file VDI 100GB (format tetap) dengan Ubuntu di atasnya. Bekerja dengan baik. Saya ingin membebaskan beberapa ruang di host dengan menyusutkan VM.
Langkah:
Menghapus file yang tidak diinginkan. 45GB gratis. Saya hanya perlu 30GB untuk dibebaskan.
Saya hanya memiliki satu partisi, jadi tidak dapat melakukan apa pun dari dalam guest Ubuntu. Pasang Ubuntu Live di VM dan boot dari sana.
Digunakan
gparted
untuk mengecilkan partisi menjadi 70GB. Membuat partisi baru di ruang yang tidak digunakan diext4
.Ruang kosong di partisi baru (30GB).
Ikuti panduan ini: Kecilkan hard drive virtual pada Ubuntu sebagai OS Guest and Host menggunakan zerofree
Partisi baru saya adalah
/dev/sda3
.Padatkan VDI
VBoxManage memodifikasihd "ubuntu.vdi" compact
Butuh beberapa saat, tetapi berhasil!
sumber
--compact
hanya berfungsi untuk gambar yang dialokasikan secara dinamis, bukan untuk yang berukuran tetap.Agak terlambat ke pesta di sini tapi saya akan menambahkan 2 sen saya. Pertama saya akan mengatakan bahwa ini adalah proses berbelit-belit yang akan mendorong sebagian besar pengguna biasa mencoba untuk mencari tahu. Mengapa Oracle tidak memasukkan ini dalam GUI VBox adalah sebuah misteri.
Langkah 1: Gunakan baris perintah windows (VBoxmanage) untuk menambah ukuran drive. Kiat di sini adalah menggunakan ID drive vdi alih-alih tanpa henti mencoba memasukkan lokasi file dan mendapatkan pesan kesalahan.
Langkah 2: Anda kemudian perlu memperluas partisi utama Anda untuk menggunakan ruang baru. Unduh iso gparted dan buat mesin virtual baru di VBox dengan menggunakannya sebagai sumber IDE. Kemudian gunakan drive VDI yang ada sebagai sata disk. Jangan membuat drive virtual untuk mesin ini. Boot mesin baru dan Anda akan memiliki Gui gparted berjalan. Ini mungkin membutuhkan beberapa reboot untuk menyelesaikannya.
Setelah gparted berjalan, Anda akan melihat partisi drive vdi yang ingin Anda ubah ukurannya. PENTING: Anda harus menghapus partisi extended dan menukar ruang file untuk dapat meningkatkan ukuran partisi primer sehingga tidak mengalokasikan semua ruang baru untuk PP. Setelah Anda melakukan ini, Anda harus menunjuk ruang yang tersisa untuk partisi extended baru dan membuat ruang swap file baru di dalamnya. Saya menemukan ini jauh lebih mudah daripada melenceng dengan baris perintah.
Bukan sepotong kue tapi itu bisa dilakukan ... butuh sekitar setengah hari untuk meneliti web untuk mencari tahu. Menjalankan win8.1 / Ubuntu di VBox
Willie
sumber
Inilah cara saya mengubah ukuran / memperbesar / memperluas gambar VDI tetap (proses saya untuk mengecilkannya ada di jawaban lain):
dd if=/dev/sda of=/dev/sdb status=progress bs=128M
dan tunggu sampai selesai. Ini akan menyalin disk asli ke disk byte-untuk-byte baru, termasuk MBR dll. (Catatan: Ini mungkin membutuhkan waktu beberapa saat untuk menyelesaikan tergantung pada ukuran disk asli, kecepatan disk pada host, dll). (Catatan: jika VM tamu Anda memiliki> 1GB RAM yang dialokasikan untuk itu, Anda dapat mengubah param 'bs' menjadi "bs = 256M" yang mungkin sedikit mempercepat salinan).Sementara hal di atas telah bekerja sangat baik untuk saya beberapa kali, sepertinya beberapa langkah lagi diperlukan jika LVM digunakan. (CATATAN: Jika LVM digunakan, Anda cukup menambahkan disk baru dengan ukuran yang diinginkan dan kemudian menambahkan disk itu ke grup volume.) Dengan CentOS 6.6 di mana LVM digunakan, saya harus menambah ruang di dalam LVM juga. Jadi setelah mem-boot disk baru yang dibuat di atas, saya melakukan sesuatu di sepanjang baris ini (berbagai bagian ini akan bervariasi berdasarkan nama pengaturan Anda):
Dapatkan info tentang pengaturan LVM:
Memperpanjang volume fisik (PV) (grup volume (VG) akan secara otomatis mencerminkan kenaikan yang sama):
Perpanjang volume logis (LV):
Perpanjang sistem file:
Sebelum:
Perintah:
Setelah:
sumber
Inilah cara saya mengubah ukuran / menyusutkan / mengurangi gambar VDI tetap (proses saya untuk memperluasnya adalah jawaban lain dalam topik yang sama):
Pertama latar belakang singkat tentang mengapa saya membutuhkan ini (karena ada banyak skenario untuk mengecilkan VDI, beberapa di antaranya mungkin tidak layak dengan pendekatan ini): Bertahun-tahun yang lalu saya membuat VDI tetap untuk tamu Windows Server dan mengukurnya pada 600GB. Saya tidak ingat mengapa saya memilih ukuran ini tetapi pada hari ini saya hanya mengkonsumsi 100GB pada tamu itu dan saya ingin mendapatkan kembali sebagian besar ruang yang tersisa. Jadi dalam kasus saya, saya ingin menyimpan semua data di tamu dan saya hanya ingin membebaskan ruang yang tidak digunakan di tamu.
(Langkah-langkah berikut sebagian besar dari ingatan saya telah melakukan ini selama 2 jam terakhir, jadi minta maaf jika saya melewatkan sesuatu di sini.)
Boot VM tamu (harus boot ke lingkungan live gparted). Dari dalam lingkungan gparted:
Dengan asumsi disk "asli" Anda adalah / dev / sda dan "baru" adalah / dev / sdb (jika tidak, sesuaikan perintah berikut dengan tepat), maka kami akan menyalin setiap partisi, satu per satu. Untuk setiap partisi yang dicatat dari langkah di atas, masukkan perintah berikut di terminal:
dan tunggu sampai selesai. Ini akan menyalin partisi 1 dari disk asli ke partisi 1 pada disk byte-untuk-byte yang baru.
Ulangi perintah untuk setiap partisi yang tersisa:
Catatan:
Langkah terakhir yang harus saya lakukan untuk tamu Windows saya adalah mengatur / memperbaiki MBR dan / atau BCD. (Saya tidak tahu apakah ini diperlukan untuk tamu Linux karena saya belum melakukannya.) Jika saya hanya mem-boot dari VDI baru saya, saya mendapat layar kesalahan Windows Boot Mgr dengan konten ini (sayangnya saya tidak tahu t ambil tangkapan layar sebelum saya memperbaiki masalah):
Dapatkan ISO untuk instalasi atau perbaikan Windows (idealnya yang cocok dengan versi OS Anda) dan konfigurasikan VM tamu untuk mem-boot darinya (sekali lagi, pengaturan Storage).
Mulai VM tamu dan pilih untuk boot dari CD / DVD.
Setelah Anda berada di prompt perintah, jalankan perintah berikut (terima kasih kepada http://loverofcode.blogspot.com/2013/11/fixed-0xc000000e-boot-error.html untuk informasinya!):
Perintah terakhir ini harus menemukan instalasi Windows Anda dan meminta untuk menambahkannya ke BCD. Jawab 'Y'.
sumber
Saya memberikan jawaban yang diperluas untuk semua sistem operasi host yang berjalan pada sistem operasi host mana pun. Jawaban ini mengasumsikan Anda ingin menambah ukuran (untuk memperpanjang).
Catatan: Seperti yang ditunjukkan oleh djule5 (lihat komentar setelah pertanyaan),
modifyhd
sekarang dikenal sebagaimodifymedium
(tetapi tetap kompatibel ke belakang). Di sini saya gunakanmodifymedium
.1. Keluar dari VM Anda yang berjalan
Ya jawaban ini untuk file VDI yang sudah digunakan oleh VM VirtualBox.
2. Buka terminal pada host Anda untuk mengubah ukuran gambar disk
Baris perintah VBoxManage tidak ingin mengubah ukuran gambar disk menggunakan nama file VDI.
Oleh karena itu identifikasi UUID gambar disk Anda.
Perpanjang ukuran gambar disk.
3. Gunakan alat partisi untuk memperluas partisi logis
Jalankan VM yang dihosting. Kemudian gunakan alat partisi .
Beberapa alat untuk GNU / Linux yang dihosting:
Jika sistem yang dihosting menggunakan Windows:
4. Periksa ruang kosong partisi
Ukuran file VDI Anda (pada sistem host Anda) mungkin tidak berubah karena VM Anda belum menggunakan ruang ekstra. Selamat bersenang-senang.
sumber
Ini akan bekerja untuk saya dan harus menentukan jumlah total Kapasitas Hard Disk. Bukan ruang yang kita butuhkan untuk bertambah ...
sumber