Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

DISM을 활용한 Windows 10 설치 이미지에 최신 업데이트 통합 방법

이 가이드에서는 Windows에 기본 내장된 도구만 사용하여 Windows 10 또는 Windows 8.1의 오프라인 설치 이미지에 최신 업데이트 패키지를 통합(슬립스트림)하는 방법을 소개합니다. 동일한 방법으로 Windows Server 2012 R2 / 2016 설치 ISO 이미지에도 최신 보안 패치를 적용할 수 있습니다.

준비물

이번 예시에서는 Windows 10 1803 설치 이미지에 2018년 12월 누적 보안 업데이트를 추가하는 과정을 다룹니다. 준비해야 할 항목은 다음과 같습니다.

  • Windows 10 ISO 설치 이미지 또는 해당 이미지의 install.wim 파일
  • Microsoft Update Catalog에서 다운로드한 .MSU 형식의 업데이트 파일

특히 주의할 점은 Windows OS 이미지와 업데이트 파일의 비트 수(32/64bit)와 버전이 반드시 일치해야 한다는 것입니다. 일치하지 않으면 업데이트 설치 시 "이 컴퓨터에는 이 업데이트를 적용할 수 없습니다"라는 오류가 발생합니다.

디렉터리 구조 만들기

먼저 컴퓨터에 아래와 같은 디렉터리 구조를 생성합니다.

  • C:\updates\mnt — Windows 설치 이미지(install.wim)를 마운트할 폴더
  • C:\updates\msu — 해당 Windows 버전용 MSU 업데이트 파일을 저장할 폴더 (예시에서는 2018년 12월에 배포된 Windows 10 1803용 보안 업데이트 KB4471331과 KB4471324 두 개를 다운로드했습니다)
  • C:\updates\Win10Image\ — Windows 10 설치 이미지의 install.wim 파일을 복사해 둘 폴더

예시에서는 원본 Windows 10 ISO 이미지(Windows10x64-1803.iso)의 내용을 마운트하여 압축을 해제했습니다. 하지만 가상 머신의 wim 파일, VM 템플릿, WDS 이미지, SCCM 같은 자동 배포 솔루션에 저장된 이미지 등 어떤 형태든 활용할 수 있습니다.

만약 Windows 10 ISO 이미지에 install.esd 파일만 존재한다면, DISM 유틸리티를 사용해 ESD 파일을 WIM 파일로 변환할 수 있습니다.

dism /export-image /SourceImageFile:"C:\updates\Win10Image\install.esd" /SourceIndex:4 /DestinationImageFile:C:\updates\Win10Image\win10pro.wim /Compress:max /CheckIntegrity

설치 이미지 마운트하기

명령 프롬프트를 관리자 권한으로 실행한 뒤, 다음 명령어로 Windows 10 설치 이미지(install.wim)를 C:\updates\mnt 폴더에 마운트합니다.

dism /mount-wim /wimfile:C:\updates\Win10Image\install.wim /index:1 /mountdir:C:\updates\mnt

팁: WIM 이미지 하나에 여러 버전의 Windows가 포함되어 있는 경우, 명령어에 원하는 OS 버전의 인덱스를 지정하거나 각 이미지마다 순차적으로 업데이트를 통합해야 합니다. WIM 파일에 포함된 Windows 에디션 목록은 다음 명령어로 확인할 수 있습니다.

DISM /Get-WimInfo /WimFile:C:\updates\Win10\install.wim

이 예시의 이미지에는 Windows 10 Pro(인덱스 1) 에디션 하나만 포함되어 있으므로, 명령어에 install.wim /index:1을 지정하면 됩니다.

MSU 업데이트 통합하기

이제 지정된 디렉터리에 있는 MSU 업데이트 파일들을 Windows 10 이미지에 통합합니다.

dism /image:C:\updates\mnt /add-package /packagepath:C:\updates\msu

시스템이 잘못된 업데이트(해당 OS 버전 및 비트 수에 맞지 않거나 이미 설치된 업데이트)를 감지하면 해당 항목은 무시되고, 관련 정보는 C:\Windows\Logs\DISM\dism.log 파일에 기록됩니다.

이미지 크기 최적화

오래된 업데이트 파일(WinSxS 폴더 정리 관련 문서 참조)을 삭제하여 이미지 크기를 줄이려면 다음 명령어를 실행합니다.

dism /image:C:\updates\mnt /Cleanup-Image /StartComponentCleanup /ResetBase /ScratchDir:C:\Temp

