Как сжать виртуальную машину VirtualBox и освободить дисковое пространство

Оглавление:

Как сжать виртуальную машину VirtualBox и освободить дисковое пространство
Как сжать виртуальную машину VirtualBox и освободить дисковое пространство

Видео: Как сжать виртуальную машину VirtualBox и освободить дисковое пространство

Видео: Как сжать виртуальную машину VirtualBox и освободить дисковое пространство
Видео: Комментарии Facebook и как с ними работать - как отключить комменты в Фейсбук - YouTube 2024, Май
Anonim
По умолчанию VirtualBox создает динамические диски, которые со временем растут при добавлении данных. Однако, если вы удалите данные с виртуальной машины позже, вы заметите, что диск не будет автоматически уменьшаться. Но вы можете вручную сжимать динамический диск с помощью скрытой команды.
По умолчанию VirtualBox создает динамические диски, которые со временем растут при добавлении данных. Однако, если вы удалите данные с виртуальной машины позже, вы заметите, что диск не будет автоматически уменьшаться. Но вы можете вручную сжимать динамический диск с помощью скрытой команды.

Помните, что это уменьшит размер диска только в том случае, если он вырос в размере, и с тех пор вы удалили данные. Итак, если вы только что создали динамический диск, это не уменьшит его. Но если вы создали динамический диск, загрузили в него 10 ГБ данных, а затем удалили эти 10 ГБ данных, вы сможете сжать диск примерно на 10 ГБ.

Шаг первый: убедитесь, что вы используете динамический диск

Этот процесс работает только для динамических дисков, которые могут расти и уменьшаться по размеру. Например, динамические диски могут быть до определенного максимального размера - 50 ГБ, но они только на самом деле растут до такого максимального размера, когда они содержат столько данных. Диски с фиксированным размером всегда будут иметь максимальный размер.

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

Чтобы проверить, является ли диск динамическим или фиксированным размером в VirtualBox, щелкните правой кнопкой мыши виртуальную машину, использующую диск, и выберите «Настройки». Перейдите на вкладку «Хранение» и выберите диск. Вы увидите, какой тип диска отображается рядом с «Детали». Например, на скриншоте ниже «Динамически распределенное хранилище» указывает, что это динамический диск.

Image
Image

Шаг второй: записать нули на диск в виртуальной машине

Обязательно удалите все данные, которые вы больше не хотите на диске внутри виртуальной машины, чтобы освободить место перед продолжением. Удалите файлы, которые вам не нужны, удалите программы, которые вы больше не используете, и очистите корзину. Затем вам нужно будет перезаписать это пустое пространство нулями.

Для гостевых операционных систем Windows

Если у вас установлена Windows внутри виртуальной машины, вы должны теперь загрузить виртуальную машину и дефрагментировать ее диски. Внутри виртуальной машины найдите в меню «Пуск» пункт «Дефрагментация» и запустите инструмент «Дефрагментация диска» или «Дефрагментация и оптимизация дисков». Выберите диск, который вы хотите сжать, и нажмите «Дефрагментировать диск».

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

Для этого загрузите утилиту SDelete из Microsoft. Извлеките

sdelete.exe

файл в папку на вашем компьютере.

Откройте окно командной строки. Для этого откройте меню «Пуск», найдите «Командная строка» и запустите ярлык.
Откройте окно командной строки. Для этого откройте меню «Пуск», найдите «Командная строка» и запустите ярлык.
Перейдите в каталог, содержащий
Перейдите в каталог, содержащий

sdelete.exe

файл путем ввода

cd

нажав «Пробел», введя путь к каталогу и нажав «Ввод». Обязательно укажите путь в кавычках, если он содержит пробельный символ. Он должен выглядеть так:

cd 'C:path ofolder'

Например, если вы извлекли

sdelete.exe

файл в папку загрузки вашей учетной записи пользователя, а ваше имя пользователя Windows - Bob, вы выполните следующую команду:

cd 'C:UsersobDownloads'

Чтобы быстро заполнить путь к каталогу, просто введите

cd

в окне командной строки нажмите «Пробел», а затем перетащите значок папки из адресной строки файлового менеджера.

Выполните следующую команду:
Выполните следующую команду:

sdelete.exe c: -z

