Как обновить Windows LTSC (IoT) Enterprice с 23H2 до 24H2/25H2 без потери пользовательских данных.

Сразу небольшое отступление: я буду обновлять 23H2 IoT LTSC Enterprise сначала до 24H2, а потом до 25H2, у меня нет 25H2 и довольно медленный интернет, не хочу тянуть лишние 4+ Гб, а обновить с 24H2 до 25H2 дело одной минуты и одной строки в Powershell. Но обновлять можно сразу до 25H2, если есть образ с 25H2. С другой стороны, я думаю, что можно пробовать обновлять и с более ранних версий Win10/11. Точно так же обновляется и 23H2 LTSC Enterprise, без IoT. И да, можно пробовать как-то обновлять через апдейты, официальным путём, но как-то оно сложно, для меня, по крайней мере, и с малопредсказуемым результатом. Ну и конечно же БЕКАП!

Итак, у меня 23H2 IoT LTSC Enterprise - его можно ставить на любое железо:23H2

Перед попыткой обновления нужно убедиться, что все апдейты для текущей версии установлены и в Windows Update видно вот такое:u

ВАЖНО: для обновления нам нужен оригинальный ISO-образ 24H2/25H2 той же редакции и на том же языке, что и уже установленный Windows. Монтируем образ просто даблкликнув на него, он сразу же откроется в новом окне эксплорера,  и запускаем сетап. В открывшемся окне нужно нажать на Change how Setup downloads updates:du

Переключаем радиокнопку в положение Not right now и двигаемся дальше кнопкой Next:nrn

 Нажимаем Next пока не дойдём вот до такого окна:nr

Возможно кому-то повезёт и первая строка будет активна, но я обновлял несколько раз, разные компьютеры, с разными виндами и ни разу такого не видел. Если повезло, то нажимаем ещё раз Next и дожидаемся успешного обновления, поздравляю, повезло! Но если всё как обычно, то не надо расстраиваться, закрываем сетап и открываем CMD с правами админа - нажимаем Пуск и в поиске пишем cmd, выбираем правой кнопкой мыши и запускаем с правами админа. В открывшееся окно для IoT Enterprise LTSC копируем вот такой текст:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID /d IoTEnterpriseS /f

Для Enterprise LTSC копируем вот такой текст, разница в указанной редакции, но это я своими руками не проверял:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID /d EnterpriseS /f

Не перепутать! Нажимаем Ввод и сразу же, немедленно запускаем сетап и проходим те же шаги, так же запрещаем скачивать апдейты, видим вот такое:r

Соглашаемся с лицензией и дожидаемся окончания обновления. Компьютер несколько раз перезагрузится в процессе, всё будет не очень быстро, не надо волноваться, всё получится! В конце концов загрузится привычный рабочий стол, и, если пойти в настройки и посмотреть версию, то она будет 24H2:24H2

Теперь как обновить Win11 с 24H2 до 25H2. Сначала нужно поставить все обновления для 24H2, снова не должно быть незавершённых или отложенных апдейтов, картинку смотри выше. Можно просто скачать и запустить апдейт KB5054156 - у Майкрософта или можно скачать у меня и распаковать - он мелкий и ничего не весит - 180kb. Дождаться окончания установки и перезагрузить - всё, теперь стоит 25H2:25H2

Другой простой путь - открыть Powershell с админскими правами и запустить следующий скрипт, который сам скачает, запустит, дождётся исполнения и спросит разрешение на перезагрузку:

Invoke-WebRequest -Uri "https://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/fa84cc49-18b2-4c26-b389-90c96e6ae0d2/public/windows11.0-kb5054156-x64_a0c1638cbcf4cf33dbe9a5bef69db374b4786974.msu" -OutFile "$env:TEMP\kb5054156.msu"; Start-Process "wusa.exe" -ArgumentList "$env:TEMP\kb5054156.msu /quiet /norestart" -Wait; $choice = Read-Host "Обновление установлено. Перезагрузить сейчас? (y/n)"; if ($choice -eq "y") { Restart-Computer -Force }

Что бы проверить версию Win11 можно, что бы не лазить по меню просто набрать в CMD winwer и выскочит вот такое окно: 

Вот и всё!

Attachments:
FileFile sizeLast modified
Download this file (kb5054156.zip)KB5054156163 kB23.02.26