윈도우10 누적 업데이트 통합 스크립트 두번째

개요

이전 스트립트는 닷넷을 통합 하지 않았습니다. 여기서 말하는 닷넷은 닷넷 3.5를 말하는 것입니다. 윈도우10은 닷넷 4.5 이상이 기본으로 들어가 있습니다. 하지만 구형 프로그램이나 일부 프로그램들은 닷넷3.5를 필요로 하는 프로그램들이 많이 있습니다.

통합 순서

그런데 굉장히 거추장 스러운게 뭐냐면 이 닷넷하나를 통합하기 위해서 순서를 잘못하면 윈도우 업데이트를 다시 해야 하다는 점입니다. 그래서 닷넷 통합본을 제작할때는 순서가 중요합니다.

install.wim에 통합하는 순서는 다음과 같습니다.
1. 닷넷 3.5 통합
2. 서비스 스택 통합
3. 누적 업데이트 및 플래쉬, 닷넷 보안 업데이트

닷넷통합을 가장 먼저해야 합니다. 나중에 통합하면 윈도우를 설치한 다음에 다시 업데이트를 다시 받습니다.

통합스크립트 예제

boot.wim 파일과 winre.wim 파일도 누적업데이를 하게 되면 PE 제작시에 최신 PE로 제작 할 수 있습니다. 전 그래서 PE제작시에 최신빌드로 제작하려고 boot.wim과 winre.wim도 같이 누적업데이트 통합을 합니다. 이때는 닷넷은 필요 없고 서비스스택과 누적업데이트만 통합합니다. PE 제작이나 boot.wim과 winre.wim파일 업데이트가 필요하지 않으신분은 이 부분을 삭제 하시고 사용하시면 됩니다. 시간이 좀 더 절약 됩니다.

아래는 그 스크립트 예제입니다. for 구문을 써서 반복되는 명령어를 최소화 했습니다. 고수분들은 더 간단히 하실 수 있으실 텐데 전 이게 최선이네요. 예제 파일과 뼈대파일들은 구글 드라이브 올려드릴테니 필요하신분들은 사용하세요. 윈도우 에디션은 자주 사용하는 Home, Pro, Education, Pro fo Workstation, Enterprise 이렇게 다섯가지 버전이 포함되어 있습니다.

