Меня всё чаще в комментариях и ПМ спрашивают, как установить так рекомендуемую мной Windows IoT Enterprise LTSC поверх существующей инсталляции (будь то Windows 7, Windows 10 или Windows 11) с сохранением всех приложений, данных и настроек. Я уже писал подробную статью об установке ОС как апгрейда – Как правильно сделать апгрейд ОС — установить Windows 11 поверх существующей с сохранением приложений и настроек / Хабр (habr.com), где рассказывал о разных сложностях, встречающихся на пути установки ОС – новых требованиях к железу, разных языках и, конечно, о несовместимости изданий, не позволяющих обновиться с сохранением приложений и данных пользователя. Но методы редактирования реестра для многих читателей оказались сложными.
И я вообще не затронул тогда Windows Server – как обновиться с Server Core до Server с рабочим столом, как обновить AzureStackHCI до Server Datacenter Azure Edition, и как обновляться с Annual Cycle изданий Windows Server AC (например, 23H2) до LTSC (например, 24H2) и наоборот с LTSC до AC (в 2025 году нас ждёт только ServerDatacenterACorCore).
За пару месяцев с прошлой заметки на форумах MyDigitalLife было выпущено два новых проекта, позволяющих очень упростить процедуру апгрейда, и ниже я расскажу как раз об этом. Мы сможем подготовить образ Windows 11 24H2 IoT Enterprise LTSC так, что с любого издания Windows 7/8/8.1/10 вы сможете обновиться до него без потери данных. Ну и научимся обновлять Windows Server.
Для примеров ниже я буду рассказывать о трёх сценариях:
Обновлении Windows 7 Корпоративной до Windows 11 IoT Enterprise LTSC
Обновлении Windows 10 LTSC до Windows 11 Pro (специально показываю понижение издания без потери)
Обновление Azure Stack HCI (или любого Core) до Windows Server Datacenter с рабочим столом
Начинаю обновлять Windows 7:
При первом запуске инсталляции я получаю обычное сообщение о невыполнении минимальных системных требований:
С момента прошлой статьи появилась новая версия Win 11 Boot And Upgrade FiX KiT v5.0 (пароль MDL2024), в этой версии существенно доработан механизм подготовки вашей ОС к обновлению на Windows 11. То есть речь не о модификации образов установщика, что ресурсоёмко и долго, а о внесении пары значений в реестр автоматом, чтобы обновление проходило любые проверки.
Выбрав опцию 3 (AIO 2b: Current OS Registry) и нажав 0 для запуска я за пару секунд получу следующее сообщение:
Моя ОС готова к установке Windows 11, без проверок железа. Однако, теперь установщику не нравится, что у меня Windows 7 Корпоративная (или вообще любое издание кроме IoT Enterprise LTSC, на которое я хочу обновиться), и мне предлагает установку с сохранением лишь файлов, но не настроек и приложений.
В любом установочном образе Windows внутри install.wim папке Windows\Servicing\Editions есть файл UpgradeMatrix.xml, который определяет на какие издания и версии можно обновляться с сохранением приложений, параметров или данных.
В этом файле важны два куска. Где-то в середине где упомянуто то издание которое вы хотите установить как TargetEdition, рассказывается с каких изданий возможен FullUpgrade:
Что именно сохранится для остальных можно посмотреть в самом конце файла:
Собственно, исследуя этот файл на MDL и родился проект Upgrade Enabler Tool. Саму утилиту можно загрузить тут (пароль MDL2024), за последней версией – на MDL.
Я копирую образ ОС, которую хочу установить в папку Source_ISO, запускаю RunME_Test_3.cmd, скрипт распаковывает образ из ISO, и в каждом издание внутри install.wim / install.esd заменяет файл UpgradeMatrix.xml на модифицированный, позволяющий обновлять любые издания с сохранением ОС и настроек:
Скрипт отрабатывает за минуту-другую, в зависимости от скорости вашего диска. После этого ОС с данного образа устанавливается как Upgrade поверх любого издания со всеми возможностями сохранения. Если вы хотите, чтобы внутри образа были также отключены проверки на минимальные требования Windows 11 к системе (то есть, чтобы это было в образе, а не в вашей текущей ОС), то обсуждаемая в начале статьи утилита Win 11 Boot And Upgrade FiX KiT v5.0 (пароль MDL2024) с опцией 2 (AIO 2a: boot.wim Registry + winsetup.dll) внесёт изменения в boot.wim, с которого идёт загрузка при чистой инсталляции и в файл winsetup.dll в образе, чтобы установка поверх стартовала без проверки на любом компьютере. Данный способ медленный и ресурсоёмкий, так как вносит изменения в WIM файл, требуется его монтировать, модифицировать и сохранять. Если планируете образ повторно использовать, – однозначно рекомендую.
Предложенный способ работает и с серверными ОС. Как вы возможно знаете, нельзя обновить Server Core до полного или наоборот, нельзя обновить Azure Stack HCI (ни на что), нельзя обновляться с LTSC на AC канал и назад.
Файл UpgradeMatrix.xml в текущей версии Upgrade_Enabler_Tool_v2.1_b3 ничего про серверные ОС не знает, но если вы возьмете модифицированный мной файл с моего облака – содержимое файла UpgradeMatrix_x64.zip разархивировать в папку Files\UpgradeMatrix внутри Upgrade_Enabler_Tool, далее таким же образом, запустив RunME_Test_3.cmd внести изменения в образ Windows Server, что позволит сделать обновление:
В своей прошлой статье Скачать русский Windows 11 24H2 IoT Enterprise LTSC или сделать образ с последними обновлениями своими руками / Хабр (habr.com) я как раз поделился своей сборкой образа IoT LTSC 24H2 с изменённой матрицей обновлений, позволяющей обновить любое издание.
На этом всё. Если остались вопросы, отвечу в комментариях. Ставьте лайк, подписывайтесь.
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud - в нашем Telegram-канале ↩
? Читайте также:
Комментарии (4)
Lordzero
21.10.2024 11:32Я правильно понимаю что с помощью этого фикса можно будет обновить, например 2012 сервер до 2022?
Stealch
21.10.2024 11:32Прямо бальзам на душу админа. Как раз надо обновить VL версию 2019 сервера на Retail 2022 без потерь настроек софта =))
JimDi
21.10.2024 11:32а если после запуска in place обновления win11 setup.exe просто завершает работу, то как правильно диагностировать проблему чтобы пофиксить причину и обновить старую win11 26040.rs_prerelease.240122-1157 на что-то более актуальное?
Eberhard
Спасибо! Очень хорошая и своевременная статья.