Как уменьшить размер динамического vhd диска

Обновлено: 18.05.2024

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

Hyper-V

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

После выбора диска, данный мастер позволет:

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

Hyper-V2

Windows7

Опишу способы которыми лично я пользуюсь.

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

diskmanshrink

Для увеличения или уменьшения вирутального диска можно воспользоваться утилитой командной строки diskpart:

Просмотреть наличие виртуальных дисков (если они подцеплены):

Необходимо выбрать нужный VHD:

Расширить диск до необходимого размера командой:

Уменьшить можно командой Shrink, просмотр на сколько можно уменьшить:

Уменьшеам на требуемый (позволительный) размер:

VhdResizer

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

vhdresizer

VhdTool

Данной утилитой можно расширять не только VHD диски но и файлы снимков AVHD.

В этой статье рассказывается, как изменить размер раздела VHD / VHDX без диспетчера Hyper-V, изменить размер виртуального раздела с физического компьютера.

Относится к: Windows 10, Windows 8, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 (R2), Windows Server 2008 (R2), Windows Server 2003 (R2).

Изменить размер VHD

То же самое с физическим жестким диском, вы можете изменить размер виртуальных разделов для виртуальной машины Hyper-V без потери данных. Изменить размер раздела очень просто, установив NIUBI Partition Editor Hyper-V VM, но возможно ли изменить размер раздела VHD / VHDX без Hyper-V? Ответ да, эта статья представляет подробные шаги для изменить размер виртуального раздела VHD / VHDX и диска без Hyper-V.

Подготовка перед изменением размера виртуального раздела VHD / VHDX

Перед началом изменения размера виртуальных разделов необходимо сделать две вещи:

Ошибка Hyper-V

Это легко понять, размер разделов после изменения размера отличается от размера в Checkpoint.

Virtual Manager error

Как изменить размер виртуального диска VHD / VHDX без диспетчера Hyper-V

Шаг 1: Откройте Управление диском in физический компьютер. (Правый клик Windows пометьте слева внизу или нажмите Windows и R ключи вместе, введите diskmgmt.msc и нажмите Enter.)

Шаг 2: Нажмите на Действие меню> Присоединить виртуальный жесткий диск

Attach VHD

Шаг 3: Нажмите на Приложения выберите файл VHD / VHDX и затем нажмите OK, чтобы продолжить.

Select VHD

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

VHD attached

NIUBI Partition Editor

Шаг 5: Щелкните правой кнопкой мыши диск M: и выберите " Resize/Move Volume ", тянуть левая граница направо во всплывающем окне или введите сумму в поле " Ранее не размеченное пространство "напрямую. Тогда диск D будет сжат, а с левой стороны от него будет оставлено нераспределенное пространство.

Shrink M

Partition shrunk

Шаг 6: Щелкните правой кнопкой мыши диск K: и выберите "Resize/Move Volume"снова во всплывающем окне перетащите правая граница вправо, чтобы объединить это нераспределенное пространство. Затем диск K расширяется в виртуальном режиме.

Extend K

Partition extended

Шаг 7: Нажмите на Apply в левом верхнем углу, чтобы вступить в силу. (Размеры разделов не изменятся до щелчка Apply подтвердить.)

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

Detach VHD

Hyper-V error

Как изменить размер виртуального жесткого диска VHD / VHDX без диспетчера Hyper-V

Виртуальный диск VHD / VHDX лучше, чем физический жесткий диск с фиксированным размером, и его размер можно быстро и легко изменить. Для выполнения этой задачи вы можете использовать диспетчер Hyper-V или PowerShell без Hyper-V.

Примечание: перед расширением виртуального диска с помощью PowerShell вы также должны закрыть гостевую виртуальную машину и удалить все связанные контрольные точки.

Как изменить размер / расширить VHD / VHDX диск без Hyper-V:

  1. Откройте PowerShell с правами администратора на панели быстрого запуска, в меню Пуск или в другом месте на вашем физическом компьютере.
  2. Тип Resize-VHD -Path 'E: \ hyperv.vhdx' -SizeBytes 500 ГБ

Объяснение:

  1. 'E: \ hyperv.vhdx' означает абсолютный путь и имя файла .vhd / .vhdx с кавычками.
  2. 500 ГБ означает расширение этого виртуального жесткого диска до 500 ГБ, не добавляя 500 ГБ.

