Припустимо, ви скористалися моїми порадами по установці 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. Тут все просто:
Результат операції – створюється файл і він доступний ОС для роботи як новий фізичний диск.
Саме ця особливість роботи з VHD-файлами використовується для установки Windows 7 в VHD, щоб не були порушені інші розділи і встановлені на них операційні системи в наведеному мною раніше сценарії. І запускається DISKPART безпосередньо з диска установки Windows 7/Windows Server 2008 R2 в ході роботи майстра установки Windows – по комбінації клавіш Shift F10 (дивись все той же перший пост про установку).
Управління розділами всередині новоствореного "віртуального диска VHD аналогічно управління розділами на будь-якому іншому диску. Можна це зробити через графічну утиліту Disk Management, а можна використовувати команди того ж DISKPART в наступній послідовності:
І, насамкінець, як розширювати вже існуючі VHD-файли з використанням 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 в процесі розробки і демонстрацій, але і всім іншим :)