윈 도 우 boot.wim과 winre.wim의 빌드 앞번호를 install.wim에 맞추기
2024.03.29 13:26
윈도우 iso의 3가지 wim 파일의 빌드 번호를 꼭 맞춰야 하는건 아닙니다 [맞춰서 나쁠 건 없습니다]
맞춰야 하는 경우는 PE 만드는 프로그램에서 보통 winre.wim으로 PE를 만듭니다
이때 필요한 파일들을 install.wim에서 가져옵니다. 그래서 winre.wim과 install.wim의 빌드가 다르면
PE 내부의 파일 버전도 달라지기 때문에 문제가 될 수 있습니다 [문제의 소지가 있는 것이고, 100% 문제가 발생하는건 아닙니다]
또 한가지, 윈도우 버전을 올리는 방식 중에 윈도우 자체는 같으면서 활성화 패키지 파일로 간단하게 올리는 경우가 많습니다
2019년부터 대부분 이런 방식으로 윈도우 버전이 올라가고 있습니다
여기서 문제는 같은 누적 업데이트를 통합하고, 버전을 올려주는 활성화 패키지를 통합해도...
install.wim만 버전이 올라가고 boot.wim과 winre.wim는 버전이 올라가지 않습니다. 빌드 번호에서 점 이하만 올라갑니다
이런 경우도 PE의 파일 버전은 완전히 동일하기 때문에 문제가 전혀 없습니다
활성화 패키지는 보이는 버전만 달라지고, 파일들 버전들은 그대로 낮은 빌드 앞번호입니다
윈도우 C:의 파일 버전이 파일 이름에 표시되는 파일들입니다.
윈도우는 19045 빌드인데, 윈도우의 파일들은 전부 19041 빌드입니다
Dism /Online /Get-Packages /Format:Table /English
boot.wim만 수정하고, winre.wim은 왜 수정하지 않는지? 당연히 의문을 가지실 듯 하여 rem으로 주석을 달아놨습니다
setlocal EnableDelayedExpansion& set "Build_a="&set "Build_b="
for /f "skip=1 tokens=3 delims=." %%a in ('"dism /get-wiminfo /wimfile:ISOFOLDER\sources\install.wim /index:1 /English | find /i "Version""') do set "Build_a=%%a"
for /f "skip=1 tokens=3 delims=." %%a in ('"dism /get-wiminfo /wimfile:temp\boot.wim /index:1 /English | find /i "Version""') do set "Build_b=%%a"& echo.& echo install.wim="!Build_a!" 빌드와 boot.wim="!Build_b!" 빌드
if "!Build_a!" neq "" if "!Build_b!" neq "" if "!Build_a!" neq "!Build_b!" wimlib-imagex.exe info temp\boot.wim 1 --image-property WINDOWS/VERSION/BUILD="!Build_a!"& rem winre.wim은 boot.wim 2번 내보내기 되어서 안 해도 됨. boot.wim 2번은 곧 삭제되지만, 나중에 만들어짐
if "!Build_a!" neq "" if "!Build_b!" neq "" if "!Build_a!" neq "!Build_b!" wimlib-imagex.exe info temp\boot.wim 2 --image-property WINDOWS/VERSION/BUILD="!Build_a!"& setlocal DisableDelayedExpansion
convert-UUP.cmd는 현재 v100 버전입니다 [cmd 파일 윗부분에 있습니다]
위에 내용들을 추가하실 위치는 현재 convert-UUP.cmd에서는 ren temp\winre.wim boot.wim 다음입니다 [:WinreWim 아래]
무*님과 위치가 비슷하지만 같은 곳은 아닙니다
외국 분이 만드신 cmd 내용이 복잡합니다. 원래 winre.wim 부터 만들어지는데 1과 2번까지 만들어집니다
winre.wim이 boot.wim으로 이름이 변경됩니다. [변경 후 위에 내용들이 추가됩니다]
이 boot.wim 2번은 winre.wim으로 내보내기 됩니다 그래서 winre.wim은 작업하지 않아도 됩니다. 그리고 boot.wim 2번은 삭제됩니다
그 다음 홀로된 boot.wim을 ISOFOLDER 내부에 복사하여 1번과 2번 이미지를 만들더군요. 이때까지도 위에 추가된 내용은 적용됩니다
-> cmd 화면에는 이 과정들이 전부 나오지는 않습니다. 그리고 winre.wim과 boot.wim에 대해서만 대략적으로 썼습니다.
위 과정 전에 이미 install.wim과 winre.wim에 차례대로 업데이트 통합됩니다
install.wim="22631" 빌드와 boot.wim="22621" 빌드는 아직 변경 전의 빌드 번호입니다.
참고로 화면에 나오게 했습니다. install.wim 빌드와 boot.wim 빌드가 같으면 빌드 수정 작업은 하지 않습니다.
->윈도우 10은 install.wim="19045" 빌드와 boot.wim="19041" 빌드로 표시되고, 19045 빌드로 수정됩니다
모든 작업이 끝난 후, boot.wim 1번 2번과 winre.wim 1번 이미지를 확인해봤습니다 [winre.wim은 1번만 있습니다]
원하는대로 전부 22631 빌드가 되었습니다. 원래는 22621 빌드입니다
버전 22H2 (OS 빌드 22621)를 바탕으로 누적 업데이트에 활성화 패키지만으로 만들어진 버전 23H2 (OS 빌드 22631) 입니다
올해 하반기에 나올 윈도우 11 버전 24H2는 새로운 윈도우가 될 거라는 소문이 있는데요 [공식 정보는 아닙니다]
사실이면 활성화 패키지로 간단히 올라갈 수 없습니다
댓글 [11]
-
상발이 2024.03.29 13:53
-
라랑 2024.03.29 14:04
수고하셨습니다.
2년 전에 suk님 글 읽을 때는 도통 모르는 게 많아서... 스크롤 다라라라락~ 내려서 첨부만 클릭 클릭하곤 했는데,
여전히 엄두가 안나긴 하지만 그래도 최근 고민해본 적이 있는 것이라 눈에 쏙쏙 들어옵니다.
아는만큼... 관심있는만큼만... 보이는.. 윈포에서 지난 글 하나 하나 읽을때마다 뼈져리게 느껴지곤 합니다.
제가 for문에서 skip, oken, delims 3가지 같이 쓰면 항상 괴랄하게 꼬여버리던데 이전에 궁금했던 빌드 앞번호 바꾸는 방법 이외에도 배치 스크립트를 활용하시는 방법 자체가 배울게 너무 많아 감사드립니다.
-
cungice 2024.03.29 14:31
수고 많으셨습니다. 감사합니다
-
마로94 2024.03.29 15:35
감사합니다 잘 배우고 잘 활용하였습니다
간단한 스샷 사용기 입니다
-
광풍제월 2024.03.29 15:59
수고하셨습니다.
-
무월 2024.03.29 16:33
이전 수동 구문 사용 시 ren temp\winre.wim boot.wim 다음에 넣었다가 에러 구문이 나와서 다음 줄에 넣었는데 이번 구문은 해당 구간에서 잘되네요. 수정해 주셔서 감사드립니다. ^^
-
강뉴 2024.03.29 18:51
수고하셨습니다
-
규니 2024.03.29 21:21
수고하셨습니다~
-
단편지식 2024.03.30 00:02
감사합니다.
-
풀피리 2024.03.30 12:23
수고하셨습니다
편안한 휴식의 주말 되세요.
-
metaverse21 2024.04.02 01:37
감사합니다
수고하셨습니다.