STERKIN_RU Telegram 1700
⚙️ Ускоренная диагностика методом половинного деления

В чате 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. И это моментально сделало бы главным подозреваемым исходный образ, нежели его многочисленные модификации.

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

В итоге можно было не гуглить и не курить логи. Вот вам и ускоренная диагностика! ✌️



tgoop.com/sterkin_ru/1700
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

1What is Telegram Channels? 4How to customize a Telegram channel? How to Create a Private or Public Channel on Telegram? The best encrypted messaging apps Informative
from us


Telegram Windows 11, 10, etc - Вадим Стеркин
FROM American