IT 관리 / 윈도우

DISM을 이용해 윈도우 업데이트를 설치하는 방법

Ed Tittel | Computerworld 2021.12.20
윈도우에 내장된 배포 이미지 서비스 및 관리(Deployment Image Servicing and Management: DISM) 명령, 또는 dism.exe는 윈도우 OS 이미지 관련 작업에 있어 스위스 군용 나이프와 같다. DISM에는 윈도우 옵션 기능 및 패키지 추가, 이미지 인벤토리 작성, 이미지 정리와 같은 기능 외에 /Add-Package 옵션도 있다. 이 옵션을 사용하면 .cab 또는 .msu 파일의 마이크로소프트 카탈로그 업데이트를 특정 윈도우 이미지에 설치할 수 있다. 

.cab은 '윈도우 캐비닛(Windows Cabinet)'을 의미하며 디바이스 드라이버, 시스템 파일 등을 업데이트할 수 있는 윈도우 명령어와 데이터가 저장된 일종의 압축 파일이다. .msu 파일 확장자는 마이크로소프트 업데이트 독립실행형 설치 관리자(Microsoft Update Standalone Installer)와 관련된다. 일반적으로 이 설치 관리자는 윈도우 업데이트 에이전트 API를 사용해 업데이트 패키지를 설치한다. .cab 파일과 .msu 파일 모두 윈도우 이미지 파일(.wim, .esd, .ffu 형식) 또는 가상 하드 디스크 파일(.vhd 또는 .vhdx 형식)에 대한 DISM 명령과 호환된다. 

참고로 .msu 업데이트는 오프라인 이미지에만 적용된다. 더 보편적으로 사용되는 .cab 파일은 온라인 이미지에 적용해 현재 실행 중인 윈도우를 업데이트할 수 있다. 
 

윈도우 업데이트 대신 DISM을 사용하는 이유

그렇다면 윈도우 업데이트 대신 DISM을 써야 할 이유는 무엇일까. DISM은 윈도우 업데이트(WU)에 문제가 있을 때 업데이트를 설치할 수 있는 수단이다. 윈도우 업데이트는 가끔 작동하지 않거나 특정 업데이트 시 멈추거나 충돌을 일으키곤 한다. DISM은 이렇게 WU 자체가 정상적으로 기능하지 않을 때 업데이트를 설치하는 유용한 방법이다.

그 외에 윈도우 이미지 대신 DISM을 사용하는 이유는 다음과 같다.
 
  • 마이크로소프트 인튠(Intune), 윈도우 오토파일럿(Autopilot) 또는 시스템 센터 컨피규레이션 매니저(SCCM)를 사용한 대규모 또는 원격 배포에서 윈도우 이미지 관리
  • 맞춤 구성 및 특수한 배포를 위해 표준 윈도우 이미지에 드라이버 또는 업데이트 추가하기
  • 예정된 유지보수 기간 중에 내부 업데이트 서버에서 가져오는 사용자 주도 업데이트의 대안으로 사용하기. 대규모 조직에서는 예상치 못한 문제를 해결하거나 문제가 해결되지 않을 경우 이전 정상 상태로 롤백할 수 있는 시간적 여유를 확보하기 위해 연휴, 주말 중에 이 방법을 사용하는 경우가 많다.
 

윈도우 업데이트 파일 받기

.cab과 .msu를 포함한 모든 유형의 업데이트 파일을 구하는 가장 보편적인 곳은 마이크로소프트 업데이트 카탈로그다. 일반적으로 이름(예를 들어 Realtek Audio Driver) 또는 기술 자료(KB) 문서 번호를 통해 항목을 찾는다. 예를 들어 KB4023057은 윈도우 10 버전 1507에서 1803까지의 에디션에 적용되는 업데이트로, 업데이트 설치를 막는 원인이 되는 윈도우 업데이트 관련 문제를 수정하는 기능을 한다. 

<화면 1>의 업데이트 카탈로그에서 KB4023057의 결과 부분이 나와 있다. 오른쪽 열에서 대상 OS와 일치하는 파일 버전의 다운로드(Download) 버튼을 클릭하면 업데이트를 받을 수 있다.
 
<화면 1> KB5023057 아이템이 표시된 마이크로소프트 업데이트 카탈로그 © Ed Tittel/IDG

<화면 1>의 가장 위에 있는 1803 항목의 다운로드 버튼을 클릭하면 다운로드 창이 나타난다. 이 창에 .cab 파일의 링크가 제공된다. 파일 이름은 windows10.0-kb4023057-x64_58b2f8fd3da37d22fb99bd6aa6c3f69951e67429.cab으로, 매우 길다. 이름에는 윈도우 버전(10.0), KB 번호, 비트(x64는 64비트를 의미함), 전역 고유 식별자(GUID)가 포함된다. 확장자가 캐비닛 파일(.cab)이므로 DISM 명령을 통한 업데이트 대상으로 알맞다. <화면 2>는 선택한 항목의 다운로드 페이지다. 
 
<화면 2> KB4023057의 64비트 .cab 다운로드 페이지 © Ed Tittel/IDG
 