Это будет записывать нули во все свободное место на диске C:. Если вы хотите уменьшить дополнительный диск, расположенный на другой букве диска на виртуальной машине, введите его букву диска вместо c:. Для этого был разработан инструмент. Как и на странице SDelete на веб-сайте Microsoft, опция -z «хороша для оптимизации виртуальных дисков».

Перед продолжением вас попросят согласиться с лицензионным соглашением. Просто нажмите «Согласен».

Дождитесь завершения процесса. Когда это будет сделано, выключите свою виртуальную машину, используя опцию «Завершить работу» в меню «Пуск». Теперь вы готовы его сжать.
Дождитесь завершения процесса. Когда это будет сделано, выключите свою виртуальную машину, используя опцию «Завершить работу» в меню «Пуск». Теперь вы готовы его сжать.
Image
Image

Для гостевых операционных систем Linux

Если у вас установлен Linux на виртуальной машине - гостевая операционная система Linux, а не гостевая операционная система Windows, другими словами, вы можете пропустить процесс дефрагментации и использовать встроенные команды для нулевого свободного пространства на диске. Мы будем использовать Ubuntu в качестве примера здесь, но процесс будет похож на другие дистрибутивы Linux.

Для этого вам сначала нужно установить

zerofree

утилита внутри виртуальной машины. Он должен быть доступен в репозиториях вашего дистрибутива Linux. Например, вы можете установить его на Ubuntu, выполнив следующую команду на терминале внутри вашей виртуальной машины:

sudo apt install zerofree

Вы не можете использовать
Вы не можете использовать

zerofree

на вашем / разделе, пока вы загружаетесь в стандартную среду Linux.Вместо этого вы захотите перейти в специальный режим восстановления, когда ваш обычный корневой раздел не установлен. На Ubuntu перезагрузите свою виртуальную машину и несколько раз нажмите клавишу «Esc» во время загрузки, чтобы получить доступ к меню Grub. Когда появится меню Grub, выберите «* Дополнительные параметры для Ubuntu» и нажмите «Ввод».

Выберите параметр «(режим восстановления)», связанный с самым последним ядром Linux, то есть вариант с наивысшим номером версии в верхней части списка и нажмите «Ввод».
Выберите параметр «(режим восстановления)», связанный с самым последним ядром Linux, то есть вариант с наивысшим номером версии в верхней части списка и нажмите «Ввод».
Выберите «root» в меню восстановления для загрузки в приглашение командной строки.
Выберите «root» в меню восстановления для загрузки в приглашение командной строки.
Нажмите «Enter» после этого, когда на экране появится «Нажмите Enter для обслуживания». Вам будет предоставлена подсказка терминала.
Нажмите «Enter» после этого, когда на экране появится «Нажмите Enter для обслуживания». Вам будет предоставлена подсказка терминала.
В командной строке определите, какой виртуальный диск вам нужен, выполнив следующую команду:
В командной строке определите, какой виртуальный диск вам нужен, выполнив следующую команду:

df

На выходе ниже мы видим, что

/dev/sda1

это наше единственное фактическое дисковое устройство здесь. Мы знаем, что, поскольку это единственный диск с

/dev/

в крайнем левом столбце.

Предполагая, что ваша виртуальная машина была создана с настройками по умолчанию, она будет иметь

/dev/sda1

который является первым разделом на первом жестком диске. Если вы по-разному настраиваете разные диски или несколько разделов, вам может понадобиться нуль другого раздела или нуля нескольких разделов.

Теперь вы готовы обнулить диск. Выполните следующую команду, заменив
Теперь вы готовы обнулить диск. Выполните следующую команду, заменив

/dev/sda1

с именем устройства раздела, в который вы хотите записать нули. У большинства людей будет

/dev/sda1

устройство к нулю.

zerofree -v /dev/sda1

Когда нулевой процесс завершен, запустите следующую команду для завершения работы виртуальной машины:
Когда нулевой процесс завершен, запустите следующую команду для завершения работы виртуальной машины:

halt

Когда вы видите сообщение «System halted» на вашем экране, система остановилась, и теперь вы можете отключить свою виртуальную машину. Закройте окно виртуальной машины и выберите «Выключить виртуальную машину».
Когда вы видите сообщение «System halted» на вашем экране, система остановилась, и теперь вы можете отключить свою виртуальную машину. Закройте окно виртуальной машины и выберите «Выключить виртуальную машину».
Image
Image

