나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-07-11 20:16:09

DISM

1. 개요2. 기능
2.1. 이미지 관리
2.1.1. 이미지 생성2.1.2. 이미지 적용
2.2. 이미지 수정
2.2.1. 이미지 마운트2.2.2. 마운트한 이미지에 패키지 통합2.2.3. 마운트한 이미지에 패키지 제거2.2.4. 이미지 마운트 해제
2.3. WinSxS 정리2.4. Windows 기능 활성화/비활성화2.5. Windows Server 기반의 평가판에서 일반으로 전환
3. DISM을 기반으로 한 GUI 버전4. 관련 문서

1. 개요

Deployment Image Servicing and Management tool

배포 이미지 서비스 및 관리(DISM)은 Windows 환경에서 운영체제의 이미지를 생성하고, 적용하는 도구이다. Windows 7 이상의 운영체제를 지원하며, 이 도구를 이용해 백업 이미지를 생성하거나, Windows 이미지 파일을 디스크 볼륨에 적용할 수 있으며, 오프라인 이미지 파일에 업데이트 패키지를 통합할 수 있다.
DISM은 Windows 7 이상의 운영체제에 포함되어 있으며, Windows Vista 까지는 Imagex가 DISM 대신 운영체제에 포함되어 있다.

2. 기능

2.1. 이미지 관리

이미지 생성, 분할, 추가, 삭제, 추출, 적용, 마운트, 언 마운트, 커밋들이 가능하다.

2.1.1. 이미지 생성

기본 명령어
DISM.exe /Capture-Image /ImageFile:<저장될 이미지 파일 경로> /CaptureDir:<캡쳐될 디렉터리> /Name:<이름(Any)>
예제
DISM.exe /Capture-Image /ImageFile:install.wim /CaptureDir:C:\ /Name:Drive-C

더 자세한 명령어 옵션은 DISM.exe /Capture-Image /? 을 입력하면 나온다.

2.1.2. 이미지 적용

기본 명령어
DISM.exe /Apply-Image /ImageFile:X:\\Sources\\install.wim /ApplyDir:<압축을 풀 디렉터리> /Index:<이미지 인덱스>
참고로, 분활된 swm 파일을 적용하려면 다음을 입력해야 한다.
DISM.exe /apply-image /imagefile:X:\\Sources\\install.wim /swmfile:X:\\Sources\\install*.swm /ApplyDir:<압축을 풀 디렉터리> /Index:<이미지 인덱스>
이미지 인덱스는 아래 명령어로 확인이 가능하다.
DISM.exe /Get-ImageInfo /ImageFile:install.wim
원하는 이미지 인덱스 번호를 넣어주면된다.

참고로 X는 드라이브 경로를 뜻하므로 적절한 위치로 바꿔야 한다.

더 자세한 명령어 옵션은 DISM.exe /Capture-Image /? 을 입력하면 나온다.

예제
DISM.exe /Apply-Image /ImageFile:install.wim[1] /ApplyDir:D:\\ /Index:3
Windows 10 ISO 배포 사이트에서 제공되는 ISO 파일 내의 install.esd 인덱스들은 아래와 같다.
1: Windows 10 Home
2: Windows 10 Home Education
3: Windows 10 Pro
4: Windows 10 Pro Education
5: Windows 10 Pro for Workstations

외장 SSD에 Windows 설치 할 때 사용하기 좋은 명령어이다. 아니면, Windows 11 최소사양을 우회할때도 사용하기 좋다![2]
외장 SSD에 윈도우 설치혹은 백업 이미지 복원 할 경우에는 EFI 부팅하기 위해서 DISKPART와 같은 도구를 이용해 별도의 EFI 시스템 파티션을 생성하고, BCDBoot.exe로 EFI Boot를 생성해주어야한다.
만약 부팅 파티션이 W 드라이브라 가정하고, 윈도우가 있는 파티션을 C라고 가정했을때 부팅 파일을 다음과 같이 생성한다.
이 방법은 EFI 파티션에만 해당한다.
BIOS를 사용하고 있다면 윈도우 폴더가 있는 곳에 같은 파티션으로 있어야 한다.
BIOS를 사용하고 있다면 다음과 같이 입력한다.
bcdboot C:\\Windows
UEFI를 사용하고 있다면 다음과 같이 입력한다.
bcdboot C:\\Windows /s W: /f all

2.2. 이미지 수정

이미지를 수정하기 위한 작업이다.

2.2.1. 이미지 마운트

Dism /Mount-Image /ImageFile:<이미지 파일의 경로> /Index:<이미지 인덱스 번호> /MountDir:<마운트 할 디렉터리 경로>
각종 서비스에 사용하기 위해 이미지를 지정된 디렉터리에 탑재하는 기능이다.
마운트한 이미지는 파일을 수정하는 것이나, 업데이트 패키지를 통합하는 작업이 가능하다.

2.2.2. 마운트한 이미지에 패키지 통합

DISM /Image:<업데이트를 탑재할 오프라인 이미지의 Windows 경로> /Add-Package /PackagePath=<업데이트 파일 1의 경로> /PackagePath=<업데이트 파일 2의 경로> /PackagePath=<업데이트 파일 3의 경로>
DISM /Image:<업데이트를 탑재할 오프라인 이미지의 Windows 경로> /Add-Package /PackagePath=<업데이트 파일이 보관되어 있는 디렉터리 경로>
업데이트 패키지나 기타 다른 패키지를 마운트한 이미지에 통합할 수 있다.

