Когда винда не видна. Переустанавливаем Windows через удаленный доступ

Удаленка — тренд этого года. Оказалось, что многие вещи можно не просто делать по сети, а делать лучше, чем в офисе. Думаю, переустановка ОС — достаточно стандартная операция, чтобы ее можно было перенести на удаленку. И сегодня на примере Windows я покажу, как это делается.

Как мы все не понаслышке знаем, юзеры часто что-нибудь ломают, а потом приносят комп «тыжпрограммисту» с объяснением «я тут что-то нажал(а), и все исчезло». Ты поворчишь и полезешь за флешкой со свежей виндой.

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

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

WARNING

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

Подготовка

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

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

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

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

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

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

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

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

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

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

Bootice

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

WARNING

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

Снести и накатить

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

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

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

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

WinNTSetup

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

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

  1. Эти две вкладки управляют версией устанавливаемой 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 и гибернации, мощный тюнинг проводника и реестра. Если тебе чего-то не хватило — можно дописать самостоятельно.

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

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

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

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Hackcat: Еще больше котов — на https://t.me/meawdream

Комментарии (4)

  • Всё становится сильно грустнее когда из удалённого управления только ТимВьюер и прав админа тебе не дали... У меня так сегодня было...

  • Я не очень понял назначения этой статьи. Долго, сложно, грубовато а зачем? https://xakep.ru/2020/04/20/win10-install/ предлагает намного более кошерный способ практически того же самого.
    Кроме того, в винде сейчас есть такая опция как переустановка через параметры - с сохранением программ или без. Я не проверял этого в последних сборках, но ранее Splashtop прекрасно продолжал работу после переустановки с сохранением программ. На тимвьюере не проверял.
    "Коммутатора, от которого настроен проброс портов на наш сервер" - вряд ли комутатора.

    • Первое, переустановка через параметры есть не во всех версиях даже десятки. Даже семёрку ещё рано забывать, а есть ещё 8, 8.1 и куча сборок десятки разной древности, где этой функции попросту нет.
      Второе, в указанной статье нужен физический доступ, которого по условию у нас нет.
      И третье, переустановка с сохранением софта не избавляет от всего накопленного за годы работы мусора, от которого обычно хотят избавиться переустановкой. Так что использование этой функции - вопрос спорный. По сути, при такой "переустановке" только восстановится целостность критических компонентов системы, вроде ядра и его обвязки

  • Однако, погано (не говоря о не совсем ясно зачем приплетённым трекерам, ибо образы давно всем желающим раздают при смене на User-Agent, отличный от Windows, и забытый Windows Configuration Designer):

    DISM.exe /Apply-Image /ImageFile:\\tsclient\Public\install.wim /Index:1 /ApplyDir:C:\ /Compact /CheckIntegrity

    Ну и если почитать его же родной ман через /? - можно вполне достичь просветления по части автодеплоя и без RDP.

Похожие материалы