- OSBoy notes.
- Изменение размера виртуального диска в VirtualBox
- Увеличение размера
- Уменьшение размера
- Уменьшение размера виртуального диска VHD(X)
- Утилита VHD Resizer
- Powershell в Windows 2012
- Виртуальная машина уменьшить размер виртуального диска
- Как уменьшить виртуальный диск hyper v
- Как увеличить виртуальный диск hyper v
- Уменьшить с помощью Powershell
- Популярные Похожие записи:
- 4 Responses to Как в Hyper-V уменьшить размер диска
- Как увеличить/уменьшить размер виртуального диска Hyper-V?
- Увеличиваем размер виртуальный VHDX диска в Hyper-V
- Как сжать виртуальный VHDX диск в Hyper-V?
- Изменить размер виртуального диска Hyper-V с помощью PowerShell
OSBoy notes.
Записки обо всём.
Изменение размера виртуального диска в VirtualBox
Увеличение размера
Предположим, что нам стало не хватать дискового пространства на виртуальной машине. Можно, конечно, добавать ещё один виртуальный диск, но в Oracle VirtualBox, также, есть возможность увеличить уже имеющийся виртуальный диск.
Для увеличения размера виртуального диска, сначала удаляем все снимки состояния данной ВМ. Затем воспользуемся утилитой VBoxManage, идущей в комплекте с Virtualbox. Открываем командную строку и выполняем в ней команду, подобную этой:
«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd «E:\VirtualBox\VMs\Debian\Debian_disk1.vdi» —resize 102400
- C:\Program Files\Oracle\VirtualBox\ — путь до каталога с установленной VirtualBox (у вас может отличаться);
- E:\VirtualBox\VMs\Debian\Debian_disk1.vdi — путь до образа виртуального диска, размер которого мы изменяем;
- 102400 — размер в мегабайтах, до которого мы хотим увеличить наш виртуальный диск (в данном случае — 100ГБ).
После выполнения данной команды, запускаем виртуальную машину и можем видеть, что на виртуальном диске появилось нераспределённое пространство, на которое теперь можно растянуть нужные разделы, средствами гостевой ОС, либо загрузившись с LiveCD (например, можно воспользоваться diskmgmt.msc или Acronis Disk Director в Windows, GParted в Linux, и т.п. утилитами ).
Однако, опция —resize работает только для увеличения размера диска. Для уменьшения — алгоритм будет другой.
Уменьшение размера
В VirtualBox очень удобно использовать динамически расширяющиеся жёсткие диски, которые не резервируют сразу всё отведённое им место на хост-машине, а расширяются по мере необходимости. Но при всём их удобстве, есть у них и недостаток: если с такого диска удалить файлы, то размер его образа на хост машине не уменьшится, а останется прежним.
Чтобы cжать образ этого диска до минимальных размеров, для начала нужно очистить его неразмеченные области (от остатков удалённых файлов). Для этого, в гостевой ОС нужно воспользоваться специальной утилитой, обнуляющей свободные секторы.
В Windows — можно использовать утилиту Sdelete. Утилита не требует установки, ее достаточно распаковать и запустить из командной строки команду:
В Linux — есть утилита zerofree.
В моём примере на ВМ установлен Debian. Устанавливаем zerofree через систему управления пакетами (если ещё не установлена):
# apt install zerofree
Для очистки раздела, его нужно отмонтировать, либо перемонтировать в режиме read-only (только чтение), иначе zerofree выдаст ошибку. Если требуется перемонтировать коренной раздел, то сначала нужно перейти в однопользовательский режим:
В данном случае будем чистить раздел /dev/sda3 , который у меня смонтирован в /home — на нём хранятся все пользовательские файлы:
# mount -o remount,ro -t ext4 /dev/sda3
Запускаем zerofree для очистки нужного раздела:
# zerofree -v /dev/sda3
Для выхода из однопользовательского режима выключаем ВМ:
После очистки диска и выключения ВМ, удаляем все снимки состояния данной ВМ, запускаем консоль и выполняем команду:
«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd «E:\VirtualBox\VMs\Debian\Debian_disk1.vdi» —compact
Эта команда сожмёт образ виртуального диска до минимального размера.
Следует отметить, что в интернете есть информация, что можно увеличить размер только ДИНАМИЧЕСКИХ виртуальных дисков форматов VDI или VHD, уменьшить — только VDI. Лично я использую динамические диски в формате VDI (родной формат VirtualBox), с которым всё вышеописанное точно работает. С другими форматами не эксперементировал.
Уменьшение размера виртуального диска VHD(X)
В процессе работы с Hyper-v может возникнуть необходимость изменения размеров жестких дисков виртуальных машин. К сожалению, стандартные средства Windows 2008 R2 Вы не позволяют производить уменьшение размера жесткого диска — только увеличение диска или преобразование из динамического в фиксированный (и обратно).
Утилита VHD Resizer
Powershell в Windows 2012
В ранних версиях Hyper-V функционал по уменьшению размена виртуального диска вообще отсутствовал. Начиная с Windows Server 2012 появилась штатная возможность урезания виртуальных дисков, однако воспользоваться ей по прежнему не очень просто. Дело в том, что для уменьшения размера VHD необходимо наличие внутри него свободного неразмеченного пространства. В противном случае опция Урезать (Shrink) недоступна отсутствует в графическом интерфейсе, а PowerShell при попытке урезать диск с помощью Resize-VHD выдаст ошибку.
В качестве примера возьмем виртуальную машину SRV01 с виртуальным диском 40Гб и урежем ее до 30Гб. Для этого сначала поместим ВМ в переменную и выведем свойства ее виртуального диска:
$vm = Get-VM -Name SRV01
Get-VHD -VMId $vm.VMId
В свойствах VHD нас интересуют такие параметры, как:
- FileSize — текущий размер файла VHD. Показывает реальный объем дискового пространства, который занимает виртуальный диск.
- Size — текущий размер виртуального диска. В случае с динамическим VHD показывает максимальный размер, до которого он может вырасти.
- MinimumSize — минимальный размер виртуального диска, или минимально возможный размер, до которого можно урезать VHD.
Как видно из примера, мы имеем динамически расширяемый VHD размером 40Гб, из которых на данный момент занято чуть больше 20Гб. Свободное место имеется, однако текущий и минимальный размеры практически одинаковы, поэтому урезать диск не получится.
Для последующих манипуляций ВМ должна быть выключена, поэтому проверяем ее состояние и, если надо, выключаем:
$vm.State $vm | Stop-VM -Force
Затем подмонтируем VHD к родительской системе и выведем свойства получившегося диска:
Mount-VHD -Path $vm.HardDrives.Path -Passthru | Get-Disk
Берем полученный номер диска и выводим все имеющиеся на нем разделы:
Get-Partition -DiskNumber 3
Если на диске вдруг оказалось несколько мелких непонятных разделов, не стоит их трогать. Они содержат важную информацию, необходимую системе для загрузки и восстановления. Нам нужен раздел, имеющий букву диска. Урежем его до 30Гб и проверим, что получилось:
Resize-Partition -DriveLetter E -Size 30GB
Get-Partition -DriveLetter E
Отмонтируем VHD от родительской системы:
Dismount-VHD -Path $vm.HardDrives.Path
И урезаем его до минимально-возможного значения:
Resize-VHD -Path $vm.HardDrives.Path -ToMinimumSize
Как видите, все получилось, виртуальный диск урезан до 30Гб. Остается только запустить ВМ.
Источниками данной статьи послужили следующие материалы:
Виртуальная машина уменьшить размер виртуального диска
Всем привет сегодня я хочу вам рассказать, о очень полезной функции которой к сожалению нет у VMware ESXI 5.5, а есть у Hyper-V начиная с Windows Server 2012. Это функция уменьшения размера виртуального диска. Сделано очень удобно, так как это может спасти администратора виртуализации он неправильно спланированной инфраструктуры виртуальной машины.
Как уменьшить виртуальный диск hyper v
Напомню, что VMware тоже давал некоторые методы по уменьшению vmdk файлов, но там это делалось не очень удобно через конвертер. В MS как ни странно данный процесс сделали в виде удобного мастера.
Итак как же уменьшить виртуальный диск hyper v, для этого логинимся в свою виртуальную машину, у меня на ней установлен Windows Server 2012 R2, но это не принципиально. Вам нужно зайти в оснастку Управление дисками.
Выбираем диск который следует уменьшить, щелкаем по нему правым кликом и нужна нажать Сжать.
Задаете размер сжимаемого пространства и жмете сжать.
в итоге у вас появится не размеченное пространство на вашем локальном диске, за счет него мы и уменьшим диск hyper-v.
Теперь выключаем виртуальную машину и заходим в ее свойства.
Выбираем нужный виртуальный диск, и запускаем пункт правка.
Откроется мастер изменения виртуального жесткого диска
Как видите, тут тоже есть функция Сжать, она то и позволит в hyper-v уменьшить размер диска, жмем далее.
Мастер вам подскажет до какого минимума можно сжать диск.
Осталось только проверить, запускаем виртуалку и открываем Мой компьютер. И как видите, все успешно сжалось.
Как увеличить виртуальный диск hyper v
Для увеличения виртуального жесткого диска, следует в мастере изменения виртуального жесткого диска, выбрать пункт развернуть, перевод конечно очень корявый. Так, что увеличить диск hyper v, ни чуть не сложнее.
Уменьшить с помощью Powershell
давайте тоже самое проделаем из командной строки сильного языка:) Первым делом у нас есть виртуальная машина dc1, давайте ее закинем в переменную и посмотрим ее свойства.
- File Size > по сути это нынешний размер файла VHD. Отображает, сколько реально используется.
- Size > нынешний размер виртуального диска. Если VHD динамический, то вам отобразят максимальный размер, до которого он может увеличиться
- Minimum Size > отображает до какого размера можно уменьшить VHD.
Имеем динамически расширяемый VHD — размером 40Gb, из которых занято > 20Gb. Как видите свободное пространство имеется, но оно практически одинаково с минимальным, и уменьшить диск, не выйдет.
Как и в графическом варианте, виртуальная машина должна быть потушена.
Берем и монтируем данный виртуальный диск к нашей системе на физическом компьютере, ее еще называют родительской. Посмотрим свойства данного виртуального диска
Запоминаем номер диска и поглядим все разделы на нем с помощью команды
Нас интересует раздел, имеющий букву диска. Уменьшим его до 30Gb и проверим:
Как видите команда прошла успешно, давайте отмантируем данный VHD:
И уменьшим его до минимально значения:
Популярные Похожие записи:
4 Responses to Как в Hyper-V уменьшить размер диска
Добрый день.
Пытаюсь уменьшить диск первым способом, но в мастере изменения виртуального жесткого диска вижу только два варианта «convert» и «expand»
Случайно выделил 96 гигов не на тот виртуальный диск. Присоединить неразмеченное пространство с одного виртуального локального диска на второй вряд ли возможно, а дарить столько памяти не тому диску обидно.
Вторым способом сжимать боюсь, так как в программировании не силен и боюсь потерять важные данные
Может я что-то упустил?
Какая у вас версия Hyper-V?
Если диск не уменьшается необходимо прогнать на нем командлет Optimize-VHD
Спасибо за мануал! C Windows разделом понятно. А как в Hyper-V уменьшить размер диска Linux (ext4)?
Как увеличить/уменьшить размер виртуального диска Hyper-V?
Динамическое изменение размеров дисков виртуальных машин доступно, начиная с версии Hyper-V в Windows Server 2012 R2. Функция Online VHDX Resize позволяет вам увеличить или уменьшить размер vhdx диска виртуальной машины онлайн (без остановки ВМ). В этой статье мы рассмотрим, как увеличить или уменьшить (сжать) размер диска виртуальной машины в Hyper-V, запущенном в Windows 10 или Windows Server 2016 (инструкции применима для всех поддерживаемых версий Hyper-V, в том числе бесплатного Hyper-V Server).
Основные возможности и ограничений Online VHDX Resize в Hyper-V:
- Вы можете изменить размер виртуального диска Hyper-V любого типа: фиксированного, динамического, и дифференциального.
- Вы можете изменить размер VHDX диска (в том числе системного диска гостевой ОС) на-лету. Останавливать виртуальную машину не нужно;
Увеличиваем размер виртуальный VHDX диска в Hyper-V
Рассмотрим, как увеличить размер виртуального VHDX диска с помощью консоли Hyper-V Manager.
- В менеджере виртуальных машин Hyper-V выберите виртуальную машину, перейдите в ее настройки (Settings) -> SCSI Controller;
- Выберите нужный виртуальный диск и нажмите кнопку Edit;
Как сжать виртуальный VHDX диск в Hyper-V?
Рассмотрим теперь как уменьшить размер виртуального vhdx диска на Hyper-V.
- Перед тем как сжать виртуального диска из консоли Hyper-V, необходимо внутри гостевой ОС уменьшить размер логического раздела на диске, освободить часть места, преобразовав его в неразмеченную область. Для этого внутри гостевой ОС откройте диспетчер управления дисков, выберите нужный раздел и выберите пункт Shrink Volume (Сжать том);
Изменить размер виртуального диска Hyper-V с помощью PowerShell
Можно изменить размер VHDX диска с помощью PowerShell. Для этого используется командлет Resize-VHD (не путать с Resize-VirtualDisk , который относится к командлетам модуля управления дисками Storage).
Сначала нужно получить полный путь к VHDX диску виртуальной машины:
Get-VM -VMName fs01 | Select-Object VMId | Get-VHD
Здесь же можно увидеть реальный размер VHDX файла на диске (FileSize) и максимальный размер, который он может занять (Size).
MinimumSize – это минимальный размер VHDX диска, до которого можно уменьшить файл виртуального диска.
Чтобы увеличить размер VHDX диска нужно указать его новый размер:
Resize-VHD -Path ‘C:\VM\fs01\Virtual Hard Disks\fs01.vhdx’ -SizeBytes 50Gb
Можно сделать это удаленно через PowerShell Remoting. Подключитесь к виртуальной машины с помощью Invoke-Command или Enter-PSSession (по сети или через PowerShell Direct)
Enter-PSSession -ComputerName fs01
Получим информацию о том, на сколько можно расширить раздел и расширим его до максимального размера:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
Если нужно уменьшить размер виртуального диска до минимально-возможного, выполните:
Resize-VHD -Path ‘C:\VM\fs01\Virtual Hard Disks\fs01.vhdx’ -ToMinimumSize
Данная команда уменьшила максимальный размер VHDX файла на 6 Гб.