Как увеличить/уменьшить размер виртуального диска Hyper-V?
19.01.2023
itpro
Hyper-V, Windows 10, Windows Server 2016, Виртуализация
комментария 3
Динамическое изменение размеров дисков виртуальных машин доступно, начиная с версии 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 файлов или VHD Set (VHDS/AVHDX) дисков, используемых в гостевых кластерах;
- Нельзя изменить размер виртуального диска, для которого создан снапшот (например при резервном копировании).
Увеличиваем размер виртуальный VHDX диска в Hyper-V
Рассмотрим, как увеличить размер виртуального VHDX диска с помощью консоли Hyper-V Manager.

- В менеджере виртуальных машин Hyper-V выберите виртуальную машину, перейдите в ее настройки (Settings) -> SCSI Controller;
- Выберите нужный виртуальный диск и нажмите кнопку Edit;

Если кнопка Edit неактивна, и внизу указано Edit is not available because checkpoint exist for this virtual machine, нужно удалить снапшоты. Возможно необходимо отключить Production Checkpoint в свойствах ВМ.
Как сжать виртуальный VHDX диск в Hyper-V?
Рассмотрим теперь как уменьшить размер виртуального vhdx диска на Hyper-V.

-
Перед тем как сжать виртуального диска из консоли Hyper-V, необходимо внутри гостевой ОС уменьшить размер логического раздела на диске, освободить часть места, преобразовав его в неразмеченную область. Для этого внутри гостевой ОС откройте диспетчер управления дисков, выберите нужный раздел и выберите пункт Shrink Volume (Сжать том);

Прежде чем уменьшать размер VHDX файла, попробуйте дефрагментировать его с помощью оптимизации Hyper-V. Выберите пункт Compact в предыдущей форме. Либо для оптимизации и дефрагментации динамического диска Hyper-V можно использовать команду PowerShell: Optimize-VHD -Path ‘D:\Hyper-V\fs01.vhdx’
Изменить размер виртуального диска 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
Как уменьшить размер жесткого диска в Hyper-V

Виртуальные жесткие диски очень удобны — их можно увеличивать и уменьшать, согласно Вашим нуждам. Однако, уменьшение виртуального жесткого диска через оснастку виртуальной машины Hyper-V может оказаться не самой интуитивно понятной процедурой. Для исключения путаницы и лишних или неверных действий, следует воспользоваться материалом ниже.
Предварительные действия
Сперва, перед уменьшением раздела виртуального жесткого диска, нужно уменьшить объем логического раздела на этом диске, поскольку в противном случае, уменьшить виртуальный диск не получится. Делается это через установленную на этом виртуальном жестком диске операционную систему.
Windows
- Нужно открыть Управление дисками, сделать это можно зажав поочередно клавиши Win + R , и в окне «Выполнить» ввести команду diskmgmt.msc , после чего нажать «ОК».
- Общий размер до сжатия (МБ) — размер раздела ДО уменьшения
- Доступное для сжатия пространство (МБ) — сколько мегабайт можно «забрать» у данного раздела
- Размер сжимаемого пространства (МБ) — сколько мегабайт будет «отобрано» у раздела
- Общий размер после сжатия (МБ) — размер раздела ПОСЛЕ уменьшения
Уменьшение размера через графический интерфейс
- Открываем свойства виртуальной машины, и переходим на вкладку «Жесткие диски». В левой колонке ищем нужный жесткий диск.
- В разделе «Носитель», где указан путь к файлу жесткого диска, нажимаем на кнопку «Правка».

- Откроется мастер, в котором будет написан путь к виртуальному жесткому диску, все что нужно нажать — это «Далее».

- Выбираем пункт «Сжать», и нажимаем «Далее».

Как уменьшить размер диска hyper v
Hyper-V
Необходимо запустить мастер работы с виртуальными дисками, открыв контекстове меню виртуального сервера и выбрав элемент Edit Disk.

После выбора диска, данный мастер позволет:
- Скомпоновать диск т.е. уменьшить диск посредством удаления свободного места, таким образом размер виртуального диска в конечном итоге будет составлять максимально приближенный размер к занимаемым данным на самом диске.
- Конвертировать диск т.е. изменить тип диска с фиксированного в динамический и наоборот.
- Расширить т.е. увеличить рамер жесткого диска.

Windows7
Опишу способы которыми лично я пользуюсь.
Для уменьшения размера жесткого диска, можно данный диск уменьшить при помощи консоли управления жесткого диска, подключив данный диск посредством Attach VHD, бырать диск в списке дисков, в конекстом меню выбрать Shrink.

Для увеличения или уменьшения вирутального диска можно воспользоваться утилитой командной строки diskpart:
Просмотреть наличие виртуальных дисков (если они подцеплены):
Необходимо выбрать нужный VHD:
Расширить диск до необходимого размера командой:
Уменьшить можно командой Shrink, просмотр на сколько можно уменьшить:
Уменьшеам на требуемый (позволительный) размер:
VhdResizer
Все просто до безобразия, при запуске программы открывается окно выбора VHD диска, после открытия в статусной строке отображается объем диска, для преобразования необходимо пересохранить диск в другое месторасположение, при этом указав тип диска и его размер.

VhdTool
Данной утилитой можно расширять не только VHD диски но и файлы снимков AVHD.
Как уменьшить размер диска hyper v
Подскажите пожалуйста, как уменьшить размер динамически расширяемого VHDX? На хосте виртуализации VHDX файл занимает 533 Gb, хотя внутр этой виртуалки свободно 425 Gb. При попытке выполнить Shrink, размер разрешаетс\ уменьшить лишь на 184 Gb. А мне нужно уменьшить размер этой виртуалки (и диска VHDX) по-максимуму, хотя бы на 400 Gb.
Как это можно сделать?
Ответы
Вы хотите уменьшить размер vhdx-файла или размер диска C: виртуальной машины? Воспользуйтесь советами wiki-статьи
причем не только статьи, но и комментариев к ней.
- Помечено в качестве ответа umuom 26 октября 2015 г. 20:55
Все ответы
This posting is provided "AS IS" with no warranties, and confers no rights.