다른 PC에서 CAB 업데이트 파일 가져오기

최신 보안 업데이트가 이미 설치되어 있는 비슷한 버전의 Windows 10 컴퓨터가 있다면, Microsoft Update Catalog에서 수동으로 다운로드하지 않고도 필요한 모든 업데이트 파일을 해당 컴퓨터에서 직접 가져올 수 있습니다.

핵심은 Windows가 Windows Update 서버나 WSUS 서버에서 내려받은 업데이트의 CAB 파일을 C:\Windows\SoftwareDistribution\Download 폴더에 저장한다는 점입니다.

다음 명령어를 실행하면 로컬 네트워크를 통해 다른 컴퓨터에서 이미 다운로드·설치된 업데이트 파일들을 install.wim 이미지에 통합할 수 있습니다.

Start /w for /R \\Win10x64AlreadyPatchedPC\C$\Windows\SoftwareDistribution\Download\ %f in (*.cab) do dism /image:C:\updates\mnt /add-package /packagepath:"%f"

여기서 Win10x64AlreadyPatchedPC는 필요한 업데이트가 이미 설치되어 있는 원격 컴퓨터의 이름입니다(OS 버전과 비트 수가 일치해야 함). 물론 해당 컴퓨터에 네트워크로 접근 가능해야 하며, 사용 중인 계정이 그 컴퓨터의 로컬 관리자 그룹에 속해 있어야 합니다. 열리는 창에서 오프라인 Windows 이미지에 업데이트가 설치되는 과정을 실시간으로 확인할 수 있습니다. DISM은 원격 컴퓨터에서 발견한 각 CAB 파일을 WIM 이미지에 추가하려고 시도합니다.

DISM 오류 해결 방법

업데이트 통합 중 "Error 0xc0000135: C:\Update\mount 위치의 이미지에 대한 서비스 프로세스를 시작하는 동안 오류가 발생했습니다. 자세한 내용은 로그 파일을 확인하세요"라는 오류가 발생한다면, 최신 버전의 DISM을 사용하고 있는지 확인하세요. 예를 들어 Windows 8.1 환경에서 Windows Server 2016 이미지를 수정하려는 경우가 여기에 해당합니다. 운영체제에 맞는 최신 Windows Assessment and Deployment Kit(Windows ADK)를 설치한 후, 다음 경로에서 직접 DISM을 실행하세요.

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM

변경 사항 저장 및 이미지 언마운트

마지막 단계는 변경 사항을 저장하고 Windows 10 이미지를 언마운트하는 것입니다.

dism /unmount-wim /mountdir:C:\updates\mnt /commit
dism /Cleanup-Wim

이제 install.wim 파일을 원본 디렉터리나 가상 머신으로 복사하거나, oscdimg, UltraISO, Dism++ 등의 도구를 사용해 설치 ISO 이미지를 다시 빌드하기만 하면 됩니다.

4GB 초과 WIM 파일 분할하기

install.wim 파일의 크기가 4GB를 초과하는 경우, UEFI 시스템에 Windows를 설치할 때 "Windows에서 필요한 파일 D:\sources\install.wim을 열 수 없습니다. 오류 코드: 0x8007000D"라는 오류가 발생할 수 있습니다. 이 경우 다음 명령어로 원본 install.wim을 더 작은 파일들로 분할해야 합니다.

dism /split-Image /imagefile:C:\Update\Win10Image\install.wim /swmfile:C:\Update\Win10Image\install.swm /filesize:4096

분할 후에는 원본 install.wim 파일을 삭제해도 됩니다.

참고로 DISM은 오프라인 이미지에 드라이버를 추가하는 기능도 제공합니다. 이전에 Windows 10 / 8.1 / Windows Server 2012 R2 / 2016 또는 Windows 7을 예로 들어 DISM 또는 Add-WindowsDriver cmdlet을 사용해 설치 이미지에 드라이버를 통합하는 방법을 살펴본 바 있습니다(예: Windows 7 설치 이미지에 USB 3.0 드라이버 추가).

마무리

이제 최신 보안 업데이트가 통합된 Windows 설치 이미지를 네트워크상의 컴퓨터에 배포할 수 있습니다. 새 컴퓨터에 배포하는 Windows 이미지에 최신 보안 업데이트를 꾸준히 통합하면, 최신 취약점에 대비한 인프라 보안이 강화되고 WSUS로부터 업데이트를 받기 시작할 때까지 신규 컴퓨터가 감염될 위험을 줄일 수 있습니다.