October 12, 2023

Специальная программная операция по деговносборкофикации (часть первая)

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

После переборки. Пыль декоративная, не обращать внимания.


Запускаю ПК и вижу вроде обычную десятку, но старую. Сразу возникла мысль, а что, если это говносборка?
При запуске компа вижу куча странных непонятных окон и два торрент клиента запускающихся разом - BitTorrent и uTorrent. Господи, как этим можно пользоваться?
Ладно они запустились, так еще первый выдал веселые графические баги.Так или иначе залетаю в свойства системы и вижу - GOVNovsky ОМАГАД!!!
Ладно, хрен с тобой гофнофски. Что мне ваще надо сделать?

Уже измененная мной OEM информация

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

Начал я с очистки диска. Win+R - cleanmgr. Выбираю диск, появляется на секунду полоса загрузки и окно закрывается. Ничего не понял. Пробую еще раз - тоже самое.
Похоже, что с системой что-то не так.
Лезу в программы, сношу явно ненужное говно. Автозагрузку ставлю на практически ноль. Ненужные сервисы просто отключаю.
Ребутаю комп - проблема не исчезает.

Первое, что я обычно делаю - проверка целостности системы с последующим ее восстановлением через sfc /scannow.
После выполнения команды получаю вполне логичное сообщение о том, что есть битые компоненты, но восстановить их не получится из-за битого хранилища компонентов.
Собственно, проверяем целостность хранилища через DISM /Online /Cleanup-Image /ScanHealth и убеждаемся, что DISM обнаружил ошибки в хранилище компонентов и может исправить их. А вот здесь уже возникает второй круг ада, ибо восстановление происходит через Windows Update. Я решил проверить - живой ли он там и оказалось что хрен там. Последняя обнова ставилась в 2019 году (хотя в списке установленных обнов ваще ПУСТО НАХЕР). Стояли политики на запрещение обновлений и при попытке ручного запуска поиска обновлений мне выдавался код 0x8024002e.

Пример ошибки номер ХУЙ из интернетов

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

Пример ошибки номер ПОШЕЛ НАХУЙ из интернетов

Оказалось, что проблема вовсе не в интернете, а в том, что в данной сборке десятки была отключена поддержка TLS 1.2 и ее пришлось врубать через реестр. Врубил. Перегружаюь и после этого установка PSWindowsUpdate прошла успешно.
Пишем команду Reset-WUComponents –verbose и идем в ребут. После ребута выясняем, что это не помогло. Далее я произвел снос папок, отвечающих за вручную поставленные групповые политики и снова ребутнулся. Это также не помогло.

Причина неработающего Windows Update наглядно

Оказалось, что проблема в реестре и в ветке HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate параметр DisableWindowsUpdateAccess имел значение 1, что ограничивало работу Windows Update. После изменения значения и ребута обновы пошли огроменной пачкой.
Пока обновы ставились, сделал восстановление хранилища компонентов через DISM /Online /Cleanup-Image /RestoreHealth и снова произвел sfc /scannow. Все прошло успешно. Первую проблему мы победили. Очистка диска заработала.

Первые обновления, которые здесь появились после Говновского

Далее, система доставила все обновления и начала пытаться обновить 1803 до 22H2. Ага, щас. После ребута и долгой распаковки происходит очередной ребут с сообщением о том, что система решила откатиться обратно. Причину мы вам не назовем.

Я пробовал несколько раз обновиться и все было безуспешно, пока я не полез смотреть лог и не увидел там сообщение "migration phase failed. result 4". Беглый гуглинг указал на то, что в системе какие-то проблемы с параметрами учетных записей в реестре. Полез в реестр в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, а там несколько записей учеток с одним и тем же путем пользователя.
Окей, понял. Открываю терминал, пишу wmic useraccount get name,sid. Удаляю лишний айдишник из реестра, на всякий случай сохранив бекап куста.

Значение из реестра не существует в sid'ах существующих пользователей, полученных через wmic

Перегружаюсь - успешно залетаю в нужную учетку. После этих манипуляций система успешно проглотила обнову, но вместо 22H2 я получил ту же 1803. Однако теперь она дала обновиться до 1903.

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