Подготовка USB-Flash носителя с предустановленным Hyper-V Server 2012 R2.

Подготовка USB-Flash носителя с предустановленным Hyper-V Server 2012 R2.

Источник более недоступен. Что там было в точности, я не помню. Перевел и добавил отсебятины @DrLSDee в далеком 2014 году.

Цели и задачи.

Поскольку «чистый» гипервизор занимает всего ничего дискового пространства, постольку многие не хотят отдавать под ОС гипервизора целый жёсткий диск, занимать лишнюю корзину. Жаба душит, в общем.

Кроме этой, без всякого сомнения, весомой причины, загрузка гипервизора с Flash-носителя дает возможность администратору распространять один раз настроенную систему на сколько угодно серверов. Ну и держать пару флэшек про запас.

0. Предварительные требования.

Нам понадобятся для работы:

1.     Рабочая станция под управлением не менее чем Windows 7.

2.     Желательно иметь на этой рабочей станции раздел, выделенный под всевозможные бесчеловечные эксперименты. Просто дабы не путаться.

3.     Windows Automated Deployment Kit for Windows 8.1.

4.     Заранее скачанные и распакованные драйвера для железа ваших будущих гипервизоров.

5.     Образ установочного диска Hyper-V Server 2012 R2.

6.     Любое средство распаковки ISO-образов (7-Zip вполне подойдет).

7.     USB-flash объемом не менее 8 ГБ, по рекомендациям Microsoft не менее 16 ГБ, по факту – прикиньте исходный образ, объем драйверов и агентов ИБП и мониторинга, умножьте на два.

Примечание: если у вас установлен Windows Automated Installation Kit для Windows 7, вам все равно придется скачать и установить WADT.

1. Создаём дерево рабочих папок.

Любым удобным для вас способом и в любом удобном расположении создайте несколько каталогов, в которых мы будем работать. Например, так.

md D:\HyperV\

md D:\HyperV\Src

md D:\HyperV\Wrk

md D:\HyperV\Off

md D:\HyperV\Drv

cls

Примечание: если на этом этапе вы создадите именно такую структуру каталогов, далее можете просто копировать и вставлять соответствующие команды.

2. Получение источника установки.

Если вы ещё не скачали образ гипервизора, сделайте это.

Распаковываем ISO-образ Hyper-V Server 2012 R2 в папку D:\HyperV\Src – любым удобным способом. Подойдёт архиватор, 7-zip, например. Всё.

Распакованные драйвера от железа наших гипервизоров должны лежать в D:\HyperV\Drv, как нетрудно догадаться.

3. Создание виртуального диска.

Запускаем экземпляр командной строки. Далее это будет «DiskPart».

Создаем виртуальный диск.

diskpart

create vdisk file=D:\HyperV\Wrk\HYPV2012R2.vhd maximum=8000 type=fixed

select vdisk file=D:\HyperV\Wrk\HYPV2012R2.vhd

attach vdisk

create partition primary

assign letter=R

format quick fs=ntfs label=HYPV2012R2

Оставляем DiskPart открытым, пока здесь больше ничего не делаем.

Примечание 1: Как только вы назначите диску букву, появится GUI-запрос на форматирование. Можно и так.
Примечание 2: В источнике, которым я руководствовался, автор создавал диск VHDX. В комментариях у одного из последователей при попытке загрузиться с подготовленного таким образом носителя возникла ошибка. Поймал такую ошибку и я. С диском VHD ошибка не возникает. Подобная же проблема была и у пользователей Hyper-V 2008.

4. Применяем исходный образ Hyper-V 2012R2 к виртуальному диску.

Запускаем еще один экземпляр командной строки. Можно как обычно, но удобнее будет найти ее по адресу: «Пуск – Все программы – Windows Kits – Windows ADK – Среда средств развертывания и работы с образами». Переводчик, как обычно, цозёл. Это будет «WADT».

cd /d "c:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\<architecture>\DISM"

Примечание 1: А вот тут внимательнее. Вместо "<architecture>" не забываем подставить нужное. Например, так:
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM
Добавлено 2019-09-03 @DrLSDee

4.1 Включаем драйвера в установочный образ.

Чтобы случайно не получить рабочую систему, которая не видит сеть, внешние накопители, RAID и вообще ничего не видит, кроме себя, любимой, стоит включить драйвера заранее. DISM у нас открыт, драйвера скачаны с сайта производителя и положены туда, куда положено. Монтируем исходный WIM-образ и включаем драйвера туда.

dism /Mount-Wim /WimFile:D:\HyperV\Src\sources\install.wim /Index:1 /MountDir:D:\HyperV\Off

Примечание 1: после ключа /Index: следует номер того образа, который будет развернут. Если источник содержит несколько образов, таких как Server Datacenter, Server Standard, то следует уточнить номер образа. Номер можно подсмотреть в файле "[1].xml" (или как-то так) в корне образа "install.wim".
Добавлено 2019-09-03 @DrLSDee

