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시간 넘게 걸릴 수 있다.DISM /Online /Cleanup-image /StartComponentCleanup /ResetBase
멈춘 거 아니니 괜히 명령 프롬프트를 종료하지 말고 기다리자.
마운트한 오프라인 이미지에서도 업데이트를 통합하고 WinSxS를 정리할 수 있다.[3]
Dism /Image:<업데이트를 탑재한 오프라인 이미지의 Windows 경로> /Cleanup-image /StartComponentCleanup
Dism /Image:<업데이트를 탑재한 오프라인 이미지의 Windows 경로> /Cleanup-image /StartComponentCleanup /ResetBase
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 GUIDISM++
NTLite 자세한 내용은 NTLite 문서 참고.
GimageX (한글패치)
RSImageX
4. 관련 문서
DISM 개요DISM 명령줄 옵션
DISM 이미지 관리 명령줄 옵션
[1] 윈10의 경우 install.esd[2] 컴퓨터에 따라, 빌드에 따라 워터마크가 생기는 경우가 있으니 주의해야 한다.[3] .NET Framework 3.5가 통합되어 있거나 설치 대기 중인 업데이트가 경우 이 기능은 사용할 수 없으니 주의. (단, 통합한 Windows를 설치한 후에는 사용할 수 있다.)[4] Sources 폴더에 있다.