Допустим, вы воспользовались моими советами по установке Windows 7 на виртуальный раздел, который хранится в VHD-файле и теперь хотите его поменять… Или вам просто захотелось поманипулировать – изменить раздел или создать копию, сделать дочерний образ – VHD-файлами для виртуальных ОС, которые используются для запуска приложений в режиме Windows XP Mode. А иногда, чисто из нечеловеческого любопытства, хочется просто посмотреть, что же там внутри-то VHD делается…
Не беда – в Windows 7 или Windows Server 2008 R2 присутствуют все необходимые инструменты, чтобы воплотить все желания в вирутальную реальность :) и самый простой из них – стандартный Disk Management. При помощи этой графической консоли, модифицированной в Windows 7, можно создавать “виртуальные” диски, отображаемые в VHD-файлы, и монтировать уже существующие файлы, как диски так же, как и любые другие “физические” диски, создавать и расширять разделы на них.
Безусловно, такой подход наиболее понятен и удобен, если только не возникает несколько специфических задач, а именно – вы установили саму Windows 7 в VHD-файл и теперь нужно провести какие-то работы с данным файлом, или вам просто захотелось поменять установленный максимальный размер файла VHD (а не разделов, находящихся в нем), или необходимо автоматизировать какие-то процессы путем написания файла сценариев (скрипта). В таких случаях либо нет возможности вообще воспользоваться утилитой, либо она не позволяет этого сделать. И тогда на помощь приходит такая полезная и многократно описанная мной ранее (в том же посте про установку Windows 7 в VHD-файл или создание загрузочной USB-флешки для установки) утилита DISKPART.
Начнем с азов – создание VHD-файла и его монтирование как нового диска в Windows 7/Windows Server 2008 R2. Тут все просто:
выполняем в DISKPART последовательно команды:
Результат операции – создается файл и он доступен ОС для работы как новый физический диск.
Как раз эта особенность работы с VHD-файлами используется для установки Windows 7 в VHD, чтобы не были затронуты другие разделы и установленные на них ОС в приведенном мной ранее сценарии. И запускается DISKPART непосредственно с диска установки Windows 7/Windows Server 2008 R2 в ходе работы мастера установки Windows – по комбинации клавиш Shift+F10 (смотри все тот же первый пост про установку).
Управление разделами внутри вновь созданного “виртуального” диска VHD аналогично управлению разделами на любом другом диске. Можно это сделать через графическую утилиту Disk Management, а можно использовать команды того же DISKPART в следующей последовательности:
И, в заключение, как расширять уже существующие VHD-файлы c использованием DISKPART. Хочу заметить, что этот метод можно с успехом использовать как для увеличения размеров VHD-файлов виртуальных машин, так и для увеличения размеров разделов непосредственно ОС Windows 7, если она установлена в VHD. В последнем случае требуется загрузка с установочного диска или USB-флеш Windows 7, и в процессе работы мастера установки просто запускаем командную строку по Shift-F10 и из нее DISKPART.
Считаем, что VHD-файл у нас уже выбран и смонтирован, как диск (см.выше). Тогда:
Итак, мы получили файл увеличенного размера (в нашем примере с 10ГБ до 20ГБ), но это только файл, внутри диска разделы сохранили свои первоначальные размеры.
Поэтому мы можем воспользоваться либо тем же Disk Management, если позволяют обстоятельства, либо командами DISKPART:
Как видно из примера – довольно просто управлять VHD-файлами в виде дисков как непосредственно из WIndows 7, так и использовать загрузочный диск Windows 7 для изменения параметров VHD-диска самой Windows 7, если была выполнена установка на виртуальный раздел в VHD-файл.
Надеюсь, этот пост поможет не только моим коллегам, которые активно используют фазные вариации на тему VHD в процессе разработки и демонстраций, но и всем остальным :)