DISM /Add-Package 구문 

DISM 명령은 마이크로소프트 문서의 DISM 운영체제 패키지… 서비스 명령줄 옵션 페이지에 잘 정리돼 있다. DISM 툴 참조 온라인 문서도 윈도우 이미지를 다루는 사람이라면 즐겨찾기에 저장할 만한 하다. 이 설명서에 나온 /Add-Package 옵션의 구문은 다음과 같다. 
 
Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending] 

/PackagePath는 단일 .cab 또는 .msu 파일, 하나의 확장된 .cab 파일이나 하나의 .msu 파일이 포함된 폴더, 또는 여러 .cab 또는 .msu 파일이 포함된 폴더를 가리킬 수 있다(단, 두 가지 유형을 혼합할 수는 없음). /PackagePath가 하나 이상의 .cab 또는 .msu 파일이 루트에 포함되어 있는 폴더를 가리키는 경우 모든 하위 폴더에서도 마찬가지로 해당 파일이 있는지 여부가 확인된다. 

/PreventPending 스위치는 패키지 또는 대상 윈도우 이미지에 미완료 작업이 보류 중인 경우 DISM에 설치를 건너뛸 것을 지시한다. 이는 아직 완료되지 않았거나 완전한 상태가 아닌 이미지에 대한 작업을 방지하기 위한 것이다. 

/PackagePath 옵션의 입력 역할을 하는 디렉터리에 여러 .cab 또는 .msu 파일을 넣는 방법으로 하나의 DISM 명령 내에 여러 패키지를 추가할 수 있다. 일반적으로 DISM은 각 패키지를 대상 이미지에 적용할 수 있는지 확인한다. 패키지가 해당 이미지에 적용되지 않으면 DISM은 오류 메시지를 표시한다. /IgnoreCheck 스위치는 DISM이 각 패키지의 적용 가능성 확인을 건너뛰도록 할 때 사용된다.
 

DISM /Add-Package의 예 

예를 들어 윈도우 10 버전 1803의 32비트 인스턴스를 실행 중이라고 가정하자. KB4023057을 이 실행 중인 이미지에 적용하기 위해 .cab 파일을 D:\Images에 다운로드됐다. <화면 3>은 명령 프롬프트 또는 파워셸에서 이를 수행하는 명령이다. 명확한 이해를 돕기 위해 몇 가지 중요한 점을 짚고 넘어가자. 
 
  • DISM은 관리자 권한에서만 작동하므로 관리 계정으로 로그인하고 명령줄 환경에서 '관리자로 실행'을 선택해야 한다. 
  • /Online 스위치는 DISM에 현재 실행 중인 윈도우 이미지에 패키지를 적용할 것을 지시한다. 
  • 여기서는 모든 내용을 한 줄의 텍스트에 집어넣기 위해 .cab 파일의 이름을 KB4023057로 변경했다. 

<화면 3>은 관리자 명령줄 창에서 이 예제 명령을 실행한 것이다.
 
<화면 3> 실행 중인 윈도우 시스템에서 DISM /Add-Package를 사용하는 문법 © Ed Tittel/IDG

이 형식으로 명령을 실행하려면 보류 중인 WU 트랜잭션이 없도록 해야 한다. 이를 위한 가장 안전한 방법은 DISM /Add-Package 명령을 실행하기 전에 시스템을 재시작하는 것이다. 

오프라인 이미지에서 작업하는 것은 특수한 경우에 속한다. 간략히 설명하면 오프라인 이미지는 '미완성'일 수 있는 이미지 또는 배포 및/또는 맞춤 구성을 위해 이미지 라이브러리에 보관 중인 이미지를 나타낸다. 이와 같은 ‘유지보수 중’인 이미지는 이 이미지를 수백 명, 적어도 수십 명이 사용하는 경우가 아니라면 일반적으로 부가적인 작업을 할 만한 가치는 없다. 오프라인 이미지에서 DISM/Add-Package를 사용하는 데 대한 더 자세한 내용은 마이크로소프트 문서 'DISM을 사용해 오프라인으로 패키지 추가 또는 제거'를 참고하면 된다.
 

DISM /Add-Package를 사용하는 편이 유리한 일반적인 사례 

필자는 지금까지 수십, 수백 번 DISM /Add-Package를 사용했다. 그 이유는 거의 모든 경우 다음 두 가지 상황 중 하나에 해당한다. 
 
  1. 윈도우 업데이트가 정상적으로 작동하지 않아 업데이트를 다운로드하거나 설치할 수 없음
  2. WU를 사용해 특정 업데이트를 설치하려고 시도하면 응답이 없거나 충돌이 발생함 

두 경우 모두 .cab 파일을 다운로드하고 DISM /Add-Package를 사용하는 방법으로 실행 중인 윈도우 이미지에 성공적으로 업데이트를 설치할 수 있다. 참고로 이 방법이 통하지 않는다면 대개 윈도우와 관련해 더 심각한 문제가 있다는 뜻이다. 드물게 이런 일이 발생할 때 필자가 그 다음으로 인플레이스(in-place) 업그레이드 설치를 선택한다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.