Шаг третий: найдите команду VBoxManage

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

Этот параметр не отображается в графическом интерфейсе VirtualBox. Вместо этого вы должны использовать

VBoxManage.exe

команда.

Найдите эту команду, чтобы продолжить. В Windows вы найдете его в каталоге программ VirtualBox, который

C:Program FilesOracleVirtualBox

по умолчанию. Если вы установили VirtualBox в другой каталог, посмотрите там.

Откройте окно командной строки. Для этого откройте меню «Пуск», введите
Откройте окно командной строки. Для этого откройте меню «Пуск», введите

cmd

и нажмите Enter.

Тип
Тип

cd

в командной строке, а затем путь к папке, где находится команда VBoxManage. Вы должны будете заключить его в кавычки.

Вы можете быстро сделать это, набрав

cd

в окно командной строки, а затем перетащить значок папки из адресной строки диспетчера файлов в командную строку.

Если вы используете путь по умолчанию, он должен выглядеть следующим образом:
Если вы используете путь по умолчанию, он должен выглядеть следующим образом:

cd 'C:Program FilesOracleVirtualBox'

ПРИМЕЧАНИЕ. В этих инструкциях предполагается, что вы используете VirtualBox для Windows. Если вы используете VirtualBox для MacOS или Linux, вы можете просто открыть окно терминала и запустить
ПРИМЕЧАНИЕ. В этих инструкциях предполагается, что вы используете VirtualBox для Windows. Если вы используете VirtualBox для MacOS или Linux, вы можете просто открыть окно терминала и запустить

vboxmanage

обычно, как и любая другая команда.

Image
Image

Шаг четвертый: найдите путь к диску, который вы хотите компактно

Выполните следующую команду в окне командной строки, чтобы просмотреть список всех виртуальных жестких дисков на вашем компьютере:

VBoxManage.exe list hdds

Просмотрите список и определите путь к виртуальному диску, который вы хотите сжать. Предположим, мы хотим изменить виртуальный диск, связанный с виртуальной машиной под названием «Windows 7». Как видно из приведенного ниже результата, путь к этому виртуальному диску в нашей системе
Просмотрите список и определите путь к виртуальному диску, который вы хотите сжать. Предположим, мы хотим изменить виртуальный диск, связанный с виртуальной машиной под названием «Windows 7». Как видно из приведенного ниже результата, путь к этому виртуальному диску в нашей системе

C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi

Image
Image

Шаг пятый: компакт-диск

Чтобы сжать диск, вам необходимо использовать

VBoxManage.exe

с правильной командой. Просто запустите следующую команду, заменив путь к файлу VDI диска на путь к диску в вашей системе, который вы нашли, используя указанную выше команду. Обязательно укажите путь к файлу в кавычках, если он содержит пробел в любом месте своего пути.

Он должен выглядеть так:

VBoxManage.exe modifymedium disk 'C:path odisk.vdi' --compact

Например, поскольку путь к файлу

C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi

в нашем примере мы выполнили бы следующую команду:

VBoxManage.exe modifymedium disk 'C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi' --compact

VirtualBox будет сжимать диск, и вы можете сразу загрузить виртуальную машину, если хотите. Сколько места, которое вы в конечном итоге сохраняете, зависит от того, сколько свободного места было для восстановления.
VirtualBox будет сжимать диск, и вы можете сразу загрузить виртуальную машину, если хотите. Сколько места, которое вы в конечном итоге сохраняете, зависит от того, сколько свободного места было для восстановления.

Также подумайте об удалении снимков

VirtualBox позволяет создавать снимки для каждой виртуальной машины. Они содержат полное изображение виртуальной машины при создании моментального снимка, позволяя восстановить его в предыдущем состоянии. Это может занимать много места.

Чтобы освободить больше места, удалите снимки, которые вы не используете. Чтобы просмотреть снимки, сохраненные для виртуальной машины, выберите его в главном окне VirtualBox и нажмите кнопку «Снимки» справа от «Сведения» на панели инструментов. Если вам больше не нужен снимок, щелкните его правой кнопкой мыши в списке и выберите «Удалить снимок», чтобы освободить место.

Рекомендуемые: