Як зменшити віртуальну машину VirtualBox і звільнити місце на диску
За замовчуванням VirtualBox створює динамічні диски, які з часом збільшуються під час додавання даних. Однак, якщо ви видалите дані з віртуальної машини пізніше, ви помітите, що диск не стискається автоматично. Але ви можете вручну скоротити динамічний диск за допомогою прихованої команди.
Пам'ятайте, що це лише зменшить обсяг диска, якщо його розмір збільшиться, і ви видалили дані. Отже, якщо ви щойно створили динамічний диск, це не зменшить його. Але, якщо ви створили динамічний диск, завантажили 10 ГБ даних, а потім видалили 10 ГБ даних, то ви зможете скоротити диск приблизно на 10 ГБ.
Перший крок: переконайтеся, що ви використовуєте динамічний диск
Цей процес працює тільки для динамічних дисків, які можуть рости і зменшуватися. Наприклад, динамічні диски можуть досягати певного максимального розміру - 50 Гб, - але вони фактично зростають до максимального розміру, коли вони містять стільки даних. Диски з фіксованим розміром завжди будуть максимальним розміром.
Якщо у вас є диск з фіксованим розміром, який потрібно зменшити, можна спочатку перетворити його на динамічний диск, а потім дотримуватися наведених нижче інструкцій. Наприклад, якщо у вас є фіксований диск розміром 50 ГБ з лише 20 ГБ даних, і ви перетворюєте його на динамічний диск, ви зможете зменшити його, щоб зайняти лише 20 Гб.
Щоб перевірити, чи є диск динамічним або фіксованим розміром у VirtualBox, клацніть правою кнопкою миші віртуальну машину, яка використовує диск, і виберіть "Налаштування". Перейдіть на вкладку "Storage" і виберіть диск. Ви побачите, який тип диска відображається поруч із пунктом "Деталі". Наприклад, на скріншоті нижче, "Динамічно виділене сховище" вказує, що це динамічний диск.
Крок другий: Запишіть нулі на диск у віртуальній машині
Обов'язково видаліть усі дані, які більше не потрібно на диску у віртуальній машині, щоб звільнити простір перед продовженням. Видалити файли, які вам не потрібні, видаляти програми, які ви більше не використовуєте, та очистити кошик. Потім необхідно перезаписати порожній простір нулями.
Для гостьових операційних систем Windows
Якщо у віртуальній машині інстальовано операційну систему Windows, тепер потрібно завантажувати віртуальну машину і дефрагментувати її. Усередині віртуальної машини виконайте пошук у меню "Пуск" для "Дефрагментації" і запустіть інструмент "Дефрагментація диска" або "Дефрагментація та оптимізація дисків". Виберіть диск, який потрібно компактно, і натисніть "Defragment disk".
Після завершення процесу дефрагментації вам потрібно буде записати нулі до порожнього простору віртуальної машини. При видаленні файлів видалені дані зберігаються на диску, тому VirtualBox не може автоматично зменшити привід. Але, коли ви пишете нулі над видаленими файлами, VirtualBox побачить велику кількість нулів-порожній простір, іншими словами - і зможете ущільнити диск.
Для цього завантажте утиліту SDelete від Microsoft. Витягніть sdelete.exe
файлу до папки на комп'ютері.
Відкрийте вікно командного рядка. Для цього відкрийте меню "Пуск", знайдіть "Командний рядок" і запустіть ярлик.
Перейдіть до каталогу, що містить sdelete.exe
набравши файл cd
, натиснувши клавішу Пробіл, введіть шлях до каталогу та натисніть клавішу Enter. Обов'язково вкладіть шлях у лапки, якщо він містить пробіл. Це має виглядати так:
cd "C: шлях до папки"
Наприклад, якщо видобули sdelete.exe
файл у папку завантаження облікового запису користувача, а ім'я користувача Windows - Bob, виконайте таку команду:
cd "C: Користувачі
Щоб швидко заповнити шлях до каталогу, просто введіть cd
у вікні командного рядка натисніть пробіл, а потім перетягніть піктограму папки з адресного рядка файлового менеджера.
Виконайте таку команду:
sdelete.exe c: -z
Це запише нулі до всього вільного місця на диску C :. Якщо ви хочете зменшити вторинний диск, розташований на іншій букві диска у віртуальній машині, введіть його замість c :. Для цього призначений інструмент. Як зазначає сторінка SDelete на веб-сайті Microsoft, опція -z є "корисною для оптимізації віртуального диска".
Перш ніж продовжити, вам буде запропоновано прийняти ліцензійну угоду інструменту. Просто натисніть "Погоджуватися".
Зачекайте, поки процес завершиться. Коли це буде зроблено, вимкніть віртуальну машину, використовуючи опцію «Завершення роботи» в меню «Пуск». Тепер ви готові його ущільнити.
Для гостьових операційних систем Linux
Якщо у віртуальній машині встановлено Linux - гостьову операційну систему Linux, а не гостьову операційну систему Windows, іншими словами - ви можете пропустити процес дефрагментації і використовувати вбудовані команди для нульового вільного місця на диску. Ми будемо використовувати Ubuntu як приклад тут, але цей процес буде схожий на інші дистрибутиви Linux.
Для цього спочатку потрібно встановити безвільний
у віртуальній машині. Він повинен бути доступним у репозиторіях програмного забезпечення вашого дистрибутива Linux. Наприклад, ви можете встановити його на Ubuntu, виконавши наступну команду на терміналі всередині віртуальної машини:
sudo може встановити zerofree
Ви насправді не можете користуватися безвільний
на вашому / розділі під час завантаження в стандартну середовище Linux. Замість цього ви хочете завантажитися в спеціальний режим відновлення, де не встановлено звичайний кореневий розділ. На Ubuntu перезапустіть віртуальну машину і повторно натискайте клавішу "Esc" під час завантаження, щоб отримати доступ до меню Grub. Коли з'явиться меню Grub, виберіть "* Додаткові параметри для Ubuntu" і натисніть Enter.
Виберіть опцію "(режим відновлення)", пов'язану з останнім ядром Linux, тобто параметр з найбільшим номером версії біля верхньої частини списку і натисніть клавішу Enter.
Виберіть "root" у меню відновлення, щоб завантажитися до підказки кореневої оболонки.
Після цього натисніть “Enter”, коли на екрані з'явиться повідомлення “Press Enter for maintenance”. Вам буде надано термінал.
У командному рядку визначте, який віртуальний диск потрібно довести до нуля, виконавши таку команду:
df
На виході нижче ми можемо побачити це / dev / sda1
тут є єдиним нашим реальним дисковим пристроєм. Ми знаємо це, тому що це єдиний диск з / dev /
у крайньому лівому стовпці.
Припускаючи, що ваша віртуальна машина створена за замовчуванням, вона буде тільки мати / dev / sda1
, який є першим розділом на першому жорсткому диску. Якщо ви налаштували різні речі з декількома дисками або кількома розділами, вам може знадобитися обнулити інший розділ або нуль декількох розділів.
Тепер ви готові до нуля диска. Запустіть наступну команду, замінивши її / dev / sda1
з іменем пристрою розділу, на якому потрібно записати нулі. Більшість людей просто матиме / dev / sda1
до нуля.
zerofree -v / dev / sda1
Коли нульовий процес завершено, виконайте таку команду, щоб вимкнути віртуальну машину:
зупинка
Коли на екрані ви побачите повідомлення "Система призупинено", система зупинилася, і ви можете вимкнути віртуальну машину. Закрийте вікно віртуальної машини та виберіть "Вимкнути віртуальну машину".
Крок третій: Знайдіть команду VBoxManage
Решта процесу буде виконуватися поза віртуальною машиною, на вашій операційній системі. Наприклад, якщо на комп'ютері працює Windows 10, а Windows 7 працює на віртуальній машині, решту процесу слід виконати в Windows 10.
Цей параметр не відображається в графічному інтерфейсі VirtualBox. Замість цього, ви повинні використовувати VBoxManage.exe
команду.
Знайдіть цю команду, щоб продовжити. У Windows ви знайдете його в каталозі програм VirtualBox, який є C: Програмні файли Oracle VirtualBox
за замовчуванням. Якщо ви встановили VirtualBox в інший каталог, подивіться там замість нього.
Відкрийте вікно командного рядка. Для цього відкрийте меню Пуск, введіть cmd
і натисніть 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: Користувачі chris Віртуальні віртуальні машини VirtualBox Windows 7 Windows 7.vdi" --компактний
VirtualBox буде компактний диск, і ви можете відразу завантажувати віртуальну машину після цього, якщо хочете. Скільки місця ви заощаджуєте, залежить від того, скільки порожнього простору потрібно відновити.
Також розгляньте можливість видалення знімків
VirtualBox дозволяє створювати знімки для кожної віртуальної машини. Вони містять повне зображення віртуальної машини при створенні знімка, що дозволяє відновити його до попереднього стану. Вони можуть зайняти багато місця.
Щоб звільнити більше місця, видаліть знімки, які ви не використовуєте. Щоб переглянути знімки, збережені для віртуальної машини, виділіть її в головному вікні VirtualBox і натисніть кнопку "Знімки" праворуч від відомостей на панелі інструментів. Якщо вам більше не потрібний знімок, клацніть його правою кнопкою миші в списку та виберіть "Видалити знімок", щоб звільнити місце.