Windows

Как удаленно переустановить ОС

В этой статье я покажу вам, как удаленно установить Windows. Как правило, переустановка Windows производится с физическим доступом. Сегодня я покажу вам, как сделать эту процедуру полностью удаленной, без каких-либо инструкций пользователя о том, как войти в меню загрузки и выбрать загрузку с USB-накопителя.

Подготовка

Особых требований к удаленному подключению нет — оно должно поддерживать только графику, т.е. Telnet и подобные пережитки прошлого здесь не подходят. И, конечно же, целевая машина должна иметь права администратора. Хотя даже в 2020 году пользователи не научились пользоваться компьютером без прав администратора, так что особо не беспокойся об этом.

Если совесть позволяет, ты можеш скачать образ прямо на компьютер клиента. Но ты можеш немного уменьшить размер загрузки и одновременно настроить сборку, вытащив только один файл из образа ISO — install.wim / install.esd, расположенный в папке sources в корне образа (если хочешь , можешь исправить это заодно). Для установки ничего не нужно, кроме него. Имя файла может немного отличаться, но это не повод для путаницы — он имеет размер более гигабайта и занимает большую часть образа. Форматы WIM и ESD — это просто разные версии этого формата.

Для переустановки была взята программа С Ее задача — развернуть систему из образов WIM / ESD, минуя обычный установщик и WinPE. Конечно, программа умеет не только применять образ, но и оптимизировать установленную систему и имеет множество настроек. В общем, эту утилиту по любому нужно скачать каждому системному администратору.

Ну тут ясно, что суть этого метода в том, что мы не выходим из установленной системы, пока не перезагрузимся в уже установленную новую. Это может быть единственный вариант в случае переустановки системы на VPS, когда приехать и переустановить просто невозможно физически, а потеря удаленного доступа приведет к потере самого сервера. Для этого, был придуман и реализован способ переустановки Windows на сервере, к панели которого был утерян доступ.

Главное окно программы WinNTSetup

При первом запуске вам будет предложено загрузить компоненты Windows ADK, без которых программа не запустится. Они занимают очень мало места, но, к сожалению, не идут в комплекте с программой. Просто имейте это в виду.

Еще нам понадобится Bootice — чрезвычайно полезная программа для работы с загрузчиками, которая, помимо прочего, поддерживает редактирование BCD (Boot Configuration Data). Он нам понадобится, чтобы заставить загрузчик Windows загружать нашу только что установленную систему вместо существующей.

Bootice

Для нас важно не потерять удаленный доступ после переустановки, ведь новую систему еще нужно настроить. Поскольку процедура изначально была необходима на VPS, в качестве удаленного доступа использовался RDP, для чего я и применил этот метод. Если вы используете другое средство, я расскажу вам, как с ним быть позже. В случае RDP доступ сохраняется путем редактирования реестра после установки, хотя и автоматически.

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

Разметка диска

Прежде всего, тебе нужно выделить место для новой операционной системы. Независимо от того, сколько ты хочешь, ты не сможешь установить его на раздел с существующей. Поэтому открывай диспетчер дисков и создавай новый раздел в NTFS. Меньше 10 Гб устанавливать не стоит.

Я создал около 60 Гб.Приступаем к установке

WinNTSetup

Открываем программу WinNTSetup, запоминаем, какую версию Windows собираемся установить, выбираем соответствующую вкладку вверху окна. Я искренне верю, что вы не устанавливаете ни Windows XP, ни Windows 2000, поэтому я опущу описание их установки. Кроме того, процесс не сильно отличается, и программа дает много советов.

Теперь разберемся с настройками программы.Для удобства сделаю разметку красными цифрами

1. На этих двух вкладках можно выбрать версию устанавливаемой Windows. Изначально открыта вторая вкладка (на изображении), которая позволяет выбрать все современные версии Windows. Первая вкладка имеет немного другой набор настроек и вариантов настройки системы перед установкой.

2. Здесь требуется указать путь к файлу WIM / ESD из Windows. ISO работать не будет.Выйти из данной ситуации можно извлекая нужный файл из ISO любым современным архиватором или смонтировать его с помощью UltraISO или DaemonTools. Если уже установлена ​​ОС Windows 10, вы можете смонтировать образ напрямую с помощью проводника Windows.    

