Здравствуйте! Хочу задать вопрос в продолжение статей о виртуальном диске VHD.
У меня на работе есть стационарный компьютер и на нём установлена Windows 8.1 с программами, диск (C:) я конвертировал в файл VHD и сохранил на переносном жёстком диске USB. Затем пришёл домой и подсоединил винчестер USB к ноутбуку с Windows 10, скопировал файл VHD на диск (D:) ноутбука, винчестер USB отсоединил.
И теперь сам вопрос: — Как мне сделать так, чтобы Windows 8.1 на VHD загружалась с внутреннего диска (D:) ноутбука второй системой, то есть при загрузке ноута выходило меню загрузки с выбором Win 10 или Win 8.1?
Включение файла виртуального диска VHD (содержащего Windows 8.1) в меню загрузки Windows 10 или запуск Windows 8.1 из VHD файла с внутреннего диска
Автор Владимир
К примеру, у вас есть на работе стационарный компьютер с Windows 8.1 и вы хотите перенести с него систему на домашний ноутбук с Windows 10. Вы просто берёте и конвертируете диск (C:) с Windows 8.1 стационарного компьютера в файл виртуального диска VHD и сохраняете этот файл на переносном жёстком диске USB, затем уже дома копируете VHD файл с переносного USB винта на диск (D:) ноутбука. После этого запускаете Управление дисками, подключаете файл VHD с Windows 8.1, затем с помощью командной строки, добавляете в хранилище загрузки установленной у нас Windows 10 операционную систему Windows 8.1 находящуюся на виртуальном VHD диске.
Теперь обо всём подробно.
Для конвертации диска (C:) стационарного компьютера с Win 8.1 воспользуемся утилитой Disk2vhd v2.01, скачать можно здесь
https://technet.microsoft.com/ru-ru/sysinternals/ee656415
Сохраним файл виртуального диска VHD с Win 8.1 на Новый том (G:).
В окне программы Disk2vhd v2.01 снимите галочку в Use Vhdx, это значит, мы создадим виртуальный диск обычного формата VHD, а не VHDX.
В левой части окна отмечаем галочкой диск C: с установленной Windows 8.1.
Даём имя будущему файлу Windows 8.1.
Жмём Create (Создать).
Файл виртуального диска VHD с Windows 8.1 создан и находится на диске (G:) переносного USB винчестера.
Подсоединяем переносной жёсткий диск USB к ноутбуку с Windows 10 и копируем файл Windows 8.1.VHD на диск (D:) ноутбука
На раздел (D:) файл Windows 8.1.VHD скопировать не получится, значит скопируем на (F:), затем отсоединим переносной винчестер USB.
Файл скопирован.
Управление дисками
Действие->Присоединить виртуальный диск.
Обзор
В открывшемся окне проводника находим VHD файл на разделе (F:), выделяем его левой мышью и жмём Открыть.
ОК.
Виртуальный диск Windows 8.1.VHD подсоединён и виден в Управлении дисками как Диск 2.
Разделу с файлами Windows 8.1 присваивается буква диска (M:).
Запускаем командную строку от имени администратора и добавляем в хранилище загрузки, установленной у нас Windows 10, операционную систему Windows 8.1 находящуюся на виртуальном VHD диске.
Вводим команды:
bcdboot M:Windows (добавляем в хранилище загрузки установленной у нас Windows 10, операционную систему Windows 8.1 установленную на виртуальный VHD, диск M
Файлы загрузки успешно созданы.
bcdedit /default {current} (этой командой мы устанавливаем в качестве загружаемой по умолчанию основную Windows 10 установленную на внутренний жёсткий диск, раздел C:)
Операция успешно завершена.
bcdedit /timeout 5 (устанавливаем время ожидания в секундах (5 сек) при выборе Windows для загрузки, по умолчанию через 5 секунд загрузится основная операционная система установленная на внутренний жёсткий диск, то есть Windows 10).
Перезагружаем ноутбук. Появляется меню загрузки и в течении 5-ти секунд даёт нам время на выбор операционной системы для загрузки: Windows 10 или Windows 8.1. Выбираем Windows 8.1 (на томе 6, cWindows 8.1.VHD)
Идёт подготовка устройств
На ноутбуке с Windows 10 загружается Windows 8.1 на виртуальном диске VHD.
В Управлении дисками Windows 8.1 находится на виртуальном диске, но сама об этом ничего не знает.
Буква диска операционной системы (C:).
Бывают такие ситуации, когда необходимо на одном компьютере запускать различные операционные системы, а использование виртуальных машин невозможно или не требуется.
В этой статье я расскажу, как создать виртуальный жесткий диск (VHD), установить на него операционную систему и научить компьютер загружаться с этого VHD.
Быстродействие такой системы будет выше, чем при использовании виртуальных машин. Т.к. при использовании виртуализации на копьютере запускается одновременно две системы. А в случае с VHD — только одна и все ресурсы компьютера отданы именно ей.
В качестве основной системы можно использовать Windows 7 и выше. На виртуальный диск указанным способом можно устанавливать операционную систему от Windows Vista и выше.
Внимание!
Загрузку с VHD дисков в Windows 7 поддерживают только редакции Максимальная (Ultimate) и Корпоративная (Enterprise).
В Windows 10 загрузку с VHD поддерживает редакция Профессиональная (Professional) и выше.
Итак начнем.
Создание вирутального жесткого диска (VHD)
Создать VHD в Windows 7 можно двумя способами — с помощью утилиты Diskpart (используя CMD), а можно через визуальный интерфейс Менеджера дисков. Второй способ проще и нагляднее, поэтому используем его.
Открываем Менеджер дисков. Это можно сделать по следующему пути: Пуск -> Панель управления -> Администрирование -> Управление компьютером -> Управление дисками.
Далее щелкаем правой кнопкой мыши по разделу «Управление дисками» и в выпавшем меню выбираем «Создать виртуальный жесткий диск«.
Указываем расположение файла VHD.
Размер файла должен быть досточно большим, чтобы его хватило на разворачивание операционной системы, установки обновлений, необходимых программ и хранения различных файлов. В то же время, размер файла не должен быть больше, чем свободное место на диске, где он располагается.
Формат виртуального жесткого диска я предпочитаю выбирать «Динамическое расширение«, т.к. такой режим позволяет экономить место.
Нажимаем кнопку OK, создается файл VHD.
После этого в консоли «Управление дисками» появляется созданный виртуальный диск. Но он не инициализирован.
Инициализируется он через контекстное меню:
Далее необходимо создать том и отформатировать диск. Тоже через контекстное меню:
В итоге мы создали виртуальный жесткий диск, он находится на диске D: (D:MyDisk.vhd) и виден в операционной системе. Можно разворачивать на нем другую «операционку».
Развертывание операционной системы Windows на VHD
Для этого потребуется утилита imagex.exe из состава Windows AIK или Windows ADK. Я уже предусмотрительно взял эту утилиту из WADK и приложил к статье. Скачать imagex для x64 и x86 Вы можете внизу страницы.
Также понадобится файл install.wim из дистрибутива Windows. В дистрибутиве он находится в папке Sources. Предположим, что у нас в привод вставлен установочный DVD и путь к install.wim выглядит так — E:Sourcesinstall.wim.
Разворачивание ОС из файла install.wim на диск выполняется следующим образом.
Так как в одном WIM-файле может находится несколько образов ОС, то предварительно определим индекс нужного нам образа:
imagex /info E:sourcesinstall.wim
Допустим, что нужная Винда находится под индексом 1.
Разворачиваем из индекса 1 операционку на наш VHD:
imagex /apply /check E:sourcesinstall.wim 1 Z:
где Z: — буква, присвоенная нашему VHD.
После окончания разворачивания операционки, можно зайти на VHD-диск и убедится, что структура его каталогов соответсвует системному диску Windows.
Если всё прошло успешно, то переходим к добавлению в загрузчик ОС информации о том, что с нашего VHD тоже можно грузиться.
Изменение информации в загрузчике Windows
Запускаем командную строку с правами администратора.
Создаем копию текущей операционной системы в загрузчике и даем ей описание «Windows 7 VHD»:
bcdedit /copy {current} /d «Windows 7 VHD»
При выполнении этой команды также будет отображен GUID новой записи. Запишите или скопируйте его — он нам пригодится.
Если вы забыли записать GUID, то узнать его вы можете запустив команду bcdedit без параметров.
Далее установите параметры device и osdevice для загрузочной записи VHD. В командной строке введите:
bcdedit /set {GUID} device vhd=[D:]MyDisk.vhd
bcdedit /set {GUID} osdevice vhd=[D:]MyDisk.vhd
где GUID — идентификатор нашей новой записи в загрузчике.
Не забудьте изменить букву диска и путь к файлу VHD на свои.
Для некоторых систем на основе x86 требуется изменить параметр конфигурации загрузки для ядра, чтобы найти сведения об определенном оборудовании и успешно выполнить встроенную загрузку с VHD:
bcdedit /set {GUID} detecthal on
где GUID — идентификатор нашей новой записи в загрузчике.
Завершение
Теперь можно перегружать компьютер.
При старте компьютера на черном фоне будет в течение 5 секунд выдан запрос о выборе операционной системы. Выбирайте свою вновь созданную систему.
Начнется загрузка и установка ОС. После чего не забудьте установить драйверы на новой ОС и можете пользоваться новой системой, которая располагается на виртуальном диске VHD.
Отключение загрузки с VHD и возврат к первоначальному состоянию
Чтобы вернуть компьютер к первоначальному состоянию, необходимо выполнить следующие шаги (в любой последовательности):
- Удалить запись из загрузчика.
Для этого выполняем команду bcdedit без параметров. Она выведет нам все записи. Находим в списке нашу добавленную запись и ее GUID.
Для ее удаления выполняем команду:
bcdedit /delete {GUID}
- Удалить виртуальный диск из консоли «Управление дисками«.
- Удалить файл VHD.
Удачи!
P.S. Опишите в комментариях, для каких целей Вы используете технологию загрузки с виртуального диска VHD?
Обладая лишь незначительным недостатком в виде необходимости задействования командной строки в процессе установки операционной системы Windows, размещение последней на виртуальном VHD-диске во всём остальном выигрывает у способа использования другого раздела диска. В частности, для установки второй системы на другой раздел диска потребуется перераспределение дискового пространства, если таковое изначально не предусматривает отдельный раздел с необходимым объёмом.
Тогда как VHD-диск можно создать где-угодно – на любом разделе диска, хоть в самой отдалённой от корневой папке. Находящаяся на виртуальном VHD-диске операционная система может использоваться как будучи непосредственно загруженной на физическом компьютере, так и посредством программ-гипервизоров VMware Workstation и VirtualBox в качестве гостевой системы внутри основной.
Ещё одно преимущество операционной системы, установленной на VHD-диске – это возможность перемещения VHD–файла на другой раздел диска, на другой жёсткий диск или на другой компьютер без вреда для системы. Повторимся, без вреда для операционной системы, но, увы, никак не для записи о её загрузке. Перемещённая с VHD-файлом операционная система так и останется мёртвым грузом занимать дисковое пространство – будь это другое место внутри одного компьютера, будь это другое компьютерное устройство.
Итак, виртуальный диск VHD с установленной Windows был перемещён – как теперь настроить загрузку этой системы?
Вернуть перемещённой системе способность загружаться можно путём редактирования меню загрузки. Сделать это можно двумя способами. Первый – это использование командной строки для внесения изменений в системную утилиту BCDEdit. Этот способ подойдёт больше для опытных системщиков, привыкших решать с помощью командной строки и прочие задачи. Обычным пользователям скорее подойдёт второй способ редактирования меню загрузки — с помощью юзабельного инструмента с графическим интерфейсом, каковым является программа EasyBCD. Процесс восстановления загрузки перемещённой в VHD-файле Windows с помощью этой программы мы и рассмотрим ниже.
Программа EasyBCD, по сути, являет собой графическую оболочку для работы с системной утилитой BCDEdit. Программа позволяет восстанавливать загрузочные записи диска, добавлять варианты загрузки для операционных систем Windows, Linux, Mac OS, размещённых на других разделах диска и виртуальных VHD-дисках, настраивать загрузку компьютера по сети или со съёмных носителей, редактировать очерёдность загрузки и временной интервал для осуществления выбора загружаемой системы.
При условии некоммерческого использования программы её можно скачать на сайте разработчика совершенно бесплатно.
Скачать программу EasyBCD с сайта разработчика:
https://neosmart.net/EasyBCD/
Внизу главной страницы имеется ссылка на скачивание. Она станет доступна после нажатия на кнопку регистрации.
Внесение регистрационных данных не обязательно, можно просто кликать кнопку загрузки программы EasyBCD.
При запуске программы появится кнопка выбора языка, выбираем русский. EasyBCD запустится, и во вкладке «Редактировать меню загрузки» увидим имеющиеся записи о загрузке, которые могут быть применены с помощью программы. В нашем случае имеем VHD-диск с Windows 8.1, перемещённый на другой компьютер, и на нём в качестве основной операционной системы установлена также Windows 8.1. Естественно, пока что EasyBCD видит только одну загрузочную запись с основной Windows 8.1.
Запись о загрузке Windows ХР предусматривается по умолчанию, поскольку самой распространённой причиной редактирования меню загрузки является установка этой версии системы на другой раздел диска. Windows ХР, устанавливаясь после версий-последовательниц – Vista, 7, 8.1, беспощадно стирает данные о загрузке этих систем и эгоистично прописывает в загрузчик только себя любимую, только себя недалёкую. Ветхие правила – что поделаешь…
Переходим на вкладку программы «Добавить запись». Это раздел, где можно добавлять записи о загрузке операционных систем. EasyBCD умеет автоматически определять разделы диска с установленными системами, но это работает, если только последние установлены именно на разделы диска, но никак не на виртуальные VHD-диски. Системы, установленные на таковые, необходимо вручную добавлять. Для этих целей в EasyBCD предназначены графы для заполнения в нижней части окна программы. Графы редактирования загрузки Windows и типа носителя – образа виртуального диска – в программе выбраны по умолчанию. Потому в графе «Тип» носитель Microsoft VHD оставляем, ничего не меняя. В графе «Имя» задаём операционной системе свободное имя. В нашем случае название банально – Windows 8.1 VHD. Тем не менее, дописки в виде формата виртуального диска будет достаточно, чтобы при загрузке не попутать эту систему с основной Windows 8.1. В графе «Путь» с помощью кнопки обзора задаём путь к VHD-файлу. Жмём кнопку «Добавить».
Возвращаемся во вкладку редактирования меню загрузки. Как видим, появилась новая запись о загрузке, и теперь Windows 8.1 VHD после перезаписи меню загрузки может быть запущена на компьютере наряду с основной системой. Но перед перезаписью меню загрузки необходимо выставить интервал ожидания выбора. В нашем случае выбрано 20 секунд. Время ожидания добавляется или уменьшается нажатием на кнопки-треугольнички больше или меньше. Вручную ввод цифр программа почему-то не воспринимает, во всяком случае так происходит в последней актуальной версии EasyBCD на момент написания этой статьи. Жмём кнопку «Сохранить».
Всё – необходимые настройки заданы, можем переписывать меню загрузки. Переходим во вкладку «Установка BCD» и жмём кнопку «Переписать MBR».
Проверим теперь варианты загрузки в разделе конфигурации системы. Имеем две загрузочные записи – с основной Windows 8.1 и с этой же версией системы, но расположенной на виртуальном VHD-диске.
Можем перезагружаться. Увидим загрузчик в стиле Windows 7, где в числе вариантов загрузки предусматривается и операционная система на VHD-диске.
Если присутствие по умолчанию добавляемой Windows ХР в числе вариантов загрузки раздражает, эту запись можно удалить. Запускаем программу EasyBCD, переходим во вкладку редактирования меню загрузки. Выделяем Windows ХР и жмём кнопку «Удалить».
Подтверждаем решение.
И переписываем меню загрузки во вкладке «Установка BCD».
Теперь меню вариантов загрузки не содержит лишних записей.
Точно так же с помощью программы EasyBCD можно удалить и другие загрузочные записи несуществующих операционных систем, в частности, если перемещение VHD-диска было осуществлено в пределах дискового пространства одного компьютера. Несуществующие версии Windows также можно удалить и в разделе конфигурации системы. Запускаем системную утилиту «Выполнить» нажатием клавиш Win+R и вводим:
msconfig
Окно конфигурации системы переключаем на вкладку «Загрузка», выделяем запись о загрузке несуществующей Windows, удаляем её соответствующей кнопкой и применяем проделанные изменения.
Загрузка…
В Windows 7 и Windows Server 2008 R2 появилась возможность создавать и подключать файлы виртуальных дисков (VHD/VHDX) прямо из консоли управления дисками (Disk Management). Такие виртуальные диски выглядят в системе как отдельные физические диски и могут использоваться для хранения произвольных данных. Существенный недостаток таких дисков — при каждой перезагрузке Windows приходится каждый раз вручную монтировать все VHD/VHDX файлы. Кроме того, право на монтирование файлов виртуальных дисков vhd есть только у администраторов компьютера, простые пользователи не могут самостоятельно подключить VHDx файл (каждый раз приходится вмешиваться администратору).
В этой статье мы покажем, как автоматически монтировать vhd/vhdx файл при загрузке системы, так, чтобы виртуальные диски были доступны и простым пользователям (не обладающих правами администратора)
В Windows отсутствует встроенная возможность автомонтирования vhd-файлов при перезагрузке системы, поэтому нам придется разработать собственный механизм монтирования. В этом нам поможет планировщик заданий Windows и утилита diskpart.
Итак, создадим текстовый файл (C:Scriptsattach_vhd.txt) со следующим кодом:
select vdisk file="C:vhd2w10vhd.vhdx"
attach vdisk
select part 1
assign letter=K
exit
где:
C:vhd2w10vhd.vhdx – полный путь к VHD или VHDX образу диска
K –буква диска, которую нужно назначить VHD образу
Данный сценарий подключает указанный vhd файл, выбирает на нем первый раздел и назначает ему данную букву диска. Если на диске несколько разделов, измените код соответствующим образом, указав номер раздела, который нужно подключать.
Примечание. В целях безопасности желательно изменить NTFS разрешения на файл «C:Scriptsattach_vhdx.txt», так чтобы простые пользователи не могли его изменить.
Запустите Windows Task Scheduler (Taskschd.msc) и создайте новое задание планировщика (Actions -> Create Task). Настройте его следующим образом:
Чтобы задание выполнялось от имени системы, еще раз откройте его свойства и на вкладке General нажмите кнопку Change User or Group. В окне выбора пользователя укажите system и сохраните изменения.
Теперь при следующей перезагрузке компьютера указанный виртуальный VHDx диск будет смонтирован автоматически.
Примечание. Как правило, диск появляется в списке доступных дисков не сразу, а через 30-60 секунд после загрузки Windows.
Если вы хотите, чтобы виртуальный vhdx диск монтировался не в отдельную букву диска, а в папку, измените код в файле c:Scriptsattach_vhd.txt на:
select vdisk file="C:vhd2w10vhd.vhdx"
attach vdisk
select part 1
assign mount="c:mount"
exit
В результате выполнения данной команды виртуальный диск будет смонтирован в отдельный каталог на вашем физическом диске (в данном каталоге будет отображаться содержимое vhdx файла).
Можно смонтировать не только локальный VHD диск, но и диск из сетевого каталога через UNC путь.
select vdisk fils="\192.168.1.100shareshared.vhdx"
Для тестирования работы коды вашего скрипта автоматического подключения виртуальных дисков не обязательно каждый раз перезагружать компьютер, достаточно в командной строке с правами администратора выполнить команду:
diskpart /s c:Scriptsattach_vhdx.txt
Если ваш код не содержит ошибок, то команда подключит vhdx файл и в системе появится новый диск.
Данные способы автоматического подключения виртуальных дисков работают как в Windows 10, так и в Windows 8.1 и Win 7.
Если вы больше любите PowerShell, можно автоматически смонтировать VHDX диск с помощью следующего PoSh скрипта в автозагрузке (для управления дисками изспользуются командлеты из модуля Storage):
mount-vhd -path C:vhd2w10vhd.vhdx –PassThru | Get-Disk | Get-Partition | Set-Partition -NewDriveLetter G
В статье «Создаем загрузочный диск VHD», опубликованной в прошлом номере журнала Windows IT Pro/RE, я изложил принципы создания загрузочного виртуального жесткого диска. На этот раз я хочу рассказать о том, как можно загружать с виртуального жесткого диска системы Windows 7 Enterprise и Windows 7 Ultimate
. Приношу свои извинения пользователям систем Windows 7 Professional, Windows Vista и Windows XP — эта операция выполняется только при работе с версиями Enterprise/Ultimate.
Механизм загрузки системы с виртуального жесткого диска базируется на двух основных концепциях. Концепция первая: вместо того, чтобы загружать систему с тома C на физическом жестком диске (физический диск разбивается на тома, тома получают имена, скажем том C, и в этот том устанавливается операционная система, так что в томе C размещаются десятки тысяч файлов), пользователь должен прежде всего создать не физический жесткий диск, а виртуальный диск в разработанном компанией Microsoft формате VHD и сохранить его в виде файла с именем, например image.vhd. Затем этот файл нужно смонтировать, назначив ему буквенное обозначение (например, H), установить в нем копию Windows (о том, как это делается, я рассказывал в предыдущих статьях) — и в результате получится загрузочный диск Windows, но не простой, а аккуратно упакованный в один файл image.vhd.
Концепция вторая: файл VHD необходимо скопировать на компьютер, где уже запущена Windows, и настроить существующую копию Windows таким образом, чтобы система могла дополнительно стартовать с виртуального жесткого диска, а не с накопителя C.
Возникает вопрос, а зачем все это нужно? Дело в том, что, если образы системы хранятся в формате VHD, такую систему можно развертывать двумя способами. Способ первый: настольные системы развертываются у пользователей в формате виртуальных машин, которые выполняются на больших серверах Hyper-V. Второй способ состоит в том, что нужные образы настольных систем распределяются по физическим настольным системам, но вместо специализированных средств формирования образа, таких как Ghost, Clonezilla или ImageX, в данном случае используется Windows Explorer — файл VHD перемещается методом «отбуксировать и оставить».
Первая часть проблемы решается просто: нужно скопировать файл image.vhd на диск целевой системы. В рассматриваемом примере я буду исходить из того, что вы скопировали image.vhd в папку C:images. Теперь осталось только известить существующую копию Windows о том, каким образом обеспечить загрузку новой альтернативной копии, «упакованной» в формат VHD.
Чтобы решить эту задачу, рекомендую прочитать две статьи: «Основы Bcdedit», опубликованную в Windows IT Pro/RE № 5 за 2009 год, и «Начальная загрузка с Bcdedit» в № 6 за 2009 год, в которых речь идет об инструментальном средстве командной строки, предназначенном для управления загрузкой системы Windows.
Как описано в упомянутых статьях, вам предстоит с помощью программы Bcdedit создать отдельную «запись об операционной системе», и только после этого вы сможете настроить диспетчер загрузки Windows Boot Manager так, чтобы во время загрузки пользователю предлагался вариант загрузки с файла image.vhd (а также традиционный вариант загрузки с накопителя C). Новой записи для операционной системы можно дать название Boot from VHD:
bcdedit/copy {current}/d "Boot from VHD"
В результате вы получите новый глобальный уникальный идентификатор записи для операционной системы:
The entry was successfully copied to {61bed0dc-ddd7-11df- 9094-70f3954a3108}.
Теперь требуется указать два загрузочных параметра в {61bed0dc-ddd7-11df-9094-70f3954a3108} — «device» и «osdevice» — и задать им такие значения: «vhd= [driveletter:]vhdfilespec». После этого при загрузке из файла C:imagesimage.vhd нужно будет ввести следующие инструкции:
bcdedit/set {61bed0dc-ddd7-11df-9094-70f3954a3108} device vhd=[c:]imagesimages.vhd bcdedit/set {61bed0dc-ddd7-11df-9094-70f3954a3108} osdevice vhd=[c:]imagesimages.
Приведенные команды не отличаются особым изяществом, но наш пример показывает, как они формируются. Сначала следует bcdedit/set, затем сгенерированный глобальный уникальный идентификатор, потом device или osdevice (всего требуется две команды, по одной для каждого устройства), и в заключение — раздел vhd=-.
Выполните команды, перезагрузите систему, и вы увидите окно диспетчера загрузки, а в нем два варианта загрузки: Windows 7 (этой системой вы пользовались до сих пор) и Boot from VHD. Выберите второй вариант, и система загрузится с виртуального жесткого диска.
Вы все еще не разобрались с тем, как пользоваться такой возможностью? Если вам требуется инструмент, позволяющий привести в прежнее состояние физическую систему — скажем, школьный компьютер — так, как это делают коммерческие продукты, например Deep-Freeze или, к сожалению, уже снятое с производства Microsoft SteadyState, позвольте порекомендовать вам отвлечься от работы на какое-то время и прочесть мою статью «Снимки физических и виртуальных систем с помощью Diskpart», опубликованную в № 9 за 2010 год. В ней разъясняется, как создаются пары VHD-файлов «потомок/родитель», которые обеспечивают столь популярную в виртуальных машинах возможность получения моментальных снимков, и предполагаю, что эта возможность была бы весьма полезна в физических системах.
Марк Минаси (www.minasi.com/gethelp) — старший редактор журнала Windows IT Pro, сертифицированный системный инженер по продуктам Microsoft
Если вам, как и мне, требуется запуск Windows 8 “на железе” (в принципе, работа в виртуально машине меня устраивала почти во всем, кроме того, что там нельзя запустить Hyper-V, а значит и эмулятор Windows Phone 8), то у вас возможны следующие варианты:
- установить Windows 8 вместо текущей ОС. Мне не подошло, т.к. рабочая среда у меня – серверная, плюс имеется куча установленного и настроенного ПО, которое почти гарантированно придется переустанавливать
- установить второй системой в dualboot. Вариант хороший, но, по некоторым соображениям я решил отказаться и от него – все же система не основная, и при необходимости удалить файл виртуального диска все же проще, нежели возиться с разделами
- настроить загрузку с виртуального (VHD) диска
Собственно, как ясно из заголовка , я остановился на последнем варианте.
Здесь, правда, есть пара подвариантов:
- вы ставите систему с 0 из дистрибутива. Для частного применения самый, наверное, удобный вариант. На этом варианте я особо останавливаться не буду, т.к. схема подробно описана в блоге Скотта Хансельмана Guide to Installing and Booting Windows 8 Developer Preview off a VHD (Virtual Hard Disk). (в двух словах: качаете дистрибутив делаете из него загрузочную флэшку, запускаетесь с этой флэшки, на этапе выбора диска, куда ставить систему, переключаетесь в консоль, создаете новый виртуальный диск, подключаете его и развертываете систему на этот диск)
Update: если вам ближе читать на русском, то можете воспользоваться пошговым руководством отсюда
- у вас уже есть готовая установленная система на виртуалке и вам требуется просто перенести загрузку “на железо”
Я остановился именно на втором варианте, в первую очередь потому, что в нашей компании для развертывания системы используется система распространения готовых образов через System Center Configuration Manager (там помимо собственно операционки ставится куча корпоративного ПО, плюс накатывается куча различных настроек, например, система включается в домен, …), но в этих образах не предусмотрен выбор диска для установки (что логично – они нужны для развертывания на стандартизованных виртуальных машинах, а там это не требуется).
Итак, у нас есть:
- компьютер, на котором установлена Windows 7 или Windows Server 2008 R2
- VHD-файл c развернутой Windows 8 (у меня это путь D:Hyper-VVHDsT2.vhd).
Все действия нужно, проводить с правами локального администратора.
Шаг 0. Просмотр (чтобы оценить результат визуально) текущей настройки загрузчика
Это можно сделать командой
Результат будет примерно таким:
Первый раздел (с заголовком Windows Boot Manager), это базовые настройки вашего загрузчика. Здесь интересны строки:
- default – содержит идентификатор системы, которая будет запускаться по умолчанию
- displayorder – какие системы и в каком порядке будут показываться при загрузке, на этапе выбора загружаемой системы (у меня всего одна)
- timeout – время ожидания выбора системы для загрузки (в секундах)
Второй раздел (с заголовком Windows Boot Loader – их может быть несколько) – это описание конкретной загружаемой системы. Здесь обратите внимание на строки:
- identifier – идентификатор системы. Используется, когда надо сослаться на конкретную запись загрузчика (например, она указана в настройке запуска системы по умолчанию)
- description – строка, которая видна в меню выбора системы при загрузке
- device и osdevice – диск (раздел) на котором расположены загрузчик системы и папка системы
Аналогичную, хоть и не такую подробную картину можно увидеть, если запустить утилиту msconfig.exe.
Шаг 1. Сохраните текущую версию ваших настроек загрузчика.
Это можно сделать командой:
bcdedit /export "d:BCD_Backup"
Шаг 2. Присоединение VHD-файла с Windows 8 в качестве доступного раздела
Для этого запустите утилиту diskpart и наберите в ней команды:
select vdisk file="D:Hyper-VVHDsT2.vhd"
attach vdisk
exit
(Важно!) Теперь проверьте, какая буква присвоена вашему диску, в моем случае это была F:
Шаг 3. Обновление загрузчика системы на совместимый с Windows 8
Для этого вызовите команду (обратите, указывается путь к каталогу Windows 8, а не установленной на компьютере системы – имя диска вы получили на предыдущем шаге):
Помимо обновления загрузчика, команда также создаст новую запись загрузчика, для запуска Windows 8. Это можно увидеть, выполнив команду
Важные изменения:
- систем стало 2
- системой по умолчанию стала система с идентификатором {default} – Windows 8.
К сожалению, настройки загрузчика Windows 8 не верны – там указывается загрузка с физического диска F: (см. строки device и osdevice), тогда как нам нужно указать путь к виртуальному файлу.
Шаг 4. Смена раздела загрузки для Windows 8
Итак, нам нужно сменить для нашего раздела с идентификатором {default} значение полей device и osdevice. Сейчас они оба содержат значение
нам же нужно указать, что это будет VHD-файл c путем D:Hyper-VVHDsT2.vhd т.е. значение должно стать:
vhd=[D:]Hyper-VVHDsT2.vhd
Внимание! Квадратные скобки вокруг имени раздела – это часть синтаксиса, они должны быть!!!
Для изменений нужно выполнить 2 команды (для раздела с идентификатором {default} заменить значение полей device и osdevice):
bcdedit /set {default} device vhd="[D:]Hyper-VVHDsT2.vhd"
bcdedit /set {default} osdevice vhd="[D:]Hyper-VVHDsT2.vhd"
Результат:
Шаг 5. Отключение VHD-файла и настройка параметров запуска по умолчанию
Осталось несколько завершающих штрихов: нужно отмонтировать виртуальный диск и настроить запуск основной системы (той, которая установлена на компьютере) по умолчанию.
Для отмонтирования диска запустите diskpart и выполните последовательность команд:
select vdisk file="D:Hyper-VVHDsT2.vhd"
detach vdisk
exit
Теперь укажем, что по умолчанию нужно загружать систему с идентификатором {current}, а ждать не более 10 секунд. Все это делается для записи загрузчика {bootmgr}, с помощью уже известных команд:
bcdedit /set {bootmgr} default {current}
bcdedit /set {bootmgr} timeout 10
Результат:
Обратите внимание, что идентификатор записи загрузки Windows 8 теперь показывается не как {default} (что по сути представляет собой специальный алиас), а своим реальным GUID.
Шаг 6. Перезагрузка, выбор ОС, наслаждение результатом
Ну, остальное банальное: перезагружаемся, выбираем нужную ОС из списка (кстати, почему-то у меня первый раз был показан GUI интерфейс выбора ОС, как в блоге у Скотта, а потом снова переключилось на текстовый )
Сегодня мы расскажем, как при помощи технологии Virtual Hard Disk (далее VHD) можно легко установить Windows на свой компьютер. Владельцы Windows 7, 8, 10 (в будущем наверно и следующие) могут без использования дополнительного программного обеспечения создать файл VHD и установить туда дополнительную операционную систему. В нашем случае для примера это будет Windows 10, хотя таким образом можно поставить и другие версии этой ОС.
Что такое VHD
VHD – это файл (формат файла), который можно подключить как отдельный жесткий диск, и на который к примеру можно устанавливать виртуальные операционные системы. Эта технология принадлежит компании Microsoft.
Главное преимущество такого подхода в том, что не нужно выделять отдельный раздел на жестком диске или использовать виртуальную машину (которая ест ресурсы), чтобы загрузить вторую систему. При загрузке компьютер будет видеть VHD как обычный жесткий диск, а в основной системе он выглядит как простой файл с расширением *.vhd.
Создание VHD
Все последующие действия нужно делать обязательно под учеткой администратора операционной системы.
Порядок действий (действия помечены цифрами на скриншоте):
1. В контекстном меню «Компьютера» выбрать «Управление»
2. На левой панели выбрать «Управление дисками»
3. В меню «Действие» (меню находится в верхней части окна) выбрать «Создать виртуальный жесткий диск»
4. Нажать «Обзор»
5. Выбрать место расположения и название для файла VHD, нажать «Сохранить»
6. Указать «Размер виртуального диска» (желательно не меньше 25-30 Гб)
7. В поле «Формат виртуального диска» оставить значение «Фиксированный размер»
8. Нажать «ОК»
(Кликните, чтобы открыть скриншот в большом размере)
Процесс создания VHD займет некоторое время (зависит от указанного объема и производительности компьютера), которое можно потратить на создание загрузочной флешки.
Создаем загрузочную флешку при помощи Rufus
Есть множество программ, способных выполнить эту задачу. Большинство из них мало чем отличаются друг от друга. Мы будем использовать маленькую утилиту Rufus (скачать можно с официального сайта)
Примечание. Нужно принять во внимание, что все данные с флешки будут стерты, поэтому изначально с нее нужно скопировать все важные файлы.
Порядок действий:
1. Загрузить ISO-образ Windows 10
2. Запустить Rufus
3. В поле «Device» выбрать из списка флешку, на которую будет идти запись
4. Указать программе расположение ISO-образа (маленькая кнопка с нарисованным на ней диском) и нажать «Сохранить»
5. Нажать «Start»
Особенности установки операционной системы на VHD
Дальнейшая установка операционной системы на VHD мало чем отличается от установки на обычный жесткий диск. Нужно поставить в BIOS загрузку с флешки, начать установочный процесс и следовать всем предложенным инструкциям. Единственное отличие будет на этапе выбора диска для установки. По умолчанию установщик Windows 10 не видит файл VHD, поэтому ему нужно показать (инициализировать) расположение виртуального диска. Для этого используется утилита командной строки diskpart.
Порядок действий для инициализации VHD:
1. Вызвать командную строку на экране выбора диска для установки (нужно использовать сочетание клавиш Shift+F10)
2. Ввести diskpart и нажать Enter
3. После загрузки утилиты ввести команду
list volume
Это позволит определить, под какой буквой установщик видит диск, на котором хранится файл VHD.
4. Далее последовательно ввести две команды:
select vdisk file=Путь к файлу VHD
attach vdisk
Где «Путь к файлу VHD» – адрес расположения виртуального диска. В нашем случае это будет с:VHDWindows10
5. Закрыть или свернуть окно командной строки, а затем нажать «Обновить»
После обновления виртуальный диск должен появиться в списке дисков, доступных для установки. Остается только выбрать его и продолжить процедуру, следуя простым указаниям установщика.
(Установщик в виде предупреждения может сообщить о том что на этот диск невозможно установить Windows — не обращаем внимания)
После завершения установки, при включении компьютера появится выбор между основной системой и только что установленной Windows 10.
Настройка менеджера загрузки (меню выбора операционной системы)
Для того, чтобы удалить систему, установленную на VHD из списка загрузки, или поменять приоритет загрузки, можно воспользоваться панелью «Конфигурация системы».
Порядок действий:
1. Зайти в меню «Пуск»
2. В поиске ввести msconfig и нажать клавишу «Enter»
3. Зайти во вкладку «Загрузка»
4. Выбрать нужную запись операционной системы и воспользоваться кнопками «Использовать по умолчанию» или «Удалить» для настройки меню загрузки.
5. Нажать «ОК» или «Применить» для сохранения изменений
Знакомимся с BCD
BCD или Boot Configuration Data — это системное хранилище, в котором хранится конфигурация загрузки операционной системы.
Все файлы, необходимые для загрузки Windows, по умолчанию копируются в отдельный системный раздел, который обычно помечается «Зарезервировано системой». Он создается еще при первой установке ОС. В случае возникновение ошибок с загрузкой, их несложно исправить (или даже полностью восстановить загрузочную конфигурацию) при помощи утилит командной строки, которые работают с BCD (BCDEdit, BCDboot и bootrec).
Используем BCDEdit для удаления и восстановления записи VHD в списке загрузки
BCDEdit – специальный редактор, в котором можно изменить, удалить и добавить новые записи в BCD. Его можно запустить из командной строки (обязательное условие: работа под учетной записью администратора).
Удаление записи VHD (также это действие можно провести через графический интерфейс — как описано выше):
1. Вводим в командной строке bcdedit без атрибутов.
2. Находим в списке запись, в которой значение в поле device равно пути к файлу VHD.
3. Копируем значение из поля «идентификатор» этой записи.
4. Запускаем bcdedit с атрибутом /delete {идентификатор VHD}.
Восстановление записи VHD
5. Создаем копию существующей записи, чтобы потом сделать из нее новую
bcdedit /copy {current} /d «Название системы в списке загрузки»
6. Скопировать идентификатор созданной записи для VHD (можно не копировать а вписывать вручную в следующих командах).
7. Прописываем новой записи путь до диска. Стоит обратить внимание, что буква диска должна быть обязательно помещена в квадратные скобки.
bcdedit /set {идентификатор VHD} device vhd=[буква_диска:]Путь_к_файлу
8. Разница в двух последних командах лишь в атрибутах device и osdevice.
bcdedit /set {идентификатор VHD} osdevice vhd=[буква_диска:]Путь_к_файлу
9. Выставляем приоритет
bcdedit /displayorder {идентификатор VHD} /addlast
Вот так можно восстановить запись системы установленной на VHD в списке загрузки.