Допустим, вы воспользовались моими советами по установке 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. Тут все просто:
- Запускаем (в Windows 7!!!) из командной строки или из пункта Run команду DISKPART и попадаем в соответствующее приглашение программы:
выполняем в DISKPART последовательно команды:
- CREATE VDISK FILE=”путь\имя_файла.vhd” MAXIMUM=требуемый_размер_в_МБ TYPE=FIXED – непосредственно создает VHD-файл;
- SELECT VDISK FILE=”путь\имя_файла.vhd” – выбирает указанный VHD-файл для дальнейших операций в DISKPART;
- ATTACH VDISK – монтирует выбранный на предыдущем шаге VHD-файл как диск ОС.
Результат операции – создается файл и он доступен ОС для работы как новый физический диск.
Как раз эта особенность работы с VHD-файлами используется для установки Windows 7 в VHD, чтобы не были затронуты другие разделы и установленные на них ОС в приведенном мной ранее сценарии. И запускается DISKPART непосредственно с диска установки Windows 7/Windows Server 2008 R2 в ходе работы мастера установки Windows – по комбинации клавиш Shift+F10 (смотри все тот же первый пост про установку).
Управление разделами внутри вновь созданного “виртуального” диска VHD аналогично управлению разделами на любом другом диске. Можно это сделать через графическую утилиту Disk Management, а можно использовать команды того же DISKPART в следующей последовательности:
- для монтирования VHD-файла, если он еще не смонтирован, выполняем команды SELECT VDISK и ATTACH VDISK, как это описано выше;
- LIST DISK – получаем список доступных дисков, среди которых будет и VHD-файл в виде “нового” диска;
- SELECT DISK №требуемого_диска_из_списка – выбираем диск для дальнейших операций;
- CREATE PARTITION PRIMARY – создаем раздел (или том, по команде CREATE VOLUME SIMPLE), по всем ключам команды читаем помощь – HELP CREATE PARTITION;
- LIST PARTITION – список разделов на диске;
- SELECT PARTITION №требуемого_раздела – выбираем раздел для дальнейших операций;
- FORMAT – форматируем раздел (если требуется), читаем HELP FORMAT – для “тонкого” форматирования с нужным типом и параметрами файловой систем.
И, в заключение, как расширять уже существующие VHD-файлы c использованием DISKPART. Хочу заметить, что этот метод можно с успехом использовать как для увеличения размеров VHD-файлов виртуальных машин, так и для увеличения размеров разделов непосредственно ОС Windows 7, если она установлена в VHD. В последнем случае требуется загрузка с установочного диска или USB-флеш Windows 7, и в процессе работы мастера установки просто запускаем командную строку по Shift-F10 и из нее DISKPART.
Считаем, что VHD-файл у нас уже выбран и смонтирован, как диск (см.выше). Тогда:
- размонтируем диск командой DETACH VDISK, но выбор не отменяем;
- EXPAND VDISK MAXIMUM=новый_размер_vhd – устанавливаем новый размер текущего VHD-файла;
- ATTACH VDISK – снова монтируем текущий VHD, как диск.
Итак, мы получили файл увеличенного размера (в нашем примере с 10ГБ до 20ГБ), но это только файл, внутри диска разделы сохранили свои первоначальные размеры.
Поэтому мы можем воспользоваться либо тем же Disk Management, если позволяют обстоятельства, либо командами DISKPART:
- убеждаемся, что диск смонтирован и доступен;
- стандартная процедура выбора нужного диска для работы (описана выше) – LIST DISK, SELECT DISK №#;
- аналогично, выбор раздела, который нужно расширить на диске (описана выше) – LIST PARTITION (VOLUME), SELECT PARTITION (VOLUME) №#;
- EXTEND – расширяет текущий раздел до максимально свободного на текущем диске размера. см. помощь – HELP EXTEND – где описаны разнообразные ключи команды.
Как видно из примера – довольно просто управлять VHD-файлами в виде дисков как непосредственно из WIndows 7, так и использовать загрузочный диск Windows 7 для изменения параметров VHD-диска самой Windows 7, если была выполнена установка на виртуальный раздел в VHD-файл.
Надеюсь, этот пост поможет не только моим коллегам, которые активно используют фазные вариации на тему VHD в процессе разработки и демонстраций, но и всем остальным :)
Комментарии (0)