Специальная программная операция по деговносборкофикации (часть первая)
Потребовалось нам временно поставить комп на новое рабочее место, пока не приедут новые. Нашли системник уволившегося инженера.
Собственно, я его полез обслуживать хардверно и обнаружил, что в нем валяется два HDD и один SSD. Просто валяются незакрепленные. При этом один HDD вообще не подключен.
Ладно. Вытащил лишний хард, прикрутил диски, протянул заново провода, чтобы не было каши...
Запускаю ПК и вижу вроде обычную десятку, но старую. Сразу возникла мысль, а что, если это говносборка?
При запуске компа вижу куча странных непонятных окон и два торрент клиента запускающихся разом - BitTorrent и uTorrent. Господи, как этим можно пользоваться?
Ладно они запустились, так еще первый выдал веселые графические баги.Так или иначе залетаю в свойства системы и вижу - GOVNovsky ОМАГАД!!!
Ладно, хрен с тобой гофнофски. Что мне ваще надо сделать?
В первую очередь проверить насколько жива система. Если что-то сломано - починить. Вариант с переустановкой не катит по причине того, что там есть труднонастраиваемый софт, который может потребоваться еще.
Во вторую очередь попытаться обновить систему до максимально возможной.
В третью очередь создать учетку для пользователя и поставить необходимый софт.
Казалось бы, что может пойти не так...
Начал я с очистки диска. 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 и идем в ребут. После ребута выясняем, что это не помогло. Далее я произвел снос папок, отвечающих за вручную поставленные групповые политики и снова ребутнулся. Это также не помогло.
Оказалось, что проблема в реестре и в ветке 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. Удаляю лишний айдишник из реестра, на всякий случай сохранив бекап куста.
Перегружаюсь - успешно залетаю в нужную учетку. После этих манипуляций система успешно проглотила обнову, но вместо 22H2 я получил ту же 1803. Однако теперь она дала обновиться до 1903.
А что было дальше я не знаю, ибо я ушел с работы в 7 вечера и оставил комп на обновлении. Продолжение банкета в следующей части.