Начиная с версии Windows 7, у пользователей операционной системы Windows, появилась возможность создания виртуальных жестких дисков (VHD). VHD (Virtual Hard Drive) — это одиночный файл с расширением «.vhd», который имеет такую же структуру и содержание, как обычный жесткий диск, установленный на компьютере.
При использовании такого формата файла, можно будет установить и запустить на одном компьютере несколько операционных систем. Если пользователь хочет попробовать поработать в другой операционной системе Windows, то он обычно, устанавливает систему на другой логический диск своего компьютера, или устанавливает Windows на виртуальную машину.
Содержание:
- Как создать виртуальный жесткий диск
- Следующие шаги по установке Windows
- Как удалить виртуальный жесткий диск (VHD)
- Выводы статьи
Так как у меня есть свой сайт, посвященный компьютерной тематике, мне часто приходится отвечать на вопросы посетителей. На моем рабочем компьютере, в данный момент, установлена операционная система Windows 7, но мне нередко приходится отвечать на вопросы про Windows 8.1, а скоро придется отвечать про Windows 10.
Поэтому я использую виртуальную машину VMware Workstation, на которой установлены операционные системы: Windows 7, Windows 8.1, Mac OS X, Android. Также на моем компьютере есть виртуальная машина с Windows XP Mode. При необходимости, я запускаю нужную операционную систему в окне программы, работая в основной операционной системе.
При всем удобстве такого способа, у него есть большой недостаток: при активной работе на основной системе, операционная система на виртуальной машине будет замедлять свою работу. Это происходит от того, что одновременно расходуются ресурсы одного компьютера для работы двух операционных систем.
Использование виртуального жесткого диска позволит решить эту проблему. Другая Windows будет установлена на VHD диск, при этом не потребуется запускать виртуальную машину. Операционные системы будут загружаться на компьютере по выбору пользователя. При работе Windows, установленной на виртуальном жестком диске, будут использованы все ресурсы компьютера, поэтому замедления работы не произойдет.
При этом, основная система никак не будет затронута, а систему, установленную на VHD диск можно будет без труда удалить со своего компьютера в любой момент.
В данной статье я расскажу, как создать виртуальный жесткий диск для установки Windows, в качестве второй, третьей и т. д. системы на свой компьютер. Про процесс установки Windows на виртуальный жесткий диск можно будет прочитать в отдельной статье.
Обращаю ваше внимание, что создавать виртуальные жесткие диски можно в любых версиях Windows 7, Windows 8.1, Windows 10, а вот возможность загрузить другую операционную систему будет только у пользователей Windows 7 Ultimate и Enterprise, и Windows 8.1 выпусков Pro и Enterprise.
Как создать виртуальный жесткий диск
Создать виртуальный жесткий диск можно разными способами: с помощью утилиты Diskpart, или при помощи средства управления дисками. В данной статье мы рассмотрим второй вариант, как более легкий для обычного пользователя.
В оснастку «Управление дисками» можно войти через «Панель управления», пройдя несколько этапов. Более короткий путь: кликнуть правой кнопкой мыши по «Компьютер» или «Этот Компьютер», а в контекстном меню следует выбрать пункт «Управление».
После этого откроется окно «Управление компьютером», в котором в разделе «Запоминающие устройства», нужно будет кликнуть по пункту «Управление дисками». В окне утилиты будут отображены все диски, подключенные в данный момент к вашему компьютеру.
На этом изображении, вы видите, что на моем компьютере установлен один жесткий диск, разделенный на два логических раздела («C» и «D»).
Можно более быстро войти в оснастку «Управление дисками». Для этого, сначала необходимо будет нажать на клавиатуре на кнопки «Win» + «R», а затем ввести в поле «Выполнить» следующую команду:
diskmgmt.msc
После этого будет открыто окно «Управление дисками».
Далее необходимо будет выбрать диск, на котором будет создан виртуальный жесткий диск. Так как на моем компьютере жесткий диск разделен на два раздела, то я выбрал логический диск «D», исходя из следующего: в случае переустановки системы, все данные да диске «C» будут уничтожены, а данные на диске «D» будут сохранены, следовательно, виртуальный VHD диск не будет потерян. Если на вашем компьютере есть только один дисковый раздел «C», то в этом случае, выбор диска будет очевиден.
Выделяете нужный диск, затем нажимаете на пункт меню «Действие», в контекстном меню нажимаете на пункт «Создать виртуальный жесткий диск».
Далее откроется окно «Создать и присоединить виртуальный жесткий диск». Сначала необходимо будет выбрать расположение создаваемого виртуального диска. Для этого нажмите на кнопку «Обзор…».
В окне «Проводника» введите имя файла, а затем нажмите на кнопку «Сохранить».
Имя файла должно состоять из латинских букв и цифр. Я назвал создаваемый VHD диск «win10» (давать имени файла название Windows не рекомендуют). Внимательные читатели заметят, что на диске «D» моего компьютера, уже есть созданный ранее виртуальный жесткий диск «win8», на который я установил операционную систему Windows 8.1.
Вы можете вручную добавить в поле «Расположение», путь к виртуальному диску, таким образом, как это изображено на данной картинке.
Затем необходимо будет выбрать размер виртуального жесткого диска. Выбрать нужный размер можно будет в МБ или сразу в ГБ. Для нормальной работы системы я выбрал размер в 32 ГБ.
После это потребуется выбрать формат виртуального жесткого диска:
- динамическое расширение;
- фиксированный размер (рекомендуется).
При динамическом расширении, размер виртуального VHD диска будет расширяться по мере сохранения на нем данных до достижения фиксированного размера.
При фиксированном размере, виртуальный жесткий диск занимает все выделенное пространство, независимо от того, сколько места занимают данные на этом диске.
Я думаю, что стоит прислушаться к рекомендации Microsoft, и выбрать фиксированный размер, так как, в этом случае, система будет работать быстрее.
После завершения настроек, нажмите на кнопку «ОК».
После этого начнется процесс создания виртуального жесткого диска на вашем компьютере, который займет некоторое время.
После завершения создания виртуально диска, в окне «Управление дисками» появится новый диск с нераспределенным пространством.
Устанавливать как новый том, созданный виртуальный диск, нет необходимости. После этого, можно будет выйти из управления дисками.
Если вы откроете окно Проводника, то на диске «D» вы увидите созданный виртуальный жесткий диск «win10» с расширением «.vhd». VHD диск отображается в системе как обычный файл, но на самом деле — это виртуальный жесткий диск.
Теперь на этот диск можно будет установить операционную систему Windows.
Следующие шаги по установке Windows
Сейчас я кратно расскажу о следующих шагах по установке системы. Сначала вам понадобится записать образ Windows на оптический DVD диск, или создать загрузочную флешку, например, в программе Rufus.
Далее необходимо будет загрузиться с DVD дисковода, или загрузочной флешки, а затем установить операционную систему на виртуальный VHD диск. Подробную статью об установке Windows на VHD диск, вы можете прочитать здесь.
Как удалить виртуальный жесткий диск (VHD)
Если вам необходимо будет удалить виртуальный VHD диск, который создан в соответствующем разделе вашего компьютера, то вы без труда можете проделать такую операцию. Причины для удаления виртуального жесткого диска могут быть самыми разными: осталось мало свободного места на логическом диске, стала не нужна эта операционная система и т. д.
При самом простом способе удаления, вам нужно будет открыть в Проводнике тот логический диск, в котором расположен данный VHD диск. Затем, вам нужно будет выделить виртуальный жесткий диск, а потом в контекстном меню выбрать пункт «Удалить». Другими способами можно будет удалить VHD с помощью оснастки «Управление дисками», или при помощи утилиты Diskpart.
После этого, виртуальный жесткий диск будет удален с вашего компьютера.
Выводы статьи
Вы можете создать на своем компьютере виртуальный жесткий диск (VHD), для установки на этот диск операционной системы Windows, которую можно использовать в качестве второй операционной системы на своем компьютере.
Обращаю ваше внимание, что такая возможность есть только у пользователей Windows 7 Ultimate и Enterprise, и Windows 8.1 выпусков Pro и Enterprise.
Здравствуйте админ! На моём компьютере установлен один жёсткий диск поделённый на два тома. На первом разделе (C:) установлена Windows 8.1, а на второй раздел (D:) я хочу установить Windows 10, но не просто так, а на виртуальный диск VHD. Объясните пожалуйста, как это сделать быстро и просто? Читал в интернете, что на простом жёстком диске можно разместить с десяток виртуальных дисков и на каждый из них реально установить операционную систему!
Привет друзья!
Во первых расскажу, что такое виртуальный жёсткий диск VHD и почему именно на него хочет установить Windows 10 наш читатель.
Во вторых, представлю ещё одного героя сегодняшней статьи, это утилита WinNTSetup, способная создавать виртуальные диски VHD и инсталлировать на них операционные системы.
Virtual Hard Disk (VHD) — формат файла, имеющий идентичную жёсткому диску структуру. Простыми словами, операционная система воспринимает виртуальный диск как обычный жёсткий диск, но у диска VHD есть несколько преимуществ, самое главное из которых позволяет нескольким операционным системам одновременно находиться на одном разделе обычного жёсткого диска!
Например, у нас в компьютере установлен жёсткий диск, для того чтобы установить на этот винчестер пять операционных систем его нужно предварительно разделить на пять разделов, но это совсем не обязательно делать при использовании виртуальных дисков. Мы просто возьмём и создадим на любом разделе жёсткого диска пять виртуальных дисков VHD и установим на них разные Windows. Всё это мы сможем сделать не выходя из операционной системы!
Предлагаю перейти от теории к практике и создать виртуальный диск VHD с помощью утилиты WinNTSetup, затем эта же утилита произведёт нам установку Windows 10 прямо на виртуальный жёсткий диск, всё быстро и просто.
- Примечание: Если вы любите решать различные компьютерные задачки, то WinNTSetup не раз вам пригодится, предлагаю ознакомиться с предыдущими нашими статьями описывающими работу программы.
- Ещё статья для Вас по этой теме Конвертирование диска (C:) с установленной Windows 8.1 в файл виртуального диска VHD. Дальнейший запуск операционной системы из файла VHD на другом компьютере или ноутбуке с отличающейся аппаратной конфигурацией.
Смотрим Управление дисками моего компьютера.
Жёсткий диск разделён на три раздела.
1. Скрытый раздел System Reserved (Зарезервировано системой, объём 350 МБ) содержащий файлы загрузки Windows 8.1.
2. Диск (C:) с установленной Windows 8.1 (на рабочем столе находится ISO образ Windows 10).
3. Новый том (E:) — файловая помойка. На нём мы создадим виртуальный диск VHD, на который и будет установлена Windows 10.
Перед работой обязательно создайте резервную копию хранилища загрузки (BCD), на тот случай, если попользовавшись Windows 10 вы надумаете её удалить, ведь после удаления системы выбор операционных систем Windows 8.1 или Windows 10) при загрузке останется.
Отредактировать хранилище загрузки (BCD) и убрать ненужную запись очень просто, но ещё проще развернуть резервную копию. В подробностях данный вопрос рассмотрен здесь, ознакомьтесь с ним обязательно.
Перед запуском программы WinNTSetup находим на диске (C:) ISO образ с Windows 10 и копируем все файлы дистрибутива в какую-нибудь папку или щёлкните на ISO образе двойным щелчком левой мыши подсоединив его к виртуальному дисководу (если работаете в Windows 8.1).
У меня образ Win 10 находится прямо на рабочем столе.
ISO образ Windows 10 подсоединён к виртуальному дисководу (D:)
Скачать WinNTSetup можно в нашем специальном разделе об этой программе.
Разархивируем и запускаем исполняемый файл программы WinNTSetup_x64.exe (если вы работаете в 64-битной версии Windows).
В главном окне WinNTSetup укажите файл install.wim находящийся в папке D:\sources дистрибутива Windows 10.
Жмём Выбрать.
Выделяем левой мышью файл install.wim и жмём Открыть.
Загрузчик Windows 10 выбирается программой автоматически — Z: (первый раздел, System Reserved, Зарезервировано системой, объём 350 МБ, скрыт и не имеет буквы).
Создаём файл VHD, на который будет установлена Windows 10. Жмём кнопку VHD.
Создать
Если создать динамически расширяемый размер виртуального диска VHD, то после установки Windows его размер будет маленьким (несколько мегабайт), но в ходе работы он может разрастись до гигантских размеров и при удалении с него данных размер не будет уменьшаться, это немного неудобно. Стоит выбрать этот тип на случай, если вы не планируете долго работать в устанавливаемой на диск VHD системе, а просто хотите поэкспериментировать.
Если создать фиксированный размер виртуального диска VHD и выбрать его размер 50 ГБ, то создастся виртуальный диск именно такого размера 50 ГБ, при заполнении файлами его пространство будет заполняться, а при удалении освобождаться, то есть всё как в случае с простым жёстким диском. Я выберу этот вариант.
Указываю размер создаваемого файла VHD и жму на кнопку Просмотр.
В появившемся окне проводника указываю расположение создаваемого виртуального диска на разделе (E:) и даю ему название Windows 10.vhd, жму Сохранить.
Жмём ОК.
Начинается процесс создания виртуального жёсткого диска VHD на томе (E:), который заканчивается успешно
Управление дисками
В программе WinNTSetup жмём на кнопку Установка.
ОК
Начинается процесс установки Windows 10 на виртуальный диск VHD
и успешно заканчивается, нажимаем ОК.
Для продолжения установки перезагружаем компьютер.
После перезагрузки возникает окно выбора операционных систем (Windows 8.1 или Windows 10).
Выбираем Windows 10
и входим в заключительную стадию инсталляции Windows 10, знакомую вам по предыдущим нашим статьям о программе WinNTSetup (не буду повторятся).
Думаю у вас всё получилось и Windows 10 удачно загрузилась.
В Управлении дисками видно, что Windows 10 принимает наш виртуальный диск VHD за обычный жёсткий диск имеющий один раздел под буквой C: (на нём установлена операционная система).
Тем не менее, сам виртуальный диск находится на разделе (E:).
Свойства виртуального диска Windows 10.vhd
Диспетчер устройств
Точно таким же образом на диске (E:) можно создать ещё несколько виртуальных дисков и установить на них операционные системы. При загрузке компьютера будет выходить меню загрузки, в котором вы можете выбрать нужную вам винду для работы.
Читайте по этой теме: Как обновить Windows 10, установленную на виртуальный диск VHD
Как протестировать другую версию Windows без переустановки существующей системы? Одним из таких способов является установка новой системы на виртуальный жёсткий диск – файл формата VHD, виртуальный аналог физического жёсткого диска, размещающийся на нём же самом, но имитирующий собственную дисковую структуру. Способ установки на виртуальный VHD-диск ОС Windows 7, 8.1 и 10 и рассмотрим ниже.
Но прежде разберёмся в выгодах установки второй системы на виртуальный VHD-диск.
-
Содержание статьи:
VHD-диск, другой раздел диска и виртуальная машина: в чём разница?
Полноценная работа с операционными системами, в частности, с последними версиями Windows – 7, 8.1, 10, на виртуальных машинах возможна только при наличии производительного компьютера. Плюс к этому, необходимо понимать, что программы-гипервизоры типа VMware Workstation или VirtualBox – это не очередной загрузчик видео с YouTube, и в функционале таких программ прежде нужно ещё разобраться. Тогда как для установки ОС на другой раздел диска или на VHD-диск особых вычислительных мощностей не нужно. Операционные системы не будут работать одна внутри другой, и каждая из них, функционируя в отдельности, сможет использовать ресурсы компьютера по полной. Да и нагрузка на человеческий мозг ограничивается лишь особенностями выбора места в процессе установки второй системы.
Установка Windows на другой раздел диска немногим отличается от установки на виртуальный VHD-диск. И в первом, и во втором случае установленная система будет занимать ровно столько места на диске, сколько ей понадобится. Тогда как, например, виртуальные машины VMware Workstation с определённым объёмом виртуального пространства по факту на жёстком диске физического компьютера занимают места почти вдвое меньше.
Принципиального отличия нет и в процессе удаления Windows, установленной на другом разделе и на виртуальном VHD-диске. В обоих случаях нужно Windows удалить из меню загрузки в разделе конфигурации системы, затем уничтожить сами файлы. VHD-файл удаляется кнопкой Delete, как и любой иной файл, раздел диска же форматируется.
-
В чём выгоды установки операционной системы на VHD-диск?
По сути, в сравнении с установкой Windows на другой раздел диска у установки системы на виртуальный VHD-диск есть только два преимущества, и то второе таковым можно считать весьма условно.
Первое преимущество – это то, что нет надобности возиться с выделением отдельного раздела диска для новой системы. Ведь файл VHD можно создать на любом из существующих разделов, в любой из папок, и новая операционная система будет там себе аккуратненько размещаться.
Второе преимущество (то самое весьма условное) – это возможность перемещения VHD-файла без вреда для установленной операционной системы. VHD-файл с установленной Windows можно впоследствии перемещать на другие разделы, другие жёсткие диски (включая внешние), другие компьютерные устройства. Почему преимущество условное? Дело в том, что после перемещения VHD-файла загрузчик, естественно, самостоятельно не сможет определить место перемещения операционной системы. Равно как и не сможет увидеть новую систему загрузчик другого компьютера, если на него вдруг взять и поместить VHD-файл с Windows. Понадобится редактирование загрузчика, а это — те ещё танцы с бубном.
-
Установка Windows 7 и 8.1 на VHD-диск
Для установки Windows 7 и 8.1 на VHD-диск понадобится точно такой же DVD-диск или загрузочная флешка с дистрибутивом системы, что и для обычной установки. Единственное условие – это не должна быть сборка с урезанным системным функционалом. Желательно использовать чистые системные образы.
Загружаемся со съёмного носителя и в приветственном окне установщика системы жмём «Далее».
Выбираем установку системы.
При выборе типа установки жмём полную.
Попадаем в меню выбора разделов диска для устанавливаемой системы. Нам нужна командная строка, с помощью которой мы и проведём необходимые операции для создания и отображения VHD-диска в числе прочих разделов компьютера. Жмём клавиши Shift+F10 для её вызова.
В среде командной строки – независимо от того, это установочный диск Windows 7, 8.1 или 10 – переключение на англоязычную раскладку осуществляется клавишами Shift+Alt.
Последовательность вводимых в нашем случае команд будет таковой:
diskpart
create vdisk file=”D:\OS7.vhd” type=fixed maximum=25600
select vdisk file=”D:\OS7.vhd”
attach vdisk
В каждом отдельном случае отличаться будут только вторая и третья команда.
Первая команда — «diskpart» — применяется для вызова утилиты управления дисками компьютера.
Вторая – это команда создания виртуального диска. Значением ”D:\OS7.vhd” мы создали VHD-файл на диске D компьютера. Значением type=fixed мы установили виртуальному диску фиксированный тип. Если нужен динамически расширяемый тип виртуального диска, вместо type=fixed необходимо ввести type=expandable. Значение maximum=25600 – это размер создаваемого виртуального диска в мегабайтах. Наш случай тестовый, потому выбран минимальный объём — всего лишь 25600 МБ (25 Гб). К следующей команде необходимо приступать после того, как будет успешно выполнена эта. Нужно дождаться 100%-ного завершения процесса создания виртуального диска.
Третья – команда выбора виртуального диска. В каждом отдельном случае отличаться будет только путь VHD-файла. В нашем случае это, соответственно, значение ”D:\OS7.vhd”.
Четвёртая – команда присоединения виртуального диска (его монтирование в систему).
После того, как виртуальный диск будет успешно присоединён, окно командной строки можно закрыть. Вернёмся в меню выбора раздела для установки системы, здесь нужно нажать кнопку «Обновить».
После этого в числе разделов диска появится незанятое место с размером созданного нами виртуального диска. Выбираем это незанятое место, игнорируем уведомление, что Windows якобы не может быть установлена на такой раздел, и жмём «Далее».
Далее пойдёт вполне обычный процесс установки Windows.
После перезапуска компьютера увидим уже меню выбора загрузки. В нашем случае последней установлена Windows 7, потому загрузчик будет именно в её формате.
Меню загрузки Windows 8.1 и 10 гораздо симпатичнее.
Если одна и та же версия Windows установлена и на раздел диска, и на VHD-диск, виртуальные системы будут обозначены значком с типом файла VHD и с указанием тома установки.
Проходим процедуру первичной настройки компьютера.
-
Установка Windows 10 на VHD-диск
Процесс установки Windows 10 на VHD-диск будет точно таким же, что и в случае с версиями-предшественницами, за исключением одного небольшого нюанса. В командной строке при создании виртуального диска значение его типа – фиксированный или динамически расширяемый – нужно поменять местами со значением размера. То есть, после пути размещения VHD-файла сначала вводим значение maximum=число_мегабайт, затем только — type=fixed (или type=expandable для динамически расширяемого диска). В нашем случае установка Windows 10 на VHD-диск сопровождалась такими командами в командной строке:
diskpart
create vdisk file=”E:\w10.vhd” maximum=25600 type=fixed
select vdisk file=” E:\w10.vhd”
attach vdisk
-
Настройка загрузки системы по умолчанию
Попав уже в среду установленной системы, можем (при необходимости, конечно же) настроить очерёдность загрузки имеющихся на компьютере операционных систем. Будь то установка на другой раздел диска, будь то установка на виртуальный VHD-диск – в любом из этих случаев загружаемой по умолчанию будет последняя установленная Windows. Вернуть первой системе первоочерёдность загрузки и настроить время отображения меню загрузчика можно в разделе конфигурации. Жмём клавиши Win+R для вызова утилиты «Выполнить», вводим команду «msconfig», жмём Enter.
В открывшемся окне конфигурации переходим на вкладку «Загрузка». Выбираем нужную систему для загрузки по умолчанию, жмём кнопку «Использовать по умолчанию». Также в графе «Таймаут» можем сменить предустановленные полминуты для осуществления выбора системы, уменьшив отведённое на раздумья время. После всех установок жмём «Применить» и «Ок».
Перезагружаемся.
-
Удаление Windows, установленной на VHD-диске
Нет ничего проще, чем избавиться от ненужной Windows, установленной на VHD-диске. Как уже упоминалось, для этого потребуется два несложных действия. Первое – удаляем VHD-файл.
Второе – удаляем запись о загрузке в разделе конфигурации системы.
Загрузка…
Цель настоящей статьи — рассказать о моем опыте работы с весьма полезной и не слишком хорошо известной функцией Windows, которая называется VHD Native Boot, то есть способности загружаться с виртуального жесткого диска формата VHD/VHDx.
Начиная с 7-й версии, в Windows появилась возможность создавать виртуальные диски VHD/VHDx (далее просто VHD), а также подсоединять и отсоединять их через графический интерфейс «Управление дисками» и утилиту командной строки diskpart. Кроме этого, Windows научилась с таких дисков загружаться, и все бы ничего, но этот самый Native Boot был доступен только обладателям старших версий, то есть от Pro и выше. Очевидно, что это было лишь маркетинговое ограничение, потому что с появлением Windows 10, а я проверял Anniversary Update (1607) и Creators Update (1703), никаких ограничений больше нет. Это работает и в Windows 10 Home, причем она может выступать как в роли хоста, так и в роли гостя. О том, как это выглядит и как это можно использовать, вы узнаете ниже.
С давних пор меня интересовала идея использования виртуализации применительно к рабочему компьютеру, внутренней виртуализации, если так можно выразиться. Как полезны и удобны виртуальные машины для разработчиков-программистов, специалистов по безопасности, тестированию. А вот до уровня домашнего/рабочего компьютера и его операционной системы это дело все никак не доходило. Ну, очевидно же, что если операционная система — такой сложный и чувствительный компонент, нельзя огульно доверять ее пользователю, он ее так и норовит чем-нибудь заразить или повредить. Да, есть резервное копирование и восстановление из точек восстановления (то есть из теневой копии), и это отличные вещи. Но это весьма чувствительные к ошибкам компоненты, и могут не спасти, кроме того, многие зловреды умеют удалять теневые копии, не оставляя пользователю шанса. Хотелось бы что-то простое и банальное на уровне copy-paste, чтобы «упавшую» или «испортившуюся» систему вернуть в рабочее состояние в течение нескольких минут. Конечно, идеально было бы, чтобы решение было в самой системе, просто заложено в ней. Hyper-V все же не совсем то, хотя может быть его и допилят до требуемого уровня. Ведь хочется, чтобы все возможности машины, все ее железо, вся мощь были доступны, с минимальными жертвами.
Использование виртуального жесткого диска вместо реального кажется вполне допустимой жертвой с учетом того, что вся система умещается в один файл, и достаточно этот файл время от времени копировать куда-то «в сторонку», и всё будет хорошо. Ведь копировать один файл, пусть и большой, явно проще, чем десятки тысяч. Кроме того, такой файл можно легко использовать для развертывания Windows в организации.
Когда есть несколько (немного) типов компьютеров, достаточно установить систему и все требуемое ПО на VHD, а потом просто скопировать этот файл на все аналогичные компьютеры, сведя работы на местах к минимуму. Неплохо было бы иметь некую оболочку, без загрузки Windows, что-то типа «консоли гипервизора», позволяющую попадать в нее и работать с VHD на уровне файлов, копировать, заменять, обновлять и т.д. Тем более, что сама Windows такую оболочку в своем составе имеет, и называется она Windows Recovery Environment, далее WinRE. Давайте посмотрим, как все это выглядит на практике.
1. Установка Windows на VHD с нуля
Эта тема широко освещена в Сети, существуют десятки толковых руководств (см. ссылки в конце статьи), поэтому я остановлюсь лишь вскользь, попутно рассматривая возможные варианты.
В целом все сводится к нажатию волшебной комбинации Shift-F10 в момент, когда компьютер загрузился с установочного диска. Параллельно открывается окошко командной строки, где следует, используя diskpart, отформатировать и разметить реальный жесткий диск (если компьютер/диск новый) и создать VHD требуемого объема. Для простоты я буду рассматривать установку 64-разрядной версии и жесткие диски с MBR.
Итак, жесткий диск разбит, папка VHDs на соответствующем томе создана, теперь в diskpart надо создать виртуальный жесткий диск в этой папке, дав ему понятное имя, и выполнить присоединение, тогда тому виртуального диска будет присвоена очередная буква. Теперь можно вернуться в окно установки Windows и выбрать именно эту букву для установки. Всё, дальше программа установки все сделает сама. В том числе и добавит нужную запись в файл BCD.
Сразу скажу, что использовать bcdedit мне показалось уж слишком жестоким самоистязанием, поэтому я позволил себе использование одного стороннего инструмента для манипуляций, это утилита Bootice соответствующей разрядности. Предположим, он у вас есть на том же установочном диске. Если нет, в дальнейшем я покажу, как его можно «закинуть» в нашу оболочку «гипервизора».
Итак, для демонстрации пусть у меня есть один жесткий диск 25 Gb (я воспользуюсь любимым Virtualbox для показа), в нем один раздел, там папка VHDs, где я создал виртуальный диск, а на него установил Windows 10.
Вот так будет выглядеть меню загрузки системы в Bootice (раздел BCD, Easy Mode)
Здесь 25 Gb C: это тот «физический» диск, на котором я создал виртуальный размером 20 Gb и куда установил Windows 10. Все прекрасно, но дальше нам нужно создать оболочку для управления. Как известно, WinRE всегда устанавливается вместе с Windows и приходит на помощь тогда, когда обнаруживаются проблемы с загрузкой. Нам же она нужна для другой цели, я хочу попадать туда для работы с VHD-файлами. Добавим пункт WinRE в меню загрузки. Для этого в Bootice воспользуемся Professional Mode, последний объект в списке слева это как раз Windows Recovery, справа видно его расположение на VHD:
Этот объект, вернее, ссылку на него, надо добавить в список меню загрузки, выберем вверху слева ветвь Windows Boot Manager, в правой панели выберем пункт Display Order и добавим пункт про WinRE из выпадающего списка:
Теперь пункт Windows Recovery Environment будет показываться в загрузочном меню системы, в чем мы можем убедиться, вернувшись в Easy Mode:
Осталось перезагрузиться и выбрать второй пункт, начнется загрузка WinRE, а там нас интересует только пункт Поиск и устранение неисправностей, Дополнительные параметры, Командная строка. Все это напоминает и программу установки Windows, и прародителя WinRE, широко известную Windows Preinstallation Environment. Отсюда, собственно, и начинается работа с оболочкой, и не так важно, какую именно вы выберете, поскольку там все приблизительно одно и то же.
Наш основной жесткий диск оказывается в ней диском C:, в его папке VHDs обнаруживается наш master.vhd, и мы можем спокойно его куда-нибудь скопировать. В WinRE волшебной командой мы подключаем сеть:
wpeutil initializenetwork
автоматически выбирается и запускается драйвер сетевого адаптера, получается ip-адрес от сервера DHCP, и мы можем работать с сетью. В Virtualbox я могу подключить сетевую папку такой командой:
net use z: \\10.0.2.2\d$
и оттуда уже скопировать необходимые инструменты для работы в оболочке. Так как выбрана версия x64, то и программы, запускаемые в WinRE, должны быть x64, никакие суррогаты не запустятся.
Помимо Bootice легко добавляются Far Manager, 7-zip, а с ними уже как-то повеселее. Мне удалось найти даже работающий веб-браузер Palemoon Portable, а уж с ним загрузить из Сети необходимые компоненты совсем легко. Прекрасно установился cygwin64, что открывает путь для ssh/rsync в смешанных средах. Дальше понятно, у нас есть возможность спокойно архивировать и копировать файлы vhd. Если что-то не так в master.vhd, мы загружаемся в WinRE и забираем его резервную копию из сетевого хранилища, затем выходим из WinRE и получаем нашу систему обратно.
Прямо из оболочки WinRE при помощи diskpart или Bootice можно создать новый VHD диск, запустить программу установки Windows, если хочется добавить какую-то иную версию и установить эту новую Windows на новый VHD, нужный пункт в меню загрузки ОС добавится сам.
Осталось только подстраховаться на тот случай, если с master.vhd все настолько плохо, что и в оболочку WinRE не загрузишься, ведь она часть этого диска. Конечно, это не смертельно, всегда можно загрузиться с установочного диска Windows и нажать Shift-F10, но приложив определенные усилия, можно сделать так, чтобы WinRE находилась на нашем хост-диске, и грузиться в нее оттуда. Загрузочное меню будет выглядеть так:
2. Установка Windows на VHD на работающем компьютере
Не представляет никакой проблемы добавить на имеющемся компьютере дополнительную операционную систему, создав новый VHD и присоединив его, а затем запустив программу установки и выбрав букву, назначенную для присоединенного диска. Намного более сложной задачей будет перенос текущей конфигурации, уже установленной на физическом диске системы на диск виртуальный. Здесь приходит на ум несколько вариантов. Первый, о котором я вспомнил, это использовать Windows Backup, ведь он как раз создает файл VHD (vhdx) в режиме создания образа системы. Казалось бы, всё, что требуется — это добавить ссылку на такой VHD в меню загрузки и посмотреть, что выйдет. Так я и сделал, при первой загрузке Windows выдала ошибку, а при всех последующих старательно что-то загружалось, очень долго, и даже промелькивало окошко с картинкой экрана блокировки первоначальной системы, но так и исчезало опять. Не знаю почему, но с VHD-диска, полученного из backup’а, Windows загрузить не удается. Пришлось идти иным путем, воспользоваться Disk2vhd из комплекта Sysinternals.
Все довольно просто, выбираешь раздел физического диска, или весь диск, и Disk2vhd делает из него VHD-файл:
Но дальше начинаются неудобства. Получившийся VHD, какого бы он ни был реального размера, сообщает о себе, что он размером с весь наш физический диск. То есть если у меня был физический диск 180 Gb, а я выбрал только первый раздел размером 100 Gb, VHD-файл получился около 50 Gb, но сообщает он о себе как о 180-гигабайтном. Проблема здесь в том, что если с такого VHD загрузиться, то Windows потребует 180 Гб места для его работы. То есть как его ни оптимизируй (defrag, sdelete -z), как ни сжимай (compact vdisk, shrink), от первоначальных характеристик, снятых Disk2vhd никак не избавиться. Пришлось пойти на сложное преобразование, создать пустой VHD, загрузить в Virtualbox PartedMagic, подсунув тому преобразованный и пустой VHD и при помощи Gparted (и Clonezilla, если не хочется возится с bootrec) перенести раздел. В результате получился VHD 20 Gb, с которого я сейчас и пишу данную статью.
3. Использование дифференциальных VHD
В особо ненадежных средах, на публичных компьютерах или при проведении каких-то опасных экспериментов, может пригодиться возможность использования дифференциальных VHD-дисков, на которых записывается только разница, изменившаяся информация, а оригинальный VHD остается без изменений. Ясно, что для начала надо уже иметь работающую систему на VHD-диске, а потом добавить вариант с дифференциальным диском. Создать такой диск можно в diskpart или все в том же Bootice. Пусть master.vhd наш основной диск, создадим для него дифференциальный child.vhd, нажав кнопку Create:
Теперь нужно добавить/исправить в BCD пункт, отвечающий за загрузку с VHD, указав вместо master.vhd дифференциальный child.vhd.
Для этого воспользуемся Professional Mode в Bootice, сделаем копию имеющегося пункта Windows 10 (правая кнопка мыши, Duplicate this entry) и переименуем новый в Windows 10 Child VHD. Теперь в этом пункте исправим ApplicationDevice и OsDevice, изменив имя vhd-файла:
Всё, теперь нужный пункт добавлен в загрузочное меню. Если выбрать Windows 10 Child VHD, Windows запустится и с этого момента будет все изменения записывать в child.vhd. Следует учесть, что под child.vhd в момент загрузки будет зарезервировано столько же места, сколько указано в master.vhd, то есть в нашем случае 20 Gb, пусть его реальный размер в сотни раз меньше. Время от времени имеет смысл выполнять процедуру слияния (merge), то есть отправлять накопленную разницу из child в master, чтобы ничего не потерять. Дело в том, что стоит вам загрузиться не в child, а в master или даже WinRE на основе master.vhd, то связь между master и child будет нарушена, придется чинить child, но Bootice и это умеет:
4. Рекомендуемая конфигурация физического диска при работе с загрузочными VHD
Я бы предложил разметить физический диск следующим образом.
Один раздел, достаточно большой, оставить под хранение файлов VHD, тут все зависит от того, сколько разных VHD вам понадобится. Минимально для установки Windows x64 требуется 20 Гб, можно создавать динамические диски, то есть увеличивающие свой реальный размер только по мере их внутреннего наполнения. Но еще раз подчеркну, в момент загрузки динамического VHD Windows резервирует под него место в соответствии с указанным максимальным размером.
Microsoft советует использовать VHD фиксированного размера в производственной среде, а динамические — только для тестов, но я особой потери производительности у динамических VHD не ощутил.
Второй раздел я бы предпочел создать для данных пользователя и набора портативных приложений, если требуется, например, загружаться с разных VHD, а работать с одними и теми же файлами и программами. Такое деление может быть полезным еще и для того, чтобы раздел с VHD вообще скрыть, во избежание неразумных действий конечного пользователя.
А скрыть раздел можно при помощи вот такого нехитрого сценария для diskpart, с учетом выбранного диска и раздела для хранения VHD.
sel disk 0
sel part 1
set id=17
Теперь раздел скрыт, буква ему не присвоена, однако Windows все равно будет грузиться с VHD, хранящегося в этом разделе. Единственный нюанс — выбор места на физическом диске для файла подкачки. Если он выбирается системой, и это как раз тот раздел, который будет скрыт, каждый раз при старте Windows будет спрашивать, где же создавать файл подкачки.
А чтобы вернуть ларчик назад, достаточно в diskpart выполнить команду
set id=07
или
set id=27
Спасибо за внимание
В первую очередь этот пост для тех, кто хотел бы попробовать работу Windows 7 на своем компьютере, но по каким-то причинам не рискует этого делать – не хочется, например, переразбивать разделы на жестком диске, есть сомнения в дальнейшей работоспособности или совместимости с уже установленной ОС. Но благодаря некоторым новым возможностям Windows 7 – это не проблема. Теперь вы можете установить новую ОС Windows 7 рядом с уже существующей, ни коим образом не затронув ее базовую функциональность, разбивку дисков или файловую структуру. Кроме того, вы можете спокойно установить неколько независимых копий ОС Windows 7 на одном разделе и успешно между ними переключаться.
Все это реализовано теперь весьма и весьма просто – файлы .VHD, известные как виртуальные диски, Windows 7/Windows Server 2008 R2 теперь воспринимают как отдельные разделы и поддерживают загрузку ОС, установленных внутри этих файлов. Но, хочу заметить, никакого отношения к вирутализации данный случай не имеет – система внутри VHD загружается также, как если бы ее файлы находились бы просто на «обычном», привычном для нас, разделе диска типа С: или D:. Т.е., создаем файл .VHD нужного размера на уже существующей файловой системе того или иного диска, в процессе установки Windows 7 или Windows Server 2008 R2 монтируем этот VHD-файл, как отдельный раздел диска, устанавливаем в него ОС… Все… Можем повторить процедуру M, нет, лучше N раз, пока не закончится место на «родительском» разделе и установить столько ОС, сколько влезет. При этом как ОС, установленная на «радительском» разделе, так и ОС в других .VHD, останутся нетронутыми.
Перспективы, как вы понимаете, колоссальные, как для обеспечения ускоренного развертывания, так и для обеспечения отказоустойчивости и динамического распределения нагрузки при помощи той же виртуализации. Теперь любая виртуальная машина при потребности в повышенных аппаратных ресурсах может быть переведена в «физическое» состояние простым перенаправлением загрузчика физического хоста на файл .VHD этой виртуальной машины, и, наоборот – любая ОС, работающая на физическом хосте, может быть тут же превращена в виртуальную. Перспективы заманчивые… Вплоть до скорой реализации «Восстания машин» и «Матрицы»…
Ну а теперь – к делу… Теория без практики – пуста… Допустим, у вас под рукой скромный ПК или ноутбук, на жестком диске которого только один раздел С:, и на нем присутствует 50ГБ свободного места. Вы хотите установить сюда Windows 7 beta, но при этом сохранить установленную на диске ту же Windows Vista.
Итак, установка Windows 7 или Windows Server 2008 R2 на VHD. Все просто:
- Качаем нужный образ Windows 7
- Записываем «скачаный» образ .ISO на диск или делаем из образа загрузочный USB с установкой Windows 7 (очень полезно для нетбуков)
- Загружаем наш ПК с полученого диска/USB
- Подтверждаем установку, выбираем язык и редакцию, соглашаемся с лицензией и все такое… Не боимся, все с вашей текущей системой будет нормально…
- Доходим до шага мастера установки, где нас просят выбрать или создать тот раздел диска, на который будет установлена Windows 7.
А теперь внимание! Следуем инструкции… Трюк!
Нажимаем комбинацию клавиш Shift+F10, мастер запускает командную строку CMD.EXE. В окне CMD.EXE запускаем программу diskpart. Немного ждем и получаем приглашение DISKPART>
Далее идет несколько шагов – создание непосредственно файла .VHD, будущего диска для установки нового экземпляра Windows 7, выбор и монтирование этого файла как «реального», с точки зрения мастера установки, диска.
В приглашении DISKPART> вводим команду
create vdisk file=»C:\Win7.vhd» type=FIXED maximum=30720
Данная команда создает файл .VHD на диске С: с именем Win7.vhd (диск, папка расположения и имя файла зависят только от вашей системы и фантазии), максимальный размер будущего виртуального диска определен как 30ГБ, при этом тип .VHD определен как «фиксированного размера», т.е. файл изначально будет занимать 30ГБ на «родительской» файловой системе. Это обеспечит лучшую производительность и меньшую вероятность сбоев, покольку если вы укажите тип как «динамически расширяемый» (type=EXPANDABLE), то, во-первых, это потребует дополнительных дисковых операций по мере необходимости увеличения реального размера .VHD, а во-вторых, если «вдруг» на родительском разделе место закончится раньше, чем такой файл достигнет своего максимального размера – то за последствия для ОС, использующей этот файл, никто не отвечает С другой стороны – 30ГБ дискового пространства более чем достаточно для установки системы, тем более что файлы пользователя могут храниться на файловой системе «физического» диска, который будет также доступен ОС, установленной на .VHD. И тут динамический тип позволяет съэкономить дисковое пространство. Выбор, как говорится – за вами. Для более полного ознакомления с параметрами create vdisk рекомендую познакомиться, выполнив в строке DISKPART> команду
help create vdisk
После успешного выполнения команды create (процесс может занимать длительное время при создании фиксированного файла с большим максимальным значением размера) выполняем следующие команды:
DISKPART> select vdisk file=»C:\Win7.vhd»
– выбор созданного .VHD для дальнейших операций в рамках утилиты diskpart
DISKPART> attach vdisk
– монтирования выбранного .VHD-диска как нового диска в системе
После успешного выполнения всех операций командой exit выходим из утилиты diskpart, и еще раз команда exit – уже в приглашении CMD.EXE для закрытия командной строки.
Мы вернулись в окно мастера установки с выбором диска для установки Windows 7. В нем нажимаем кнопку Refresh, расположенную под списком дисков. Видим наш новый диск, выбираем его, нажимаем Next.
Все, процесс установки Windows 7 на .VHD диск, который мы только что создали, пошел… При это будет не только установлена новая ОС, но и подменен загрузчик на «физическом» системном разделе для успешного старта с .VHD. Кстати, при установке Windows 7/Windows Server 2008 R2 на «голую» машину, мастер установки автоматически создает на диске системный раздел в 200МБ, на котором помещается загрузчик, а уже для самой системы создается отдельный раздел.
И еще один, далеко не праздный, вопрос. Как загрузиться с уже существующего VHD файла, в котором установлена Windows 7, например, перенесенного с другого ПК. Все очень просто – необходимо подменить файлы загрузчика bootmgr/bcdedit.exe на системном разделе версиями, взятыми из уже установленной Windows 7. Заметьте, такой тип загрузчика и простота его замены поддерживается только для Windows Vista/Windows Server 2008, а с Windows XP придется повозиться (копать в направлении bootsect). Далее, получив на «физической» ОС загрузчик от Windows 7, запускаем «новый» bcdedit, чьи параметры device и osdevice теперь поддерживают значения типа vhd=C:\Win7migrated.vhd. В общем это буде выглядеть примерно так: bcdedit /set {boot_record_GUID} device vhd=C:\Win7migrated.vhd (подробнее читаем документы в Сети). После таких экспериментов перегружаем систему и видем меню загрузчика, дополненое новым пунктом и передающем управление на перенесенный файл .VHD