Создание образов WinRE 2008 и 2012 с iSCSI инициатором и PowerShell |
В этой статье вы найдете ответы на вопросы:
Итак, всё по порядку...
Где взять образ WinREДефолтовый образ WinRE находится внутри другого wim образа, который присутствует на установочном диске начиная с Windows Server 2008.
Путь на установочном диске:
Путь к WinRE внутри образа install.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. Вот что нам понадобится для того чтобы эту ситуацию поправить:
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). Рисунок 1
Рисунок 2
Рисунок 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; Что делать если мы все-же хотим иметь образ 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) Рисунок 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). Рисунок 5
Рисунок 6
Рисунок 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) Рисунок 8
Как настроить Windows Server Backup Feature резервное копирование на раздел iSCSIВ своей статье я показал как можно сделать это, используя только средства командной строки (ссылка). |