2.2.3. 마운트한 이미지에 패키지 제거

이 방법은 권장되지 않으니, 신중히 작업하길 권장한다.
먼저, 제거하려는 패키지가 무엇인지 알아야 하니 다음을 먼저 입력한다.
Dism /Image:<업데이트를 탑재할 오프라인 이미지의 Windows 경로> /Get-Packages
제거할 패키지가 있다면 다음을 입력한다.
DISM /Image:<업데이트를 탑재할 오프라인 이미지의 Windows 경로> /Remove-Package /PackageName:<제거하려는 패키지 이름>

2.2.4. 이미지 마운트 해제

DISM /Unmount-Image /MountDir:<이미지를 마운트한 디렉토리> /Commit
DISM /Unmount-Image /MountDir:<이미지를 마운트한 디렉토리> /Discard
마운트한 이미지를 마운트 해제하고 변경 내용을 적용하거나 적용하지 않는 명령줄이다.
/Commit 매개 변수를 입력하면 변경 내용이 적용되고, /Discard 매개 변수를 입력하면 변경 내용이 적용되지 않는다.

2.3. WinSxS 정리

Windows 7까지는 디스크 정리 기능을 통해 정리해야 했으나, Windows 8부터는 DISM으로도 정리할 수 있다.
무엇보다, 정리를 하면 그 이전의 업데이트는 제거할 수 없으니 주의하도록 하자.
DISM /Online /Cleanup-image /StartComponentCleanup
DISM /Online /Cleanup-image /StartComponentCleanup /ResetBase
컴퓨터에 따라 시간이 적게는 30분, 많이는 1시간 넘게 걸릴 수 있다.
멈춘 거 아니니 괜히 명령 프롬프트를 종료하지 말고 기다리자.

마운트한 오프라인 이미지에서도 업데이트를 통합하고 WinSxS를 정리할 수 있다.[3]
Dism /Image:<업데이트를 탑재한 오프라인 이미지의 Windows 경로> /Cleanup-image /StartComponentCleanup
Dism /Image:<업데이트를 탑재한 오프라인 이미지의 Windows 경로> /Cleanup-image /StartComponentCleanup /ResetBase

2.4. Windows 기능 활성화/비활성화

예시로, .NET Framework 3.5가 Windows 8부터는 기본으로 비활성화 되었다.
완전히 없어진 건 아니고, 기능에서 비활성화 된 거 뿐이다.
DISM /Online /Enable-feature /Featurename:NetFx3 /All /LimitAccess
를 입력하면 Windows Update를 통해서 다운로드되고, 설치된다.
단, 0x800F0950 오류가 뜨거나, 인터넷이 없다면 Windows 설치 미디어의 sxs[4]폴더에서 설치해야 한다.
DISM /Online /Enable-feature /Featurename:NetFx3 /All /LimitAccess /Source:<Windows 10 설치 미디어가 있는 드라이브>\\Sources\\sxs
를 입력해주면 인터넷 없이도 된다.
.NET Framework 3.5 말고도 다른 기능도 가능하다.

NTVDM을 예시로 들자면, 다음처럼 입력한다.
DISM /Online /Enable-feature /Featurename:NTVDM /All /LimitAccess

2.5. Windows Server 기반의 평가판에서 일반으로 전환

공식 홈페이지에서 평가판을 다운로드받으면 180일정도 기간이 있다.
본인이 정품 키를 갖고 있는데 제품 키를 입력해도 오류가 뜨면서 안먹히는 경우가 있다.
이 경우 DISM으로 에디션을 전환해야 한다.

윈도우 서버 버전별 에디션 변경 제품키는 여기에서 찾을 수 있다.
DISM /online /Get-TargetEditions
우선 전환하려는 에디션을 알아야 한다.
스탠다드인경우 ServerStandard, DC (데이터센터) 에디션인 경우 ServerDatacenter이다.
DISM /online /Set-Edition:<전환하려는 에디션> /ProductKey:<제품 키> /AcceptEula
키를 올바르게 입력했다면 평가판이 제거되고 일반으로 전환된다.

아니면, 여기에서 다운로드해도 된다. 여기는 모든 윈도우 서버가 평가판이 아니다. 꼭 MSDN으로 다운받아야 한다.

3. DISM을 기반으로 한 GUI 버전

DISM GUI
DISM++
NTLite 자세한 내용은 NTLite 문서 참고.
GimageX (한글패치)
RSImageX

4. 관련 문서

DISM 개요
DISM 명령줄 옵션
DISM 이미지 관리 명령줄 옵션



[1] 윈10의 경우 install.esd[2] 컴퓨터에 따라, 빌드에 따라 워터마크가 생기는 경우가 있으니 주의해야 한다.[3] .NET Framework 3.5가 통합되어 있거나 설치 대기 중인 업데이트가 경우 이 기능은 사용할 수 없으니 주의. (단, 통합한 Windows를 설치한 후에는 사용할 수 있다.)[4] Sources 폴더에 있다.