dism /Image:D:\HyperV\Off /Add-Driver /Driver:D:\HyperV\Drv /Recurse

Смотрим, что получилось. Бывает, что некоторые драйвера вот так с кондачка не включаются, поскольку не подписаны, или подписаны неправильно. Можно размонтировать образ с подтверждением, дабы потом посмотреть на живом железе, что вышло. И нужно ли нам было то, что не установилось.

dism /Unmount-Wim /MountDir:D:\HyperV\Off /Commit

А можно размонтировать образ без подтверждения, а потом при добавлении драйверов разрешить установку неподписанных. Вот так, например.

dism /Unmount-Wim /MountDir:D:\HyperV\Off /Discard

dism /Image:D:\HyperV\Off /Add-Driver /Driver:D:\HyperV\Drv /Recurse /ForceUnsigned

dism /Unmount-Wim /MountDir:D:\HyperV\Off /Commit

4.2 Применение установочного образа.

Включали ли вы неподписанные драйвера или нет, применяем WIM-образ к смонтированному VHD.

dism /Apply-Image /ImageFile:D:\HyperV\Src\sources\install.wim /Index:1 /ApplyDir:R:\

5. Отключение файла подкачки.

Раз уж ОС у нас ограничена очень маленьким виртуальным диском, следует отключить файл подкачки. Да и прочее, что будет пожирать место на диске.

Для этого нам придется открыть еще одну командную строку. Я никак не буду ее называть, потому что понадобится нам этот экземпляр ненадолго. Подгрузить ветку, убить файл подкачки, выгрузить ветку. Можно и RegEdit воспользоваться.

reg load HKLM\HyperVTemp R:\WINDOWS\system32\config\system

reg add "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "" /f

reg delete "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v ExistingPageFiles /f

reg unload HKLM\HyperVTemp

exit

6. Подготовка носителя.

6.1 Отключение виртуального диска.

Возвращаемся к DiskPart и отключаем VHD:

select vdisk file=D:\HyperV\Wrk\HYPV2012R2.vhd

detach vdisk

6.2 Разметка носителя.

Подключаем USB-флэшку. Вызываем список дисков, смотрим номер нашего носителя. Главное, опять же, не перепутать.

list disk

select disk <USB stick number>

clean

create partition primary

select partition 1

active

format quick fs=ntfs

assign letter=V

Оставляем DiskPart в покое и копируем виртуальный диск в корень флэшки. Можно через GUI.

6.3 Запись загрузочного сектора.

Возвращаемся в WADT.

cd /d "c:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\<architecture>\BCDBoot"

bootsect /nt60 V: /force /mbr

Переключаемся в DiskPart. Монтируем виртуальный диск, только уже тот его экземпляр, который находится на флэшке.

select vdisk file=V:\HYPV2012R2.vhd

attach vdisk

Возвращаемся в WADT и пишем загрузчик.

bcdboot R:\WINDOWS /s V:

exit

Больше нам WADT сегодня не понадобится.

7. Завершение работы.

У нас остался открытым только DiskPart. Идем туда и отмонтируем VHD.

select vdisk file=V:\HYPV2012R2.vhd

detach vdisk

exit

exit

Дальше можно клонировать флэшку любым удобным способом на любое количество экземпляров (например, DD), а также попытаться загрузить с неё ваш гипервизор.

Постскриптум.

Первый вопрос, который у меня возник после повторения этого опыта: «Какого чёрта так медленно?!» Следовало ожидать. Флэшки обычно не отличаются большой скоростью, и держать на них production-систему можно только от великой нищеты. Ну или жадности.

Следствие 1.

Любые работы на образе лучше выполнять тогда, когда он лежит на жестком диске. Включение сервис-паков, патчей, драйверов в систему, запущенную с flash-носителя обещает быть довольно утомительной процедурой. Если состав аппаратного обеспечения будущих хостов не различается, возможно, следует

1.     провести классическую установку Hyper-V Server 2012 R2 на HDD;
2.     провести установку драйверов, обновлений, универсального набора прикладного ПО;
3.     выполнить SysPrep с сохранением драйверов;
4.     захватить образ установленной системы, оценить объем;
5.     на Этапе №3 руководства создать виртуальный диск соответствующего объема;
6.     перейти к Этапу №4 этого руководства, вместо чистого install.wim используя снятый образ.

Следствие 2.

На работе виртуальных машин это не сказывается, но хост будет стартовать несколько минут. А так же очень долго выключаться. Ну а поскольку выключают сервера, тем более гипервизоры, обычно не от хорошей жизни, постольку есть риск, что UPS не продержит ваш хост до корректного завершения работы.

Вывод.

Загрузка хоста с VHD всё же скорее удобна. Упрощается клонирование, резервное копирование и восстановление операционной системы хоста. Но лучше использовать SATA DOM. Описанное решение подходит и для SATA DOM, и для обычного жесткого диска. А если вам жалко не только корзины, но и лишнего разъема на материнской плате, имеет смысл рассмотреть загрузку гипервизора по сети.

Report Page