3. Здесь выбирается загрузочный диск. Но конечно не тот, на который  установлена ​​текущая ОС, а именно загрузочный. По умолчанию он не виден, но при запуске он монтируется в Z:, как на скриншоте. Там есть загрузчик EFI и его обвязка, так что с корявыми руками туда лучше не соваться. На обоих дисках MBR и GPT этот раздел называется System Reserved, но EFI (GPT) отформатировал его в FAT32, а BIOS (MBR) отформатировал его в NTFS. Как видите, для скриншотов я использую два компьютера: основной на MBR (здесь, увы, нормальной поддержки UEFI не принесли) и тестовый на GPT. Разницу на скриншотах игнорируйте.

4.Это очень просто. Вам просто нужно выбрать только что созданный раздел. Больше ничего трогать не нужно. В нем могут быть и другие файлы, установке это не помешает. Но лучше, конечно, на чистый диск поставить.

5.В данном списке отображаются версии системы, которые можно установить. Как вы помните, ISO может содержать несколько редакций Windows: например, Enterprise и Pro; и они также могут быть разной разрядности. С помощью WinNTSetup можно выбрать редакцию которую устанавливаете.

6.Здесь у нас сразу две настройки, похожие по назначению. Unattend позволяет указать для установки кастомный файл Unattend.xml. Мы будем использовать эту функцию для поддержки удаленного доступа. Add drivers позволяет интегрировать драйверы в установленную систему. Если у вас есть компакт-диск с определенными драйверами для оборудования клиента, вы можете установить их сразу, не дожидаясь перезагрузки.

7.Эта функция позволяет переназначить букву системного диска в новой Windows. Даже если вы поместите систему на диск D :, как это сделал я в демонстрации, эта функция прикажет монтировать раздел, как диск C: (или что-то еще) в новой системе.

8.Последние три функции дают возможность управлять режимом установки и твиками новой системы.

Сначала рассмотрим Mode: он позволяет включить сжатие Compact OS. Или оставить WIMBOOT. На современных SSD опция не очень востребована, но на старых моделях все еще актуальна. Это позволяет невероятно сэкономить место на диске и еще немного ускорить загрузку.

Кнопка Tweaks позволяет изменять новую систему, включая отключение ненужных компонентов Windows, таких как Защитник Windows и гибернация, мощный проводник и настройки реестра. Если чего-то не хватает, вы можете добавить это самостоятельно.

Доступные твики

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

VHD помогает установить Windows на VHD или VHDX, который затем можно использовать в средах виртуализации или для создания готового к развертыванию образа с уже установленной ОС.

Ну вот, функции программы понятны, теперь можно приступить к установке. Смонтируй ISO (или как-то иначе извлекай из него установку WIM / ESD), вставь в программу, выбери разделы, редактирование системы и патчи.

Сохранение удаленного доступа к машине

Перед нажатием кнопки «Setup» не забудь сохранить удаленный доступ к машине. Сделаем это с помощью файла Unattend.xml. В нем, помимо настроек, которые появляются на экране при первом запуске, можно определить команды, которые будут выполняться после установки. Вот что мы собираемся использовать: сервер RDP включен в реестр, который можно редактировать с помощью командной строки. После выполнения команд в файле произойдет перезагрузка, поэтому сервер обязательно включится.

И еще одно: на реальном сервере обычно есть не сразу «белый» адрес, а «серый» адрес, полученный по DHCP с виртуального коммутатора, с которого настроен проброс на наш настроенный сервер. Если доступность всех портов из Интернета не была включена заранее и настроенный порт RDP отличается от стандартного (3389), после переустановки и включения RDP мы не сможем подключиться, потому что запрошенный порт не был перенаправлен . Поэтому перед переустановкой вам нужно будет посмотреть, какой порт назначен RDP, и переписать его в Unattend.xml.

Unattend.xml

Обычно я создавал файл Unattend.xml с помощью онлайн-службы Windows AFG. Но в создаваемом им файле много мусора, поэтому я правил его вручную.

Оригинальный Unattend.xml, генерируемый сервисом

Из тех проходов которые нас интересуют (а они указаны в контейнерах типа <settings pass=»…»>) нас интересуют только два последних: specialize и oobeSystem. Именно они задают поведение программы начальной настройки системы и хранят ответы на вопросы, возникающие при первой загрузке. Короче, удалите строки с 13 по 164, они нам не понадобятся. Также удалите комментарий в начале файла — он не несет полезной нагрузки, он просто представляет собой рекламу.

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

Любые изменения в загрузочном коде, включая переустановку операционной системы (и особенно ее неправильную переустановку), могут привести к появлению «кирпичей», которые трудно восстановить. Делайте все это только в том случае, если вы создаете резервную копию своих данных или знаете, как их восстановить!

