VirtualBox membolehkan anda menjalankan Linux dalam mesin maya, dan anda selalunya akan mendapati cakera maya anda terus membesar dalam saiz, walaupun anda telah membersihkannya daripada fail. Saya akan menunjukkan kepada anda cara mengecilkan volum ini kembali kepada saiz, memampatkannya dan menjimatkan ruang cakera anda.
Jika anda telah menggunakan VirtualBox dengan tetamu Windows (dalam terminologi mesin maya "tetamu" ialah sistem pengendalian yang dijalankan dalam mesin maya), anda mungkin sudah biasa dengan Jumlah cakera VirtualBox mengecut apabila anda memadam fail daripadanya, supaya ia hanya menggunakan sebanyak mungkin ruang pada cakera fizikal anda kerana ia perlu mengandungi fail di dalamnya.
Ini adalah tujuan yang dimaksudkan untuk ciri peruntukan dinamik VirtualBox, tetapi ia tidak berfungsi dengan tetamu Linux. Apabila menggunakan tetamu Linux, ramai pengguna mendapati cakera membesar kepada saiz penuhnya, dan kemudian tidak pernah mengecil semula apabila fail dipadamkan daripadanya.
Ini disebabkan oleh cara Linux mengurus sistem failnya dan cara ia berinteraksi dengan hos VirtualBoxnya. Linux tidak "sifar" (timpa dengan data kosong) fail apabila ia dipadamkan atas sebab prestasi, jadi VirtualBox tidak mempunyai cara untuk memberitahu data pada cakera maya adalah data aktif dan yang dipadamkan.
Anda boleh menyelesaikan isu ini dengan mensifarkan data itu sendiri, dan memberitahu VirtualBox untuk memampatkan kelantangan, menurunkannya semula kepada saiz sebenar. Begini caranya.
Perkara pertama yang perlu anda lakukan untuk menuntut semula ruang cakera daripada cakera maya tetamu Linux anda ialah memastikan peruntukan dinamik didayakan. Jika tidak, anda perlu menukar cakera anda kepada cakera yang diperuntukkan secara dinamik.
Seterusnya, sandarkan cakera maya anda. Jika berlaku masalah (seperti perintah yang salah taip, atau kuasa anda terputus sebahagian daripada proses), anda berisiko kehilangan semua data dalam tetamu Linux anda.
Seterusnya, pada tetamu Linux anda jalankan arahan berikut dalam terminal:
sudo dd if=/dev/zero of=/var/deleteme
Perintah ini akan menulis data kosong (kosong) ke fail /var/deleteme sehingga cakera penuh sepenuhnya. Ini menimpa semua fail anda yang telah dipadamkan sebelum ini, menyelesaikan masalah bahawa Linux tidak menulis ganti data yang dipadamkan secara automatik.
Berhati-hati menggunakan arahan dd kerana ia akan menimpa data tanpa amaran! Semak arahan dan laluan anda dengan teliti sebelum menjalankannya.
Proses ini mungkin mengambil sedikit masa bergantung pada saiz volum, jadi bersabarlah dan jangan mengganggunya. Setelah selesai, proses akan keluar (mungkin dengan ralat mengatakan bahawa ia kehabisan ruang). Setelah ini berlaku, anda boleh memadamkan fail yang disifarkan dan menutup tetamu Linux anda:
sudo rm -rf /var/deleteme <p> sudo shutdown now -h</p>
Kini ruang yang tidak digunakan pada cakera maya anda disifarkan dan VirtualBox akan dapat menuntut semula ruang pada hos anda dengan mengecil ia. Langkah terakhir ialah menggunakan arahan vboxmanage untuk memampatkan imej cakera maya. Lakukan ini dengan menjalankan:
<code class="hljs ">vboxmanage modifymedium disk /path/to/image.vdi -compact</code>
Anda mesti menukar /path/to/image.vdi ke laluan cakera maya yang anda ingin padatkan. Jika anda menggunakan Windows, anda perlu menggunakan VBoxManage.exe seperti:
VBoxManage.exe modifymedium disk /path/to/image.vdi -compact
Jika VBoxManage.exe tidak tersedia daripada baris arahan pada sistem Windows anda, baca terus untuk mendapatkan arahan tentang cara mendayakannya.
Kaedah ini untuk memampatkan tetamu VirtualBox Linux menggunakan arahan dd untuk menulis fail kosong ke cakera supaya ruang kosong boleh dikenal pasti oleh VirtualBox.
Perintah dd (pendua data) menukar dan menyalin fail, dan juga boleh digunakan untuk menulis data. Pilihan "jika" yang dihantar kepadanya membekalkan fail input (dalam kes ini /dev/zero membekalkan aliran data nilai sifar atau data nol yang berterusan). Pilihan "daripada" menentukan fail output, dan aliran data sifar ini ditulis kepadanya. Ini akan berterusan sehingga cakera penuh kerana /dev/zero tidak pernah berhenti menyediakan data nol.
Secara lalai, VBoxManage.exe tidak tersedia pada baris arahan Windows. Anda boleh menambahnya dengan mengemas kini laluan sistem Windows anda untuk menyertakan direktori pemasangan VirtualBox, atau memanggil laluan penuh kepada boleh laku apabila menggunakannya:
& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact
Simbol "&", dipanggil operator panggilan, yang melaksanakan arahan yang disebut. . Ini membolehkan anda menggunakan ruang dalam laluan ke boleh laku.
Apabila tetamu anda berkembang, anda boleh meningkatkan saiz cakera maya mereka serta mengurangkannya. Snapshotting membolehkan anda mengambil keadaan mesin maya anda pada masa tertentu dan menyimpannya; jika anda kemudiannya ingin kembali kepada keadaan pada masa yang tepat itu (contohnya selepas menguji perubahan konfigurasi), anda boleh berpatah balik dan semuanya akan menjadi seperti sedia ada.
VirtualBox ialah alat virtualisasi yang berkuasa yang digunakan secara profesional oleh pembangun untuk membina dan menguji perisian, dan pengguna rumah untuk menjalankan perisian dan permainan lama pada komputer moden, atau menjalankan sistem pengendalian lain tanpa perlu membeli mesin kedua. Anda boleh menjalankan Windows, Linux, ChromeOS, Android dan sistem pengendalian lain pada MacOS, Windows dan Hos Linux.
Perubahan anda telah disimpan
E-mel dihantar
E-mel telah dihantar
Sila sahkan alamat e-mel anda.
Hantar e-mel pengesahanAnda telah mencapai maksimum akaun anda untuk topik yang diikuti.
Atas ialah kandungan terperinci Kehabisan Ruang Cakera? Tuntut Semula Dari VM VirtualBox Linux Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!