tgoop.com/sterkin_ru/1700
Last Update:
⚙️ Ускоренная диагностика методом половинного деления
В чате Sergey Kovalev попросил помочь продиагностировать проблему при установке своей сборки Windows Server. У него самописный скрипт берёт оригинальный образ Windows Server 2022 21H2 и интегрирует в него накопительные обновления ОС и .NET Framework, минимальный набор драйверов, а также скрипты для настройки системы.
Все это работало как часы по апрель включительно, а потом сломалось. На этапе установки WindowsPE во время применения WIM-образа к диску выводится ошибка 0x80070570
. Она означает:
The file or directory is corrupted and unreadable
.
Гугление по коду ошибки выдаст тонну сеошных и тупиковых советов, поэтому ходить туда бесполезно. Я сходу предложил покурить логи установки, и Сергей довольно быстро определил проблемный файл.
Его расположение в папке NativeImages_v4.0.30319_64
намекало на .NET, поэтому я предложил исключить интеграцию накопительного обновления .NET Framework. Вообще, Microsoft рекомендует обновлять дистрибутив динамическими обновлениями, а .NET туда не входит. Строго говоря, потому что не считается частью операционной системы, но тем не менее.
Сергей продолжил исследования и выяснил, что файл входит в состав дистрибутива изначально и не заменяется накопительными обновлениями. Наверное, после этого он быстро догадался о причине проблемы.
👉 Битый оригинальный образ! Контрольная сумма не совпадала с оригиналом. Предположительно, образ побился при перемещении из одного облака в другое, хотя его размер в байтах остался прежним.
В итоге в скрипт добавился шаг для проверки контрольной суммы :)
////
🤔 А где же тут половинное деление?
Я неоднократно показывал этот подход для диагностики проблем с работающей операционной системой (раз, два, три, четыре). Там вы загружаетесь в безопасный режим, исключая влияние сторонних программ, служб и драйверов.
✅ В общем случае первый шаг половинного деления - это создание как можно более чистой диагностической среды, не загрязненной внешними факторами.
Применительно к обсуждаемой ошибке, относительно чистая среда - это тестовая установка с оригинального дистрибутива без всяких изменений. Для диагностики достаточно было пройти этап WindowsPE. И это моментально сделало бы главным подозреваемым исходный образ, нежели его многочисленные модификации.
При этом не менее важно создать чистую среду в голове - абстрагироваться от лишних факторов и посмотреть на проблему с нуля. Я не так давно на разбирал ментальные помехи диагностике на своем примере. В том числе упоминал знание, что "ничего не делал". В данном случае Сергею мешало знание, что он ничего не менял в своей рутине.
В итоге можно было не гуглить и не курить логи. Вот вам и ускоренная диагностика! ✌️
BY Windows 11, 10, etc - Вадим Стеркин

Share with your friend now:
tgoop.com/sterkin_ru/1700