Сегодня я поделюсь с вами наработкой по установке операционной системы Windows 7, вернее одним из этапов профессиональной установки Windows – созданию скрытого раздела восстановления на жестком диске, как это принято производителей брендовой компьютерной техники.
В отличие от Windows XP, операционная система Windows 7 имеет встроенный механизм восстановления, а нам лишь нужно правильно воспользоваться предоставленной возможностью.
Прежде всего, не рекомендую воспроизводить нижеприведённый материал на различных сборках Windows 7 с интегрированным софтом, твиками и сценариями автоустановки, т.к. у нас будет свой сценарий. Я, к примеру, использую оригинальный образ Windows 7 в комплекте с обычной флешкой, на которой находятся перепакованные программы, пакеты обновлений, драйверы, твики и пр., но основными компонентами данной флешки, в разрезе статьи Создание раздела восстановления при установке Windows 7, являются файл ответов Autounattended.xml и скрипт создания Recovery партиции — CreateRecovery.cmd.
Особенностью установки Windows 7 с созданием раздела восстановления является то, что при такой установке жёсткий диск полностью переразмечается и форматируется в автоматическом режиме, учтите этот момент, потом будет поздно.
Содержание моего файла Autounattended.xml следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> <UILanguage>ru-RU</UILanguage> </SetupUILanguage> <InputLocale>0419:00000419</InputLocale> <UserLocale>ru-RU</UserLocale> <UILanguage>ru-RU</UILanguage> <SystemLocale>ru-RU</SystemLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DiskConfiguration> <Disk wcm:action="add"> <CreatePartitions> <CreatePartition wcm:action="add"> <Order>1</Order> <Type>Primary</Type> <Size>5000</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>2</Order> <Type>Primary</Type> <Size>50</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>3</Order> <Type>Primary</Type> <Size>100000</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>4</Order> <Type>Primary</Type> <Extend>true</Extend> </CreatePartition> </CreatePartitions> <ModifyPartitions> <ModifyPartition wcm:action="add"> <Order>1</Order> <PartitionID>1</PartitionID> <Label>Recovery</Label> <Format>NTFS</Format> <TypeID>0x27</TypeID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> <Label>System</Label> <Format>NTFS</Format> <Active>true</Active> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>3</Order> <PartitionID>3</PartitionID> <Label>Local OS</Label> <Format>NTFS</Format> <Letter>C</Letter> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>4</Order> <PartitionID>4</PartitionID> <Label>Data</Label> <Format>NTFS</Format> <Letter>D</Letter> </ModifyPartition> </ModifyPartitions> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> </Disk> <WillShowUI>OnError</WillShowUI> </DiskConfiguration> <ImageInstall> <OSImage> <InstallTo> <DiskID>0</DiskID> <PartitionID>3</PartitionID> </InstallTo> <WillShowUI>OnError</WillShowUI> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> </UserData> </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> <UILanguage>ru-RU</UILanguage> </SetupUILanguage> <InputLocale>0419:00000419</InputLocale> <UserLocale>ru-RU</UserLocale> <UILanguage>ru-RU</UILanguage> <SystemLocale>ru-RU</SystemLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DiskConfiguration> <Disk wcm:action="add"> <CreatePartitions> <CreatePartition wcm:action="add"> <Order>1</Order> <Type>Primary</Type> <Size>5000</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>2</Order> <Type>Primary</Type> <Size>50</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>3</Order> <Type>Primary</Type> <Size>100000</Size> </CreatePartition> <CreatePartition wcm:action="add"> <Order>4</Order> <Type>Primary</Type> <Extend>true</Extend> </CreatePartition> </CreatePartitions> <ModifyPartitions> <ModifyPartition wcm:action="add"> <Order>1</Order> <PartitionID>1</PartitionID> <Label>Recovery</Label> <Format>NTFS</Format> <TypeID>0x27</TypeID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> <Label>System</Label> <Format>NTFS</Format> <Active>true</Active> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>3</Order> <PartitionID>3</PartitionID> <Label>Local OS</Label> <Format>NTFS</Format> <Letter>C</Letter> </ModifyPartition> <ModifyPartition wcm:action="add"> <Order>4</Order> <PartitionID>4</PartitionID> <Label>Data</Label> <Format>NTFS</Format> <Letter>D</Letter> </ModifyPartition> </ModifyPartitions> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> </Disk> <WillShowUI>OnError</WillShowUI> </DiskConfiguration> <ImageInstall> <OSImage> <InstallTo> <DiskID>0</DiskID> <PartitionID>3</PartitionID> </InstallTo> <WillShowUI>OnError</WillShowUI> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> </UserData> </component> </settings> <settings pass="specialize"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OEMInformation> <HelpCustomized>false</HelpCustomized> </OEMInformation> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OEMInformation> <HelpCustomized>false</HelpCustomized> </OEMInformation> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Reseal> <Mode>Audit</Mode> </Reseal> </component> <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Reseal> <Mode>Audit</Mode> </Reseal> </component> </settings> <cpi:offlineImage cpi:source="wim:c:/win7%2032bit/sources/install.wim#Windows 7 HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> |
Рассмотрим, какой сценарий прописан в данном файле ответов.
При установке на жесткий диск разбивается на 4 партиции:
1. Партиция для раздела восстановления (5 Гб достаточно для бекапа операционной системы с основным софтом и установленными драйверами)
2. Партиция для загрузочных файлов (по умолчанию система создаёт её равной 100 Мб, но на практике достаточно 50 Мб)
3. Партиция для операционной системы (я остановился на размере 100 Гб)
4. Партиция для пользовательских данных (равна оставшемуся пространству жёсткого диска)
Можете выбрать другие размеры по вашему усмотрению.
Установка операционной системы выполняется в автоматическом режиме, а по окончании входит в режим аудита и ждёт ваших действий:
На этом этапе вы можете применять твики, устанавливать драйверы, программы, а так же перезагружать систему. Для OEM компьютеров на этом этапе можно установить в систему сертификат и соответствующий серийный номер. По твикам в режиме аудита я написал отдельную статью, т.к. применение настроек к профилю по умолчанию в Window 7, требует определённых телодвижений. Единственное, что нельзя делать на этапе аудита при данном сценарии установки, это закрывать окно «Программы подготовки системы», просто сдвиньте его на край экрана если мешает. Когда тюнинг и предварительная настройка операционной системы завершены, настало время запустить скрипт для запечатывания её текущего состояния и создания образа восстановления CreateRecovery.cmd. Скрипт отрабатывает в два этапа, разделённые автоматической перезагрузкой:
По завершении второго этапа, вам будет предложено выключить компьютер и передать его конечному пользователю:
Именно в таком состоянии продаются ноутбуки и брендовые компьютеры в магазинах.
При следующей загрузке компьютер произведёт подготовку к первому запуску, предложит выбрать имя пользователя, ввести серийный номер и активировать Windows 7, если это не было сделано на этапе аудита.
Теперь то, для чего мы всё это затеяли. В случае серьёзного сбоя или заражения компьютерным вирусом, у пользователя появляется возможность откатить систему на «заводское состояние». Для этого при старте компьютера нужно нажать F7, выбрать язык, существующего пользователя с правами администратора, а затем пункт «Переустановка Windows»:
В процессе восстановления, находящаяся на диске С: предыдущая операционная система, перемещается в папку Windows.old, что предотвращает потерю пользовательских данных и даёт возможность скопировать их после восстановления в новое место. Данные на других дисках, имеющихся в компьютере, в ходе восстановления не затрагиваются.
Скрипт для создания раздела восстановления с необходимыми утилитами и файл ответов можно скачать по ссылке
При подготовке статьи использованы материалы форума MyDigitalLife