Как удаленно установить Windows

windows 10 icon

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

Удаленная установка Windows — несложная задача. Сегодня, вы в этом убедитесь.

Как удаленно установить Windows

Чтобы переустановить Windows удаленно, нам потребуется собственно винда в виде ISO-образа, программы WinNTSetup и Bootice, удаленное подключение, права админа и прямые руки.

Образ можно скачать с сайта Microsoft, но я вместо этого зашел на известный русский торрент-трекер и скачал оттуда актуальную сборку Windows 10 2004 с вырезанным хламом.

Удаленная установка Windows.
Таблетку видишь? А она есть!

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

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

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

За основу была взята программа WinNTSetup 4. Ее задача — развернуть систему из образов WIM/ESD в обход штатного установщика и WinPE. Естественно, кроме простого применения образа, программа умеет твикать устанавливаемую систему и имеет множество настроек. В общем, для нормального сисадмина или «тыжпрограммиста» эта утилита обязательна к скачиванию.

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

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

Удаленно переустановить Windows

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

Удаленно переустановить Windows. Bootice
Bootice

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

Любое вмешательство в загрузочный код, в том числе переустановка ОС (а особенно переустановка нештатным способом), может привести к трудно восстановимому «кирпичу». Все описанное делай, только когда создашь копию данных или если умеешь их восстанавливать!

Удаленная установка Windows

Теперь, когда весь софт скачан и подготовка завершена, подключайся к клиенту и приступай!

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

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

Удаленная установка Windows. До
До
Удаленная установка Windows по сети. После
После

Теперь, когда мы создали новый раздел (я создал около 60 Гбайт), устанавливаем.

WinNTSetup

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

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

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

  1. Эти две вкладки управляют версией устанавливаемой Windows. По умолчанию открыта вторая вкладка (на скриншоте), которая позволяет установку всех современных версий винды. Первая вкладка имеет несколько другой набор твиков и возможностей тонко настроить систему перед установкой.
    Удаленная установка Windows через интернет
  2. Тут нужно указать путь к файлу WIM/ESD с Windows. ISO не пойдет. Чтобы выйти из этой ситуации, можно извлечь нужный файл из ISO любым современным архиватором либо смонтировать его UltraISO или DaemonTools. Кстати, если уже установленная ОС — Windows 10, смонтировать образ (правда, не всякий) можно прямо проводником Windows! Тогда ничего копировать не придется.
  3. Тут выбирается загрузочный диск. Не тот, на который установлена текущая ОС, а именно загрузочный. По умолчанию его не видно, но при запуске программа монтирует его на Z:, как на скриншоте. Там находится EFI-загрузчик и его обвязка, так что немытыми руками туда лучше не лезть. И на MBR-, и на GPT-дисках этот раздел зовется «Зарезервировано системой», но на 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 Defender и гибернации, мощный тюнинг проводника и реестра. Если тебе чего-то не хватило — можно дописать самостоятельно.

Подготовка к удаленной установке Windows

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

Удаленная установка Windows 10

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

Сохранение доступа

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

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

Что делать пользователям других средств удаленного доступа

В общем случае — курить бамбук. Тот же TeamViewer не позволяет автоматически установить клиент и войти в аккаунт в нем. AnyDesk генерирует новый идентификатор на новой системе, следовательно, он тоже бесполезен.

В качестве альтернативы можно использовать старый добрый Quasar RAT, благо он бесплатный и на новой системе (если отключить Windows Defender) никто ему мешать не будет. У тебя, конечно, есть свой сервер, так что поставить на него админку Quasar и словить коннект от клиента будет не проблема.

Нужно собрать через админку клиентский бинарник, который положить в автозагрузку новой системы. Сделать это можно тысячей и одним способом, так что выбирай удобный и делай. Затем, когда все манипуляции в старой ОС будут завершены, ты перезагрузишь компьютер, и будет запущена и настроена новая система. В конце настройки выполнится наш скрипт. Он установит клиент Quasar в систему, после чего та будет еще раз перезагружена, а ты словишь коннект. Далее через режим удаленного рабочего стола можно продолжать настройку свежеустановленной Windows или можно установить более удобный AnyDesk или TeamViewer и продолжить через них.

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

Unattend.xml

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

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

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

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

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

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

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

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

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

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

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

Важный момент: все настройки дублируются, то есть для 32- и 64-разрядной Windows настройки могут быть разные! Внося изменения, не забудь продублировать их в разделе с другой разрядностью, чтобы потом не краснеть от стыда.

Установка

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

Удаленная установка Windows через интернет
Программа за работой
Удаленно установить Windows в домене
Готово!

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

Другой способ

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

Bootice

Если при запросе об обновлении загрузочного кода ты ответил, что хочешь видеть в загрузочном меню все установленные версии Windows, то сейчас будь особенно внимателен.

Открывай Bootice, переходи на вкладку BCD, выбирай BCD of current system, жми Easy mode и удаляй ненужную загрузочную запись. Оставшаяся должна выглядеть как-то похоже на скриншот.

Bootice

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

Bootice
Bootice

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

Жизнь после Windows

Если все прошло как надо, то после некоторого ожидания в неведении ты получишь рабочую машину с удаленным доступом и новой ОС. Время ожидания всегда разное и составляет от 3 до 15 минут, в зависимости от задумчивости железа целевой машины. Тут можно сказать только одно — терпение. В худшем случае компьютер загрузится обратно в старую систему и у тебя будет шанс попробовать снова.

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

Заключение

Я мог бы закончить целой лекцией о том, что этот метод недопустимо использовать для угона чужих серверов и вредительства, но я надеюсь, что ты и так в курсе возможных последствий. Так что используй эти знания с умом!

Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. Илья

    Из всех статей эта инструкция самая лучшая. Не без проблем, но смог удаленно установить Windows.

  2. alex52mail

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

    Вот это — как раз и основное для удаленного компа.
    Сам ставлю систему в vhd. Через TrustViewer захожу в удаленный на 9 тыс. км комп 76 летней сестры — со своего облака скачиваю ей типа 2,2гб w10x64Pro19044Drey.vhd и прописываю у нее загрузку vhd. Она перегружается в эту 10ку и снова соединяемся — сначала Скайп — она диктует ID TrustViewer — для входа в ее комп .
    Так перевел ее с ХР на 10ку.

  3. Vit

    А если там на удалённом компьютере доступ к интернет через Wi-Fi ? Ведь в новой системе нужно как то подключиться и ввести пароль.

  4. inf

    Столкнулся с проблемой что не запускались службы когда начинался второй этап установки, после 1 перезагрузки.
    решил тем что и на с и на д диск(раздел) положил образ системы по одинаковому адресу, при переключении дисков буквы менялись и установщик терял папку с виндой.
    хотя возможно помогло форматирование целевого диска, об этом история умалчивает.
    2 дня мучался….. установка еще идет, если что еще выплывет дополню

Добавить комментарий