Ограничение увеличения динамических VHD при загрузке
Если вы экспериментировали с загрузкой Windows 7 из VHD в физической среде (native vhd boot), то наверняка знаете про следующую проблему, возникающую при загрузке с динамического диска.
Если вы создали не фиксированный (fixed size), а динамический (dynamic) VHD, то во время процесса загрузки Windows 7 увеличит его до максимального размера, указанного при создании диска (maximum=).
При этом , если VHD находится на разделе, не имеющим свободного места для увеличения диска, мы получаем гарантированный BSOD.
Это не очень удобно, при работе в тестовой среде, или в тех случаях, когда мы не хотим тратить свободное место на «пустые» VHD фиксированного размера.
Проблема имеет решение. Можно настроить Windows 7 так, чтобы при загрузке динамический диск не увеличивался до максимума, а «рос» по мере заполнения данными.
Для этого необходимо установить ключ реестра Windows 7 внутри VHD в следующее значение:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ FsDepends\Parameters] "VirtualDiskExpandOnMount"=dword:00000004
Я делаю это простым командным файлом (предполагается что VHD подключен к диску v:)
reg load HKLM\VhdTemp v:\windows\system32\config\system reg add "HKLM\VhdTemp\ControlSet001\services\FsDepends\Parameters" /v "VirtualDiskExpandOnMount" /t REG_DWORD /d "00000004" /f reg add "HKLM\VhdTemp\ControlSet002\services\FsDepends\Parameters" /v "VirtualDiskExpandOnMount" /t REG_DWORD /d "00000004" /f reg unload HKLM\VhdTemp
При этом следует иметь в виду, что на физическом разделе должно оставаться место для роста VHD при заполнении его данными, а так же на файл подкачки для системы внутри VHD. Отказавшись от увеличения диска, которое ранее гарантировало резервирование места для заполнения VHD до 100% размера, теперь вы сами управляете этим процессом.
Удачных экспериментов.










