Welcome to TechNet Blogs Sign in | Join | Help

Igor Shastitko Technical Blog

Igor Shastitko | Игорь Шаститко - технический блог о решениях Microsoft.

News

  • Игорь Шаститко | Igor Shastitko

    Игорь Шаститко: родился 31 октября 1974 г. в СССР (ныне Украина)... Закончил школу, университет (по специальности компьютеры и сети)... Женат (замечательная жена)... Проживаю в г.Киев, Украина.

    Работаю экспертом по ИТ-инфраструктуре в департаменте стратегических технологий Майкрософт Украина. Собственно, этот блог - дань моему увлечению работой :)

    Свежая новость: у меня, в духе времени, появился Twitter @iwalker2000. Все новое буду оперативно кидать туда, как и анонсы постов блога/мероприятий/вебкастов, да и просто - о жизни и "делах наших скорбных покалякаем". Так что добро пожаловать в Followers - пообщаемся в "почти" реале :)

    Кроме работы (собственно компьютеров и ПО) имеются другие увлечения, как то - путешествия, фотография, электронные гаджеты (об этом всем смотри мой личный блог на Live Spaces); авиация (увы, от летающих многометровых радиоуправляемых монстров перешел исключительно на стендовое моделирование от Italeri и Ravell); автомобили (чувствую себя плохо, если не прокачусь с ветерком 2000км в месяц по просторам автобанов) и многое другое, на что хватает времени...

    Locations of visitors to this page

    free counters

Пара советов по управлению VHD разделами/файлами в Windows 7

Допустим, вы воспользовались моими советами по установке Windows 7 на виртуальный раздел, которых хранится в VHD-файле и теперь хотите его поменять… Или вам просто захотелось поманипулировать – изменить раздел или создать копию, сделать дочерний образ – VHD-файлами для виртуальных ОС, которые используются для запуска приложений в режиме Windows XP Mode. А иногда, чисто из нечеловеческого любопытства, хочется просто посмотреть, что же там внутри-то VHD делается…

Не беда – в Windows 7 или Windows Server 2008 R2 присутствуют все необходимые инструменты, чтобы воплотить все желания в вирутальную реальность :) и самый простой из них – стандартный Disk Management. При помощи этой графической консоли, модифицированной в Windows 7, можно создавать “виртуальные” диски, отображаемые в VHD-файлы, и монтировать уже существующие файлы, как диски так же, как и любые другие “физические” диски, создавать и расширять разделы на них.

w7-vhd3-DiskMgmt-CreateVHD-AttachVHD
Безусловно, такой подход наиболее понятен и удобен, если только не возникает несколько специфических задач, а именно – вы установили саму Windows 7 в VHD-файл и теперь нужно провести какие-то работы с данным файлом, или вам просто захотелось поменять установленный максимальный размер файла VHD (а не разделов, находящихся в нем), или необходимо автоматизировать какие-то процессы путем написания файла сценариев (скрипта). В таких случаях либо нет возможности вообще воспользоваться утилитой, либо она не позволяет этого сделать. И тогда на помощь приходит такая полезная и многократно описанная мной ранее (в том же посте про установку Windows 7 в VHD-файл или создание загрузочной USB-флешки для установки) утилита DISKPART.

Начнем с азов – создание VHD-файла и его монтирование как нового диска в Windows 7/Windows Server 2008 R2. Тут все просто:

  • Запускаем (в Windows 7!!!) из командной строки или из пункта Run команду DISKPART и попадаем в соответствующее приглашение программы: DISKPART>

w7-vhd1

выполняем в DISKPART последовательно команды:

  • CREATE VDISK FILE=”путь\имя_файла.vhd” MAXIMUM=требуемый_размер_в_МБ TYPE=FIXED – непосредственно создает VHD-файл;
  • SELECT VDISK FILE=”путь\имя_файла.vhd” – выбирает указанный VHD-файл для дальнейших операций в DISKPART;
  • ATTACH VDISK – монтирует выбранный на предыдущем шаге VHD-файл как диск ОС

w7-vhd2-Create_Select_Attach

Результат операции – создается файл и он доступен ОС для работы как новый физический диск.