После расширения виртуального диска дополнительное пространство будет показано как Нераспределенный на конец затем беги NIUBI Partition Editor и объединить нераспределенное пространство с другими разделами. Следуйте инструкциям в видео:

Video guide

  • Чтобы расширить любой непрерывный раздел, просто щелкните его правой кнопкой мыши, чтобы запустить "Resize/Move Volume", а затем перетащите границу, чтобы объединить Незанятое пространство.
  • Чтобы расширить несмежный раздел с Нераспределенным пространством, вам нужно переместить Нераспределенное пространство, чтобы оно было смежным с обеих сторон.

Помимо изменения размера раздела физического и виртуального диска, NIUBI Partition Editor помогает делать много других операций.

Рассмотрим пример, когда созданный ранее виртуальный диск VHD фиксированного размера потребовалось уменьшить. В нашем примере на одном из виртуальных серверов с Windows Server 2008 R2 имеется NTFS том D:\ занимающий 100% пространства отдельного виртуального VHD диска размером 160Gb. Ранее емкость этого диска использовалась для сетевого файлового ресурса, а теперь на этом диске размещён контент локального сервера WSUS, который занимает гораздо меньше места, и поэтому появилось желание уменьшить размер этого диска.

image

Для начала через оснастку управления дисками Disk Management (diskmgmt.msc) внутри виртуального сервера выполним сжатие логического тома до того размера который мы хотим получить в конечном счете – в контекстном меню тома выберем пункт Shrink Volume

image

В единственном доступном для редактирования значении введём то количество мегабайт которое мы собираемся отрезать от размера тома. В нашем примере мы укажем значение которое позволит уменьшить размер тома с 160Gb до 100Gb

image

  • The disk defragmenter successfully completed shrink estimation on WSUS (D:)
  • The disk defragmenter successfully completed shrink on WSUS (D:)

После успешного окончания процесса сжатия в консоли управления дисками появится соответствующий объём не используемого под логические тома места. Именно это место мы и планируем отсечь от физического файла фиксированного VHD. Но прежде чем приступить к шагу непосредственного изменения VHD будет правильно сделать полную резервную копию всей VM.

image

В интерфейсе утилиты в поле Source Vhd to Resize выбираем имеющийся у нас исходный VHD файл, после чего сразу отображается его тип и текущий размер. В поле Destination Vhd вводим имя создаваемого файла VHD и указываем его размер.

В значениях Min и Max указаны значения минимального и максимального размера в который может быть преобразован исходный файл. Не смотря на то, что в моём случае утилита отображала в качестве минимально возможного значения 102401 Mb, мне так и не удалось указать значение меньше чем 102402 Mb

image

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

Далее в оснастке управления виртуальными машинами Hyper-V Manager открываем свойства нашего виртуального сервера и меняем ссылку на VHD. При этом желательно не изменять Расположение (порядок диска на виртуальном контроллере)

image

Удостовериться в том что заголовки VHD файла являются читаемыми можно жмакнув по кнопке проверки

image

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

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

Hyper-V

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


После выбора диска, данный мастер позволяет

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

•Конвертировать диск т.е. изменить тип диска с фиксированного в динамический и наоборот.

•Расширить т.е. увеличить размер жесткого диска.


Windows7

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


Утилита командной строки diskpart:

Для увеличения или уменьшения виртуального диска можно воспользоваться утилитой командной строки diskpart:

Просмотреть наличие виртуальных дисков (если они подцеплены):

list vdisk

Необходимо выбрать нужный VHD:

SELECT VDISK file="нужный_VHD"

Расширить диск до необходимого размера командой:

EXPAND VDISK MAXIMUM="новый_размер_в_мегабайтах"

Уменьшить можно командой Shrink, просмотр на сколько можно уменьшить:

shrink

Уменьшаем на требуемый (позволительный) размер:

shrink desired=300

VHDResizer

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



VHDTool

VHD Tool – это отличный инструмент командной строки, который предоставляет полезные функции управления VHD, включая быстрое создание больших по размеру виртуальных жестких дисков

Данной утилитой можно расширять не только VHD диски, но и файлы снимков AVHD.

Читайте также: