Назад | Перейти на главную страницу

Принудительная инициализация динамически расширяемого VHDX

Допустим, у нас есть 64 ГБ динамически расширяемого VHDX. После установки ОС "динамически инициализированное" пространство составляет около 10 ГБ. Теперь я знаю, что мне понадобится примерно на 25 ГБ больше места - например, всего 35 ГБ.

ВОПРОС: Как я могу принудительно инициализировать любую часть (например, 35G) или остальную часть файла VHDX?

МОТИВНЫЙ: Когда виртуализированная система подвергается установке дополнительного программного обеспечения, этот процесс идет медленнее, потому что помимо установки файлов VHDX необходимо инициализировать дополнительное пространство. Поэтому я хотел бы иметь возможность заранее инициализировать пространство, и когда придет время, установка дополнительного программного обеспечения не займет вечность.

Используйте sysinternal sdelete с переключателем z.

sdelete -z <driveletter:>

Переключатель z на ноль заполняет пустое пространство нулем, поэтому ваше изображение вырастет до 100% своего размера.

Обратите внимание: чтобы вырезать пространство после него с помощью команды diskpart compact vdisk, которую вы можете сделать, она вырезает свободное пространство, помеченное как ноль, из файла.

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

Для этого можно использовать Microsoft DiskSPD: https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223

Командная строка будет примерно такой:

Diskspd.exe -b64K -d10 -h -L -o1 -t1 -s -w100 -c20G c: \ io.dat

Где -c20G желаемый размер и c: \ io.dat это путь к файлу.

После удаления созданного тестового файла вы освободите место, но VHDX останется плавающим.

Надеюсь, поможет.