Начална » как да » Как да свиете VirtualBox Virtual Machine и да освободите дисково пространство

    Как да свиете VirtualBox Virtual Machine и да освободите дисково пространство

    По подразбиране VirtualBox създава динамични дискове, които нарастват с времето, когато добавяте данни. Ако обаче по-късно изтриете данни от виртуалната машина, ще забележите, че дискът не се свива автоматично. Но можете ръчно да свиете динамичен диск, като използвате скрита команда.

    Не забравяйте, че това само ще свие диска, ако е нараснал и след като сте премахнали данните. Така че, ако току-що създадохте динамичен диск, това няма да го свие. Но ако сте създали динамичен диск, изтеглили 10 GB данни в него и след това изтрили 10 GB данни след това, би трябвало да можете да свиете диска с около 10 GB.

    Първа стъпка: Уверете се, че използвате динамичен диск

    Този процес работи само за динамични дискове, които могат да растат и да се свиват по размер. Динамичните дискове могат да бъдат с определен максимален размер от 50 GB, например, но те всъщност растат до максималния размер, когато съдържат толкова много данни. Дисковете с фиксиран размер винаги ще бъдат максималният им размер.

    Ако имате диск с фиксиран размер, който искате да свиете, можете първо да го конвертирате в динамичен диск и след това да следвате инструкциите по-долу. Например, ако имате фиксиран диск с размер 50 ГБ и само 20 ГБ данни и го конвертирате в динамичен диск, трябва да можете да го свиете, за да заемате само 20 ГБ пространство..

    За да проверите дали дискът е динамичен или фиксиран в VirtualBox, щракнете с десния бутон върху виртуалната машина, която използва диска, и изберете "Настройки". Щракнете върху раздела “Storage” и изберете диска. Ще видите какъв тип диск се показва до „Подробности“. Например, на екрана по-долу, "Динамично разпределена памет" показва, че това е динамичен диск.

    Стъпка втора: Напишете нули на диска във виртуалната машина

    Не забравяйте да изтриете всички данни, които вече не искате на диска във виртуалната машина, за да освободите място, преди да продължите. Изтрийте файловете, които не са ви необходими, деинсталирайте програмите, които вече не използвате, и изпразнете кошчето си. След това ще трябва да презапишете празното пространство с нули.

    За гост-операционни системи за Windows

    Ако сте инсталирали Windows във виртуалната машина, сега трябва да стартирате виртуалната машина и да дефрагментирате нейните дискове. Вътре във виртуалната машина потърсете в менюто „Старт“ за „Дефрагментиране“ и стартирайте инструмента „Дефрагментиране на диска“ или „Дефрагментиране и оптимизиране на устройства“. Изберете диска, който искате да компактно и кликнете върху „Defragment disk“.

    След като процесът на дефрагментиране приключи, ще трябва да напишете нули към празното пространство във виртуалната машина. Когато изтривате файлове, изтритите данни все още се съхраняват на диска, така че VirtualBox не може автоматично да свие устройството. Но когато пишете нули над изтритите файлове, VirtualBox ще види голямо количество нули-празно пространство, с други думи - и ще може да компактно диск.

    За да направите това, изтеглете помощната програма SDelete от Microsoft. Извадете sdelete.exe файл в папка на вашия компютър.

    Отворете прозореца на командния ред. За да направите това, отворете менюто "Старт", потърсете "Команден ред" и стартирайте пряк път.

    Променете в директорията, съдържаща sdelete.exe файл, като въведете CD , натиснете Space, въведете пътя до директорията и натиснете Enter. Уверете се, че сте заложили пътя в кавички, ако той съдържа пробел. Трябва да изглежда така:

    cd "C: път към папка"

    Например, ако сте извлекли sdelete.exe в папката за изтегляне на потребителския ви профил и потребителското ви име за Windows е Bob, трябва да изпълните следната команда:

    cd "C: Потребители

    За да попълните бързо пътя на директорията, просто напишете CD в прозореца на командния ред натиснете Space и след това плъзнете и пуснете иконата на папката от адресната лента на файловия мениджър.

    Изпълнете следната команда:

    sdelete.exe c: -z

    Това ще запише нули за цялото свободно пространство на диска C :. Ако искате да свиете вторично устройство, намиращо се на различна буква на виртуалната машина, въведете буквата на устройството вместо c :. За това е предназначен инструментът. Тъй като страницата на SDelete се отбелязва на уебсайта на Microsoft, опцията -z е „добра за оптимизация на виртуални дискове“.

    Преди да продължите, ще бъдете помолени да се съгласите с лицензионното споразумение с инструмента. Просто кликнете върху „Приемам“.

    Изчакайте процесът да приключи. Когато свършите, изключете виртуалната си машина, като използвате опцията "Изключване" в менюто "Старт". Вече сте готови да го уплътните.

    За Linux операционни системи

    Ако имате инсталиран Linux във виртуалната машина - гост-операционна система Linux, вместо гост операционна система на Windows, с други думи - можете да пропуснете процеса на дефрагментиране и да използвате вградени команди за нулиране на свободното пространство на устройството. Ще използваме Ubuntu като пример тук, но процесът ще бъде подобен на други дистрибуции на Linux.

    За да направите това, първо трябва да инсталирате zerofree вътре в виртуалната машина. Той трябва да е наличен в софтуерните хранилища на вашата дистрибуция на Linux. Например, можете да го инсталирате в Ubuntu като изпълните следната команда на терминала във вашата виртуална машина:

    sudo може да инсталира zerofree

    Всъщност не можете да използвате zerofree на вашия дял, докато сте стартирани в стандартната среда на Linux. Вместо това ще искате да стартирате в специален режим на възстановяване, където нормалният ви коренов дял не е монтиран. На Ubuntu рестартирайте виртуалната си машина и многократно натиснете клавиша “Esc”, докато се стартира, за да влезете в менюто Grub. Когато се появи менюто Grub, изберете “* Advanced options for Ubuntu” и натиснете Enter.

    Изберете опцията “(режим на възстановяване), свързана с най-новото ядро ​​на Linux, т.е. опцията с най-високия номер на версията в горната част на списъка и натиснете Enter.

    Изберете "root" в менюто за възстановяване, за да стартирате командния ред.

    След това натиснете “Enter”, когато на екрана се появи “Press Enter for maintenance”. Ще получите терминален ред.

    В командния ред определете кой виртуален диск искате да нулирате, като изпълните следната команда:

    ге

    В изхода по-долу можем да видим това / Сътрудничество / sda1 тук е единственото ни действително дисково устройство. Ние знаем това, защото това е единственият диск с / Сътрудничество / в най-лявата колона.

    Ако приемем, че виртуалната ви машина е създадена с настройките по подразбиране, тя ще има само / Сътрудничество / sda1 , което е първият дял на първия твърд диск. Ако сте настроили нещата по различен начин с множество дискове или няколко дяла, може да се наложи да нулирате друг дял или нула с няколко дяла.

    Вече сте готови да нулирате диска. Изпълнете следната команда, заменяйки / Сътрудничество / sda1 с името на устройството на дяла, на който искате да запишете нули. Повечето хора просто ще имат / Сътрудничество / sda1 към нула.

    zerofree -v / dev / sda1

    Когато нулевият процес приключи, изпълнете следната команда, за да изключите виртуалната машина:

    спиране

    Когато видите съобщението “System stopted” на екрана, системата е спряла и сега можете да изключите виртуалната си машина. Затворете прозореца на виртуалната машина и изберете „Изключване на виртуалната машина“.

    Трета стъпка: Намерете командата VBoxManage

    Останалата част от процеса ще се изпълнява извън виртуалната машина, на вашата хост операционна система. Например, ако на компютъра ви се изпълнява Windows 10, а Windows 7 работи във виртуална машина, ще изпълните останалата част от процеса в Windows 10.

    Тази опция не се показва в графичния интерфейс на VirtualBox. Вместо това трябва да използвате VBoxManage.exe команда.

    Намерете тази команда, за да продължите. В Windows ще го намерите в програмната директория на VirtualBox, която е  C: Програмни файлове - Oracle VirtualBox по подразбиране. Ако сте инсталирали VirtualBox в друга директория, погледнете там вместо това.

    Отворете прозореца на командния ред. За да направите това, отворете менюто Старт, въведете ПМС и натиснете Enter.

    Тип CD в командния ред, последван от пътя на папката, където е командата VBoxManage. Ще трябва да го заключите в кавички.

    Можете бързо да направите това, като напишете CD в прозореца на командния ред, след което плъзнете и пуснете иконата на папката от адресната лента на файловия мениджър в командния ред.

    Ако използвате пътя по подразбиране, той трябва да изглежда по следния начин:

    cd "C: Програмни файлове - Oracle VirtualBox"

    ЗАБЕЛЕЖКА: Тези инструкции предполагат, че използвате VirtualBox за Windows. Ако използвате VirtualBox на MacOS или Linux, можете просто да отворите прозорец на терминала и да стартирате vboxmanage Командата е нормална, както и всяка друга команда.

    Четвърта стъпка: Намерете пътя към диска, който искате да компресирате

    Изпълнете следната команда в прозореца на командния ред, за да видите списък с всички виртуални твърди дискове на компютъра:

    VBoxManage.exe списък hdds

    Стъпка пета: компактна диск

    За да уплътните диска, трябва да го използвате VBoxManage.exe  с правилната команда. Просто изпълнете следната команда, замествайки пътя до VDI файла с пътя до диска в системата, който сте намерили с помощта на горната команда. Уверете се, че сте заложили пътя на файла в кавички, ако той съдържа пространство навсякъде по пътя му.

    Трябва да изглежда така:

    VBoxManage.exe modifymedium диск "C: \ t

    Например, тъй като пътят до файла е C: Потребители chris Виртуални виртуални машини Windows 7 Windows 7.vdi в нашия пример ще изпълним следната команда:

    VBoxManage.exe modifymedium диск "C: Потребители Крис VirtualMax VMs Windows 7 Windows 7.vdi" --компактен

    VirtualBox ще сгъсти диска и можете веднага да стартирате виртуалната машина, ако желаете. Колко място ще спестите, зависи от това колко празно място трябва да се възстанови.

    Също така помислете за изтриване на снимки

    VirtualBox ви позволява да създавате снимки за всяка виртуална машина. Те съдържат пълно изображение на виртуалната машина, когато сте създали моментната снимка, което ви позволява да я възстановите в предишно състояние. Това може да отнеме много място.

    За да освободите повече място, изтрийте снимките, които не използвате. За да видите снимките, които сте запазили за виртуална машина, изберете го в главния прозорец на VirtualBox и кликнете върху бутона „Снимки“ вдясно от Подробности в лентата с инструменти. Ако вече не се нуждаете от моментна снимка, щракнете с десния бутон върху него в списъка и изберете „Изтриване на снимка“, за да освободите място.