w7-vhd2-DisksFilesw7-vhd3-DiskMgmt-CreatePart  

 

 

 

 

Как раз эта особенность работы с 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 – для “тонкого” форматирования с нужным типом и параметрами файловой системы

w7-vhd4-List_Select_CreatePart_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, как диск

w7-vhd5-eExpand

Итак, мы получили файл увеличенного размера (в нашем примере с 10ГБ до 20ГБ), но это только файл, внутри диска разделы сохранили свои первоначальные размеры.

w7-vhd5-Expand_DiskFilesw7-vhd5-Expand_DiskMgmt

Поэтому мы можем воспользоваться либо тем же Disk Management, если позволяют обстоятельства, либо командами DISKPART:

  • убеждаемся, что диск смонтирован и доступен
  • стандартная процедура выбора нужного диска для работы (описана выше) – LIST DISK, SELECT DISK №#
  • аналогично, выбор раздела, который нужно расширить на диске (описана выше) – LIST PARTITION (VOLUME), SELECT PARTITION (VOLUME) №#
  • EXTEND – расширяет текущий раздел до максимально свободного на текущем диске размера. см. помощь – HELP EXTEND – где описаны разнообразные ключи команды.

 

w7-vhd6-Extend

Как видно из примера – довольно просто управлять VHD-файлами в виде дисков как непосредственно из WIndows 7, так и использовать загрузочный диск Windows 7 для изменения параметров VHD-диска самой Windows 7, если была выполнена установка на виртуальный раздел в VHD-файл.

Надеюсь, этот пост поможет не только моим коллегам, которые активно используют фазные вариации на тему VHD в процессе разработки и демонстраций, но и всем остальным :)

Comments

mikas said:

Замечательно. А теперь скажите, как обновить win7 beta bild 7000 до Win7 RC bild 7100, если она установлена в VHD?

Я абсолютно уверен, что это очень волнующий для всех вопрос!

# May 12, 2009 10:29 PM

lvortex said:

В каталоге sources на диске с установочным дистрибутивом находиться файл cversion.ini в котором указаны минимальные версии сборок для обновления

нужно просто изменить значения минимально допустимых версий для обновления

# May 13, 2009 7:27 AM

Volodymyr V said:

Обновлятся с беты до rc не рекомендуется.

# May 13, 2009 10:37 AM

iWalker said:

Во-во, потому я пост про это и не писал...

только не пойму, при чем здесь апгрейд к манипуляции с VHD-файлами через DISKPART

# May 13, 2009 11:14 AM

Igor Shastitko Technical Blog said:

Думаю, ни для кого не секрет, что есть портал с бесплатными online-курсами по Windows 7 , НО вот на днях

# May 15, 2009 5:22 AM

IT Pro Team - Україна said:

Как я уже писал ранее , мы планируем параллельно самому мероприятию TechNet в Киеве завтра, 20 мая, вести

# May 19, 2009 6:50 AM

Максим said:

А шринкать фиксированные vhd - диски можно ?

И еще вопрос по той же теме: как скопировать данные с тома на том ? типа dd есть что-то ?

# May 25, 2009 3:50 AM

Xitroff said:

Если случайно удалил из bcd соотв. запись, как ее восстановить, если сам *.vhd находится также на C:\ ?

# June 10, 2009 9:57 AM

димон said:

Подскажите, как удалить VHD раздел, чтобы было как до его создания - родительский раздел с установленной ОС (буть то ХР или виста) и стобы она работала.

# June 29, 2009 11:08 AM

pult said:

А как установить уже имеющийся vhd на "голый" ПК (без OS, но имеющей c:\w7.vhd)?

# July 24, 2009 4:14 AM

vrough said:

А как на счет уменьшения размера файла vhd?

Я имею ввиду FIXED vhd-файл.

# August 19, 2009 1:08 AM

nikolai said:

podskashite pozalusta po4emu posle restarta virtualiniy disk nada ponovoi prisoideniati v ru4nuiy shtob nim polizovatisia s zapuskom sistemi ego nevidno?zaranie spasibo

# December 27, 2009 1:24 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker