Авторизация



Голосование

Помогла ли представленная на сайте информация решению Вашей IT-задачи?
 
Главная страница IT MICROSOFT Создание образов WinRE 2008 и 2012 с iSCSI инициатором и PowerShell
Создание образов WinRE 2008 и 2012 с iSCSI инициатором и PowerShell Печать

В этой статье вы найдете ответы на вопросы:

  • где взять образ WinRE (Windows Recovery Environment) и как вытянуть WinRE из установочного диска Windows Server
  • как смонтировать wim образ с помощью утилиты dism
  • как установить дополнительные пакеты, в частности PowerShell, поддержку iSCSI инициатора и соответствующих командлетов для Windows Server 2012
  • как подключиться к iSCSI таргету с помощью PowerShell
  • как восстановить систему из резервной копии Bare Metal Recovery, созданной Microsoft Windows Server Backup Feature
  • как добавить графическую оснастку iSCSI Initiator в WinRE на основе Windows Server 2008 R2

Итак, всё по порядку...

 

Где взять образ WinRE

Дефолтовый образ WinRE находится внутри другого wim образа, который присутствует на установочном диске начиная с Windows Server 2008.

 

Путь на установочном диске:

\sources\install.wim

 

Путь к WinRE внутри образа install.wim :

\Windows\System32\Recovery\winRE.wim

В некоторых установочных дисках образ winRE.wim может иметь атрибут Hidden (скрытый).

 

Как смонтировать wim образ

После того как мы с установочного диска скопировали файл install.wim в нашу рабочую директорию, нам нужно его смонтировать с помощью команды dism. После монтирования мы сможем из него вытянуть нужный нам winRE.wim

PS H:\> dir h:\WorkDir\ # Посмотрим содержимое нашей рабочей директории

 Volume in drive H is Paging-Caching
 Volume Serial Number is F037-FC01

 Directory of H:\WorkDir

26.07.2013  10:01              .
26.07.2013  10:01              ..
26.07.2013  09:51     3 141 189 693 install.wim
26.07.2013  10:01              mnt
               1 File(s)  3 141 189 693 bytes
               3 Dir(s)  184 172 273 664 bytes free

PS H:\> dism /mount-wim /wimfile:h:\WorkDir\install.wim /index:1 /mountdir:h:\WorkDir\mnt # Монтируем образ install.wim в заранее созданную пустую папку mnt

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Mounting image
[==========================100.0%==========================]
The operation completed successfully.

PS H:\> dir h:\WorkDir\mnt\ # После успешного монтирования можем посмотреть на структуру файлов внутри образа

 Volume in drive H is Paging-Caching
 Volume Serial Number is F037-FC01

 Directory of h:\WorkDir\mnt

21.11.2010  07:04              .
21.11.2010  07:04              ..
14.07.2009  06:20              PerfLogs
14.07.2009  08:06              Program Files
14.07.2009  08:06              Program Files (x86)
21.11.2010  05:53              Users
21.11.2010  08:56              Windows
               0 File(s)              0 bytes
               7 Dir(s)  184 009 691 136 bytes free

PS H:\> Copy-Item H:\WorkDir\mnt\Windows\System32\Recovery\winRE.wim H:\WorkDir\ # Вытягиваем нужный нам образ WinRE и кладем его в рабочую директорию
PS H:\> ls H:\WorkDir\ # Проверяем что получилось

    Directory: H:\WorkDir

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        21.11.2010      6:04            mnt
-a---        26.07.2013     10:04 3141189693 install.wim
-a---        20.11.2010     18:42  200125544 winRE.wim

PS H:\> dism /unmount-wim /mountdir:H:\WorkDir\mnt /discard # Демонтируем образ install.wim т.к. он нам больше не нужен. Параметр /discard указывает на то, что все изменения внутри образа install.wim должны быть отменены

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image File : h:\WorkDir\install.wim
Image Index : 1
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.

Как установить PowerShell и поддержку iSCSI вовнутрь нашего WinRE 2012 образа

Очень часто резервные копии хранятся на дисках iSCSI. И очень удобно было бы, без дополнительных манипуляций, с WinRE подключиться к iSCSI таргету и начать восстановление. Однако тут засада, - дефолтовые образы WinRE не содержат ни iSCSI инициатора, ни графической компоненты настройки, ни командлетов PowerShell. Кроме того WinRE даже не включает в себя сам PowerShell.

Вот что нам понадобится для того чтобы эту ситуацию поправить:

  1. Установленный где-нибудь пакет Windows ADK (Assessment and Deployment Kit)
  2. Образ WinRE от Windows Server 2012

 

PS H:\> Copy-Item -Recurse 'c:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs' H:\WorkDir\ # Копируем из установленного Windows ADK необходимые нам файлы пакетов в рабочую директорию

PS H:\> dism /mount-wim /wimfile:h:\WorkDir\winRE.wim /index:1 /mountdir:H:\WorkDir\mnt\ # Монтируем нужный нам образ WinRE для дальнейшей работы с ним

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Mounting image
[==========================100.0%==========================]
The operation completed successfully.

PS H:\> dism /image:H:\WorkDir\mnt /Add-Package /PackagePath:'H:\WorkDir\WinPE_OCs\WinPE-WMI.cab' # Устанавливаем первый необходимый пакет

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.2.9200.16384

Processing 1 of 1 - Adding package WinPE-WMI-Package~31bf3856ad364e35~amd64~~6.2
.9200.16384
[==========================100.0%==========================]
The operation completed successfully.

PS H:\> dism /image:H:\WorkDir\mnt /Add-Package /PackagePath:'H:\WorkDir\WinPE_OCs\WinPE-NetFx4.cab' # Устанавливаем .NET Framework
PS H:\> dism /image:H:\WorkDir\mnt /Add-Package /PackagePath:'H:\WorkDir\WinPE_OCs\WinPE-PowerShell3.cab' # Устанавливаем PowerShell
PS H:\> dism /image:H:\WorkDir\mnt /Add-Package /PackagePath:'H:\WorkDir\WinPE_OCs\WinPE-StorageWMI.cab' # Добавляем командлеты iSCSI
PS H:\> dism /unmount-wim /mountdir:H:\WorkDir\mnt /commit # Демонтируем измененный образ WinRE. Параметр /commit указывает на необходимость сохранить все изменения в образе

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image File : h:\WorkDir\winRE.wim
Image Index : 1
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.

 

Образ готов. Теперь можно залить его на WDS к загрузочным образам, или вмонтировать его обратно в install.wim и записать обновленный установочник на диск.

Более подробную информацию по установке дополнительных пакетов и зависимостям можно получить тут.

 

Как подключиться к iSCSI таргету с помощью PowerShell и как восстановить образ из BMR

Загружаемся с образа WinRE 2012, который мы подправили шагом ранее (Рис. 1, 2 и 3).

image_wimiscsi-01

Рисунок 1

 

image_wimiscsi-02

Рисунок 2

 

image_wimiscsi-03

Рисунок 3

 

Далее выполняем ряд команд и командлетов:

X:\> powershell # Переходим в MS PowerShell (пакет доставлен в образ WinRE как описано выше)
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.

PS X:\> X:\Windows\System32\wpeutil.exe initializenetwork # Инициализируем сеть

The command completed successfully.

PS X:\> ipconfig # Проверяем полученный по DHCP IP-адрес (если DHCP сервера в сети нет, то придется устанавливать IP вручную с помощью netsh)

Windows IP Configuration

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : citynet.kharkov.ua
   Link-local IPv6 Address . . . . . : fe80::85e2:a118:82fa:5c3b%2
   IPv4 Address. . . . . . . . . . . : 10.0.3.123
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.3.1

PS X:\> Start-Service MSiSCSI
PS X:\> New-IscsiTargetPortal -TargetPortalAddress 10.0.0.70 # Подскажем инициатору где находится наш iSCSI портал с таргетами

InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.0.70
TargetPortalPortNumber : 3260
PSComputerName         :

PS C:\> Get-IscsiTarget | Format-Table -AutoSize # Посмотрим какие на портале разрешены таргеты для нас

IsConnected NodeAddress                                        PSComputerName
----------- -----------                                        --------------
      False iqn.2008-08.com.starwindsoftware:storage01.srv83bkp

PS C:\> Connect-IscsiTarget -NodeAddress 'iqn.2008-08.com.starwindsoftware:storage01.srv83bkp' -TargetPortalAddress 10.0.0.70 -TargetPortalPortNumber 3260 -AuthenticationType ONEWAYCHAP -ChapUsername 'myUser' -ChapSecret 'MyStrongPa$$w0rd' # Подключимся к необходимому таргету используя Chap аутентификацию (иногда на WinRE возникают проблемы с подключением к таргету, при использовании CHAP аутентификации. Если нет времени решать эту проблему, рекомендую на таргете временно снять пароль на подключение и исключить из командлета опции -AuthenticationType -ChapUsername -ChapSecret)

AuthenticationType      : ONEWAYCHAP
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:win-de24paciabt
InitiatorPortalAddress  : 0.0.0.0
InitiatorSideIdentifier : 400001820000
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : False
NumberOfConnections     : 1
SessionIdentifier       : fffffa8301d38370-4000013700000007
TargetNodeAddress       : iqn.2008-08.com.starwindsoftware:storage01.srv83bkp
TargetSideIdentifier    : 33aa
PSComputerName          :

PS C:\> X:\Windows\System32\bmrui.exe # Вызываем Bare Metal Recovery User Interface

 

После, в графическом интерфейсе, выбираем нужную нам точку восстановления и запускаем процесс. [Процесс восстановления прошел удачно, однако при первой загрузке поймали синий экран смерти? Возможно вам сюда (ссылка)]

 

Как добавить графическую оснастку iSCSI Initiator в Windows Server 2008 R2

Дело вот в чём:

чтобы восстановить образ из BMR, нам нужно загрузиться с соответствующей версии WinRE. Т.е. у нас не получится восстановить Windows Server 2008 R2 с помощью WinRE который мы создали выше, потому как он создан на основе Windows Server 2012;
командлеты iSCSI появились только в 2012 редакции серверной операционной системы.

Что делать если мы все-же хотим иметь образ WinRE 2008 R2 с поддержкой iSCSI инициатора? Создавать новый образ

Добавляем в WinRE файлы, необходимые для работы iSCSI инициатора

Копируем файл install.wim с установочного диска Windows Server 2008 R2 и кладем его в рабочую директорию.

PS H:\> dism /mount-wim /wimfile:h:\WorkDir\install.wim /index:1 /mountdir:h:\WorkDir\mnt # Монтируем образ Server 2008 R2

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Mounting image
[==========================100.0%==========================]
The operation completed successfully.

PS H:\> Copy-Item H:\WorkDir\mnt\Windows\System32\Recovery\winRE.wim H:\WorkDir\ # Вытягиваем из смонтированного образа файл WinRE.wim и кладём его в рабочую директорию

PS H:\> dism /unmount-wim /mountdir:H:\WorkDir\mnt /discard # Демонтируем образ install.wim т.к. он нам больше не нужен. Параметр /discard указывает на то, что все изменения внутри образа install.wim должны быть отменены

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image File : h:\WorkDir\install.wim
Image Index : 1
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.

PS H:\> dism /mount-wim /wimfile:h:\WorkDir\winRE.wim /index:1 /mountdir:h:\WorkDir\mnt # Монтируем на этот раз уже образ WinRE 2008 R2

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Mounting image
[==========================100.0%==========================]
The operation completed successfully.


# Теперь нам нужно скопировать из какой-либо установленной операционной системы Microsoft Windows Server 2008 R2 (версии должны совпадать) в соответствующие расположения внутри смонтированного нами образа WinRE следующие файлы:
PS H:\> Copy-Item C:\Windows\System32\iscsicli.exe H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsicpl.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsicpl.exe H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsidsc.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsied.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsiexe.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsilog.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsium.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\iscsiwmi.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\oledlg.dll H:\WorkDir\mnt\Windows\System32\
PS H:\> Copy-Item C:\Windows\System32\drivers\msiscsi.sys H:\WorkDir\mnt\Windows\System32\drivers\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsicli.exe.mui H:\WorkDir\mnt\Windows\System32\en-US\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsicpl.dll.mui H:\WorkDir\mnt\Windows\System32\en-US\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsicpl.exe.mui H:\WorkDir\mnt\Windows\System32\en-US\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsidsc.dll.mui H:\WorkDir\mnt\Windows\System32\en-US\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsiexe.dll.mui H:\WorkDir\mnt\Windows\System32\en-US\
PS H:\> Copy-Item C:\Windows\System32\en-US\iscsilog.dll.mui H:\WorkDir\mnt\Windows\System32\en-US\

Регистрируем службу MSiSCSI внутри образа WinRE

Запускаем редактор реестра regedit

В редакторе реестра устанавливаем курсор на раздел HKEY_LOCAL_MACHINE

В меню File выбираем пункт Load Hive...

Выбираем внутри нашего смонтированного образа файл (без расширения): H:\WorkDir\mnt\Windows\System32\config\SYSTEM

В поле Key Name вписываем: hive_system

Еще раз в меню File выбираем пункт Load Hive...

Выбираем внутри нашего смонтированного образа файл (без расширения): H:\WorkDir\mnt\Windows\System32\config\SOFTWARE

В поле Key Name вписываем: hive_software (Рис. 4)

image_wimiscsi-04

Рисунок 4

 

Качаем файл реестра iscsi.zip (ссылка (1.87 Кб) [скачано:940 раз(а)])

Распаковываем архив и запускаем слияние файла реестра iscsi.reg

В редакторе реестра устанавливаем курсор на раздел HKEY_LOCAL_MACHINE\hive_system

В меню File выбираем пункт Unload Hive...

Далее устанавливаем курсор на раздел HKEY_LOCAL_MACHINE\hive_software

Еще раз в меню File выбираем пункт Unload Hive...

Закрываем редактор реестра

 

Переключаемся в окошко PowerShell

PS H:\> dism /unmount-wim /mountdir:H:\WorkDir\mnt /commit # Демонтируем измененный образ WinRE. Параметр /commit указывает на необходимость сохранить все изменения в образе

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image File : h:\WorkDir\winRE.wim
Image Index : 1
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.

 

Образ WinRE 2008 R2 готов. Теперь можно залить его на WDS к загрузочным образам, или вмонтировать его обратно в install.wim и записать обновленный установочник на диск.

 

Проверяем что получилось

Загружаемся с образа WinRE 2008 R2, который мы подправили шагом ранее (Рис. 5, 6 и 7).

image_wimiscsi-05

Рисунок 5

 

image_wimiscsi-06

Рисунок 6

 

image_wimiscsi-07

Рисунок 7

 

Вводим следующие команды:

X:\WINDOWS\system32> wpeutil.exe initializenetwork # Инициализируем сеть
X:\WINDOWS\system32> ipconfig /all # Проверяем что система получила корректный IP-адрес
X:\WINDOWS\system32> net start msiscsi # Запускаем службу iSCSI
X:\WINDOWS\system32> iscsicpl.exe # Вызываем графическую оснастку iSCSI инициатора
X:\WINDOWS\system32> bmrui.exe # Вызываем Bare Metal Recovery User Interface

 

Все получилось - таргеты доступны (Рис. 8)

image_wimiscsi-08

Рисунок 8

 

Как настроить Windows Server Backup Feature резервное копирование на раздел iSCSI

В своей статье я показал как можно сделать это, используя только средства командной строки (ссылка).

 
Главная страница IT MICROSOFT Создание образов WinRE 2008 и 2012 с iSCSI инициатором и PowerShell