По подразбиране VirtualBox създава динамични дискове, които растат с течение на времето, докато добавяте данни. Ако обаче изтриете данни от виртуалната машина по-късно, ще забележите, че дискът не се свива автоматично. Но можете ръчно да намалите динамичния диск, като използвате скрита команда.
Не забравяйте, че това ще свие само диска, ако се разрасне и след това премахнете данните. Така че, ако току-що създадохте динамичен диск, това няма да го свие. Но ако сте създали динамичен диск, сте изтеглили 10 ГБ от данни в него и след това сте изтрили 10 ГБ данни след това, трябва да сте в състояние да свиете диска с около 10 ГБ.
Този процес работи само за динамични дискове, които могат да растат и да се свиват по размер. Динамичните дискове може да са до определен максимален размер - например 50 GB, но те действително достигат максималния размер, когато съдържат толкова много данни. Дисковете с фиксиран размер винаги ще са максималният им размер.
Ако имате диск с фиксиран размер, който искате да намалите, първо го преобразувайте в динамичен диск и след това следвайте инструкциите по-долу. Например, ако имате фиксиран диск с размер от 50 ГБ с едва 20 ГБ данни и го преобразувате в динамичен диск, трябва да сте в състояние да го свиете, за да заемате само 20 ГБ пространство.
За да проверите дали диск е динамичен или фиксиран размер в VirtualBox, щракнете с десния бутон на мишката върху виртуалната машина, която използва диска, и изберете "Настройки". Кликнете върху раздела "Съхранение" и изберете диска. Ще видите какъв диск се показва до "Подробности". Например в екранната снимка по-долу "Динамично разпределено хранилище" показва, че това е динамичен диск.
Не забравяйте да изтриете всички данни, които вече не искате на диска във виртуалната машина, за да освободите място, преди да продължите. Изтрийте файловете, които не са ви необходими, деинсталирайте програмите, които вече не използвате, и изпразнете Кошчето. След това ще трябва да презапишете това празно пространство с нули.
Ако имате Windows инсталиран във виртуалната машина, сега трябва да заредите виртуалния компютър и да дефрагментирате дисковете му. Във виртуалната машина потърсете менюто "Старт" за "Дефрагментиране" и стартирайте инструмента "Дефрагментиране на диска" или "Дефрагментиране и оптимизиране на устройства". Изберете диска, който искате да компактирате, и кликнете върху "Дефрагментиране на диска".
След като завърши процесът на дефрагментиране, ще трябва да напишете нули в празното пространство във виртуалната машина. Когато изтриете файлове, изтритите данни все още се съхраняват на диска, така че VirtualBox не може автоматично да свие устройството. Но когато пишете нули над изтритите файлове, VirtualBox ще види голямо количество нули - празно пространство, с други думи - и ще може да компактира диска.
За да направите това, изтеглете помощната програма SDelete от Microsoft. Извадете sdelete.exe
файл в папка на компютъра си.
Отворете прозореца на командния прозорец. За да направите това, отворете менюто "Старт", потърсете "Команден ред" и стартирайте прекия път.
Промяна в директорията, съдържаща sdelete.exe
файл чрез въвеждане CD
, като натиснете Спейс, като въведете пътя към указателя и натиснете Enter. Уверете се, че сте включили пътя в кавички, ако съдържат знак за интервал. Трябва да изглежда така:
cd "C: \ path \ to \ папка"
Например, ако сте извадили sdelete.exe
файл в папката за изтегляне на потребителския си акаунт и потребителското ви име за Windows е Bob, щяхте да изпълните следната команда:
cd "C: \ Users \ bob \ Downloads"
За да попълните бързо пътя за директорията, просто въведете CD
в прозореца на командния ред, натиснете Space и след това плъзнете и пуснете иконата на папката от адресната лента на мениджъра на файлове.
Изпълнете следната команда:
sdelete.exe c: -z
Това ще напише нули на цялото свободно дисково пространство на устройство C :. Ако искате да свиете вторично устройство, разположено с различна буквата на устройството във виртуалната машина, въведете буквата на устройството вместо c :. Това е предназначението на инструмента. Както отбелязва страницата на SDelete на уеб сайта на Microsoft, опцията -z е "добра за оптимизиране на виртуални дискове".
Ще бъдете помолени да приемете лицензионното споразумение на инструмента, преди да продължите. Просто кликнете върху "Съгласен съм".
Изчакайте процесът да завърши. Когато това стане, изключете виртуалната машина чрез опцията "Изключване" в менюто "Старт". Вече сте готови да го компактирате.
Ако имате инсталиран Linux във виртуалната машина - операционна система за гости на Linux вместо операционна система за гости на Windows, с други думи - можете да пропуснете процеса на дефрагментиране и да използвате вградените команди, за да нулирате свободното място на устройството. Ще използваме Ubuntu като пример тук, но процесът ще бъде подобен на други дистрибуции на Linux.
За да направите това, първо трябва да инсталирате zerofree
полезност във виртуалната машина. Той трябва да е наличен в софтуерните хранилища на Linux. Например, можете да го инсталирате в Ubuntu, като изпълните следната команда в терминала във вашата виртуална машина:
sudo apt инсталирате zerofree
Всъщност не можете да използвате zerofree
на вашия / дял, докато сте заредили в стандартната Linux среда. Вместо това, ще искате да заредите в специален режим за възстановяване, където нормалният ви корен дял не е монтиран. В Ubuntu рестартирайте виртуалната машина и многократно натискайте клавиша "Esc", докато зареждате, за да влезете в менюто на Grub.Когато се покаже менюто Grub, изберете "* Разширени опции за Ubuntu" и натиснете Enter.
Изберете опцията "(възстановяване)", свързана с най-новото ядро на Linux - това е опцията с най-високия номер на версията в горната част на списъка и натиснете Enter.
Изберете "root" в менюто за възстановяване, за да стартирате командата за root команда.
Натиснете "Enter" след това, когато на екрана се появи "Натиснете Enter за поддръжка". Ще ви бъде даден терминален подкана.
В командния ред определете кой виртуален диск искате да нулирате, като изпълните следната команда:
ге
В изхода по-долу виждаме това / Сътрудничество / sda1
е единственото ни действително дисково устройство тук. Знаем това, защото е единственият диск / Сътрудничество /
в лявата колона.
Ако приемем, че виртуалната ви машина е създадена с настройките по подразбиране, тя ще има само / Сътрудничество / sda1
, който е първият дял на първия твърд диск. Ако сте задали различни неща с няколко диска или няколко дяла, може да се наложи да нулирате друг дял или да нулирате няколко дяла.
Вече сте готови да нулирате диска. Изпълнете следната команда, заменете я / Сътрудничество / sda1
с името на устройството на дяла, на който искате да пишете нули. Повечето хора просто ще имат/ Сътрудничество / sda1
устройството е нула.
zerofree -v / dev / sda1
Когато процесът на нула завърши, изпълнете следната команда, за да изключите виртуалната машина:
спиране
Когато видите на екрана си съобщение "Система спряно", системата е спряна и вече можете да изключите виртуалната машина. Затворете прозореца на виртуалната машина и изберете "Изключете виртуалната машина".
Останалата част от процеса ще бъде извършена извън виртуалната машина на операционната система на хоста ви. Например, ако имате Windows 10, работещ на вашия компютър и Windows 7, изпълняващ се във виртуална машина, бихте изпълнили останалата част от процеса в Windows 10.
Тази опция не е изложена в графичния интерфейс на VirtualBox. Вместо това трябва да използвате VBoxManage.exe
команда.
Намерете тази команда, за да продължите. В Windows, ще го намерите в директорията на програмата VirtualBox, която еC: \ Program Files \ Oracle \ VirtualBox
по подразбиране. Ако сте инсталирали VirtualBox в друга директория, погледнете там.
Отворете прозореца на командния прозорец. За да направите това, отворете менюто "Старт", въведете ПМС
и натиснете Enter.
Тип CD
в командния ред, последван от пътя на папката, където е командата VBoxManage. Ще трябва да го прикрепите в кавички.
Можете бързо да направите това като напишете CD
в прозореца на командния прозорец и след това плъзнете и пуснете иконата на папката от адресната лента на мениджъра на файлове в командния ред.
Ако използвате пътя по подразбиране, той трябва да изглежда по следния начин:
cd "C: \ Програмни файлове \ Oracle \ VirtualBox"
ЗАБЕЛЕЖКА: Тези указания предполагат, че използвате VirtualBox в Windows. Ако използвате VirtualBox на MacOS или Linux, можете просто да отворите терминален прозорец и да го изпълните vboxmanage
команда нормално, както бихте направили всяка друга команда.
Стартирайте следната команда в прозореца на командния ред, за да видите списък с всички виртуални твърди дискове на компютъра:
VBoxManage.exe списък hdds
Разгледайте списъка и идентифицирайте файловия път към виртуалния диск, който искате да компресирате. Да приемем, че искаме да променим виртуалния диск, свързан с виртуалната машина, наречена "Windows 7". Както можем да видим в изхода по-долу, пътят към този виртуален диск в нашата система еC: \ Users \ chris \ ВиртуаленBox VMs \ Windows 7 \ Windows 7.vdi
.
За да компактирате диска, трябва да го използвате VBoxManage.exe
със съответната команда. Просто изпълнете следната команда, замествайки пътя към диска на VDI файла с пътя към диска на вашата система, който открихте, като използвате горната команда. Уверете се, че сте включили пътя на файла в кавички, ако той съдържа интервал някъде по пътя му.
Трябва да изглежда така:
VBoxManage.exe modifymedium диск "C: \ path \ to \ disk.vdi" - компактен
Например, тъй като пътят до файла е C: \ Users \ chris \ ВиртуаленBox VMs \ Windows 7 \ Windows 7.vdi
в нашия пример ще изпълним следната команда:
VBoxManage.exe modifymedium диск "C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" - съвместим
VirtualBox ще компактира диска и след това можете да заредите виртуалната машина веднага, ако искате. Колко място ще спестите, зависи от това колко празно пространство трябва да се възстанови.
VirtualBox ви позволява да създавате снимки за всяка виртуална машина. Те съдържат цялостно изображение на виртуалната машина, когато създадете моментната снимка, което ви позволява да я възстановите в предишно състояние. Това може да отнеме много място.
За да освободите повече място, изтрийте снимките, които не използвате. За да видите снимките, които сте запаметили за виртуална машина, я изберете в основния прозорец на VirtualBox и кликнете върху бутона "Снимки" отдясно на Подробности в лентата с инструменти. Ако вече нямате нужда от снимка, щракнете с десния бутон на мишката върху нея в списъка и изберете "Delete Snapshot", за да освободите място.