У нас уже есть ответы на вопросы — благодаря сервису генерации файлов. Также есть создание пользователя, но оно почему-то не позволяет добавить его сразу в несколько групп. RDP включается и настраивается из командной строки, которая также может быть записана в файл. Что ж, перезагрузка будет произведена автоматически после окончания обработки нашего файла.

Давайте внимательно посмотрим на проход oobeSystem. Во-первых, у нас есть автоматический вход пользователя (компонент / подконтейнер AutoLogon). Далее — отключение лишних вопросов при установке (OOBE). После этого начинается самое вкусное — создание учетных записей пользователей, где логин и пароль новой учетной записи указываются открытым текстом, задается учетная запись владельца устройства, а также команды которые должны выполняется при установке. Мы будем их использовать.

По умолчанию уже назначено три команды: настройка типа отображения панели управления, настройка размера значков и отключение протухания и пароля пользователя. Мы можем добавить и свои команды по образцу, но, чтобы ты не путался, я приведу код, который нужно вставить после существующих команд.

<SynchronousCommand wcm:action="add">
    <Order>4</Order>
    <CommandLine>reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f</CommandLine>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>Set RDP port</Description>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
    <Order>5</Order>
    <CommandLine>reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</CommandLine>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>Enable RDP</Description>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
    <Order>6</Order>
    <CommandLine>netsh advfirewall firewall set rule group="remote desktop" new enable=Yes</CommandLine>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>Enable RDP on firewall</Description>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
    <Order>7</Order>
    <CommandLine>net localgroup "Remote Desktop Users" cryptoworld_su/add</CommandLine>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>Allow login via RDP</Description>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
    <Order>8</Order>
    <CommandLine>shutdown -r -f -t 120</CommandLine>
    <RequiresUserInput>false</RequiresUserInput>
    <Description>Schedule a reboot</Description>
</SynchronousCommand>

В строке 2 мы видим параметр Order: он задает, какой по порядку выполнится команда. Номера не должны повторяться. Параметр CommandLine и задает выполняемую команду. Остальное не особо важно.

В первой команде мы устанавливаем порт RDP перед включением. Значения передаются только в шестнадцатеричном формате, поэтому при необходимости исправьте это значение. По умолчанию я оставил 0x00000d3d — 3389 в десятичном формате. Вторая команда включает RDP, разрешая подключения к указанному выше порту.

С помощью третьей команды мы явно разрешаем подключения к RDP на брандмауэре, если по какой-то причине вы не исключили его из системы во время установки.

Затем мы добавляем нашего нового пользователя (у меня cryptoworld_su) в группу пользователей удаленного рабочего стола и последней командой планируем перезагрузку через две минуты (120 секунд), если это не произойдет само по себе.

Установка

Ну вот и все. Ставь флажок Unattend и устанавливай! После запуска программа снова попросит вас подтвердить установку. Если ничего не хочешь устанавливать, то еще есть время отказаться…

Как видно процесс не особо затруднительный.

Способ № 2

Как я позже вспомнил, можно не парить себе мозг с файлами ответов и командной строкой, если доступна виртуализация. Можно пробросить в виртуалку реальный диск, установить ОС на другой раздел и настроить ее по своему вкусу прямо в виртуалке, что значительно удобнее. В равной мере это относится и к Linux-based-дистрибутивам. Одно плохо, что на VPS в подавляющем большинстве случаев виртуализация недоступна, так что описанный выше метод забывать не желательно.

Bootice

Если на запрос об обновлении загрузочного кода вы ответили, что хотите видеть все установленные версии Windows в меню загрузки, будьте предельно осторожны.
Откройте Bootice, перейдите на вкладку BCD, выберите BCD текущей системы, нажмите Easy Mode и удалите ненужную загрузочную запись. Остальное должно выглядеть как на скриншоте.

На системах с BIOS (MBR) проверить, чтобы в MBR был прописан нужный загрузчик. Для полной уверенности его можно принудительно переписать загрузчиком винды. Делается это по нажатию Process MBR в главном окне программы, при этом не забудь выбрать нужный диск.

 

Ну что ж вданной статье мне кажется мы довольно в таких простых и понятных для человека у которого присутствует хоть немного серого вещества примерах показали как переустановить винду на расстоянии и при этом не ударить в грязь лицом и без зазрения совести положить гонорар в карман)

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]
faza

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

11 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

11 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

12 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

12 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

12 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

12 месяцев ago