@echo off
 pushd %~dp0
 title 윈도우10 19H2통합 스크립트 
 color 1f
 rem mode con cols=100 lines=30
 echo windos 10 19H2 통합 작업을 시작합니다
 echo.
 echo  통합작업 시작시간은 %time:~0,2%시%time:~3,2%분%time:~6,2%초 (%date%)입니다.
 Pause
 if exist mount rd /q /s mount
 md mount
 rem 64비트 통합 시작 
 del .\ISO\sources\boot.wim /q
 del .\ISO\sources\install.wim /q
 copy .\x64\원본\boot.wim .\x64\boot.wim /y
 copy .\x64\원본\Winre.wim .\x64\Winre.wim /y
 for /L %%A in (1,1,2) do (
     DISM.exe /Export-Image /Compress:max /SourceImageFile:.\x64\boot.wim /SourceIndex:%%A /DestinationImageFile:.\x64\%%A.wim
     echo.
     echo index%%A의 통합작업을 시작합니다. 
     DISM.exe /Mount-Wim /WimFile:.\x64\%%A.wim /index:1 /MountDir:.\mount
     DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\services_stack"
     DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\update"
     DISM.exe /Unmount-Wim /MountDir:.\mount /commit
     echo.
     echo index%%A의 통합작업이 완료되었습니다. 
     echo.
     echo index%%A를 boot 이미지에 통합합니다. 
     echo.
     DISM.exe /Export-Image /Compress:max /SourceImageFile:.\x64\%%A.wim /SourceIndex:1 /DestinationImageFile:.\x64\new_boot.wim
     Del .\x64\"%%A".wim
     )
 echo.
 echo winre.wim 업데이트 통합을 시작합니다. 
 DISM.exe /Mount-Wim /WimFile:.\x64\winre.wim /index:1 /MountDir:.\mount
 DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\services_stack"
 DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\update"
 DISM.exe /Unmount-Wim /MountDir:.\mount /commit
 DISM.exe /Export-Image /Compress:max /SourceImageFile:.\x64\winre.wim /SourceIndex:1 /DestinationImageFile:.\x64\new_Winre.wim
 echo.
 echo winre.wim 통합작업을 완료했습니다. 
 echo.
 echo boot.wim 파일을 복사합니다. 
 copy .\x64\new_boot.wim .\ISO\sources\boot.wim /y
 del .\x64\boot.wim /f /q
 del .\x64\new_boot.wim /f /q
 del .\x64\winre.wim /f /q
 for /L %%A in (1,1,5) do (
     DISM.exe /Export-Image /Compress:max /SourceImageFile:.\x64\install.wim /SourceIndex:%%A /DestinationImageFile:.\x64\%%A.wim
     echo.
     echo index%%A의 통합작업을 시작합니다. 
     DISM.exe /Mount-Wim /WimFile:.\x64\%%A.wim /index:1 /MountDir:.\mount
     DISM.exe /Image:.\mount /Enable-Feature /FeatureName:NetFx3 /All /Source:.\x64\sxs /LimitAccess
     DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\services_stack"
     DISM.exe /Image:.\mount /Add-Package /PackagePath:".\x64\update"
     copy .\x64\new_winre.wim .\mount\Windows\System32\Recovery\winre.wim /y
     mkdir .\mount\Windows\Setup\Scripts
     copy SetupComplete.cmd .\mount\Windows\Setup\Scripts\SetupComplete.cmd
     DISM.exe /Unmount-Wim /MountDir:.\mount /commit
     echo.
     echo index%%A의 통합작업이 완료되었습니다. 
     echo.
     echo index%%A를 install 이미지에 통합합니다. 
     echo.
     DISM.exe /Export-Image /Compress:max /SourceImageFile:.\x64\%%A.wim /SourceIndex:1 /DestinationImageFile:.\ISO\sources\install.wim
     Del .\x64\"%%A".wim /q
     )
 Del .\x64\new_winre.wim /q 
 rem 인덱스별 이름 설명 설정 
 ImageX.exe /Info .\ISO\sources\install.wim 1 "Windows 10 19H2 Home" "Windows 10 19H2 Home 64비트 + 닷넷3.5통합 + 2020년 2월 12일 업데이트 통합"
 ImageX.exe /Info .\ISO\sources\install.wim 2 "Windows 10 19H2 Pro" "Windows 10 19H2 Professional 64비트 + 닷넷3.5통합 + 2020년 2월 12일 업데이트 통합"
 ImageX.exe /Info .\ISO\sources\install.wim 3 "Windows 10 19H2 Education" "Windows 10 19H2 Education 64비트 + 닷넷3.5통합 + 2020년 2월 12일 업데이트 통합"
 ImageX.exe /Info .\ISO\sources\install.wim 4 "Windows 10 19H2 Pro for Workstations" "Windows 10 19H2 Pro for Workstations 64비트 + 닷넷3.5통합 + 2020년 2월 12일 업데이트 통합"
 ImageX.exe /Info .\ISO\sources\install.wim 5 "Windows 10 19H2 Enterprise" "Windows 10 19H2 Enterprise 64비트 + 닷넷3.5통합 + 2020년 2월 12일 업데이트 통합"
 rmdir /s/q mount
 Del *.ISO
 oscdimg -m -o -u2 -lWin1019H2All -udfver102 -bootdata:2#p0,e,b".\ISO\boot\etfsboot.com"#pEF,e,b".\ISO\efi\microsoft\boot\efisys.bin" ".\ISO" "ko_Windows_10_19H2_v1909(18363.657)_5in1_x64_2020-02-12_by_soohyunet.ISO"
 echo.
 echo  통합작업 종료시간은 %time:~0,2%시%time:~3,2%분%time:~6,2%초 (%date%)입니다.
 pause

통합본 뼈대

누적업데이트 통합본 뼈대 구조 입니다. 누적업데이트 통합본에 예약파티션 생성 방지 스크립트를 넣었습니다. Setupcomplete.cmd 파일에 스크립트는 들어 있습니다. 매월 윈도우 업데이트 카탈로그에서 누적업데이트, 보안업데이트, 플래쉬, 마이크로 업데이트, 서비스스택을 해당 폴더 넣고 19h2_x64.cmd를 실행하시면 됩니다.

Root
├─ISO
├─x64
│  │  install.wim
│  ├─services_stack
│  ├─sxs
│  ├─update
│  └─원본
│          boot.wim
│          Winre.wim
├─
│  19h2_x64.cmd
│  imagex.exe
│  oscdimg.exe
│  SetupComplete.cmd   
└──────────────────── 

다운로드

구글 드라이브에 뼈대 파일이 올려져 있으며, 마찬가지로 자동으로 내려 받아서 통합본 만드는 자동화 프로그램을 만들고 있는데 시간이 좀 걸릴듯 합니다.

참고 :

https://www.catalog.update.microsoft.com/Home.aspx
https://support.microsoft.com/ko-kr/help/4498140/windows-10-update-history

4 thoughts on “윈도우10 누적 업데이트 통합 스크립트 두번째”

    • 닷넷을 통합할적에만 그렇습니다. 만약 닷넷 통합을 나중에 하게 되면 통합은되나 윈도우 설치후 업데이트시에 이미 통합된 업데이트를 다시 다운로드 받습니다.

      응답

Leave a Comment