DISM 운영 체제 패키지(.cab 또는 .msu) 서비스 명령줄 옵션
Windows 캐비닛(.cab) 또는 Windows 업데이트 독립 실행형 설치 관리자(.msu) 파일과 함께 DISM을 사용하여 업데이트, 언어 팩을 설치 또는 제거하고 Windows 기능을 사용 또는 사용하지 않도록 설정합니다. 기능은 핵심 운영 체제의 선택적 구성 요소입니다.
구문
DISM.exe {/Image:<path_to_image_directory> | /Online} [dism_global_options] {servicing_option} [<servicing_argument>]
오프라인 이미지에 대해 다음 운영 체제 패키지 서비스 옵션을 사용할 수 있습니다.
DISM.exe /Image:<path_to_image_directory> [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]
실행 중인 운영 체제에 대해 다음 운영 체제 패키지 서비스 옵션을 사용할 수 있습니다.
DISM.exe /Online [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]
/Get-Help /?
패키지 서비스 명령줄 옵션 바로 뒤에 사용하면 옵션 및 인수에 대한 정보가 표시됩니다.
이미지가 지정되면 추가 항목을 사용할 수 있습니다.
구문:
Dism /Get-Help
예:
Dism /Image:C:\test\offline /Add-Package /?
Dism /Online /Get-Packages /?
/Get-Packages
이미지의 모든 패키지에 대한 기본 정보를 표시합니다. /Format:Table
또는 /Format:List
인수를 사용하여 출력을 테이블이나 목록으로 표시합니다.
구문:
Dism /Get-Packages [/Format:{Table | List}]
예:
Dism /Image:C:\test\offline /Get-Packages
Dism /Image:C:\test\offline /Get-Packages /Format:Table
Dism /Online /Get-Packages
/Get-PackageInfo
.cab 파일로 제공되는 패키지에 대한 자세한 정보를 표시합니다. .cab 파일만 지정할 수 있습니다. 이 명령을 사용하여 .msu 파일에 대한 패키지 정보를 가져올 수 없습니다. /PackagePath:<path_to_package>
는 .cab 파일이나 폴더를 가리킬 수 있습니다.
/Get-Packages
옵션을 사용하여 이미지에서 패키지 이름을 찾거나 .cab 파일의 경로를 지정할 수 있습니다. .cab 파일의 경로는 오프라인 이미지에서 파일이 설치된 위치가 아니라 패키지의 원래 원본을 가리켜야 합니다.
구문:
Dism /Get-PackageInfo {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}
예:
Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab
Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
/Add-Package
이미지에 지정된 .cab 또는 .msu 패키지를 설치합니다.
참고 항목
/Add-Package
를 사용하여 온라인 또는 오프라인 Windows 11, 버전 21H2 이상 이미지에 .msu 패키지를 추가할 수 있습니다. Windows 11 버전 21H2 이전의 Windows 이미지로 작업하는 경우 오프라인 대상 이미지에만 .msu 패키지를 추가할 수 있습니다.
하나의 명령줄에 여러 패키지를 추가할 수 있습니다. 각 패키지의 적용 가능성이 확인됩니다. 지정된 이미지에 패키지를 적용할 수 없는 경우 오류 메시지가 표시됩니다. 각 패키지의 적용 가능성을 확인하지 않고 명령을 처리하려면 /IgnoreCheck 인수를 사용합니다.
구문:
Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending]
/PackagePath
는 다음을 가리킬 수 있습니다.- 단일 .cab 또는 .msu 파일.
- 확장된 단일 .cab 파일이 포함된 폴더입니다.
- 단일 .msu 파일이 포함된 폴더입니다.
- 여러 .cab 또는 .msu 파일이 포함된 폴더입니다.
/PackagePath
가 루트에 .cab 또는 .msu 파일이 포함된 폴더를 가리키는 경우 모든 하위 폴더에서도 .cab 및 .msu 파일이 있는지 재귀적으로 확인합니다.패키지 또는 Windows 이미지에 보류 중인 온라인 작업이 있는 경우
/PreventPending
옵션을 사용하여 패키지 설치를 건너뜁니다.
참고 항목
/Add-Package
는 패키지의 적용 가능성 및 종속성에 대한 전체 검사를 실행하지 않습니다.
- 종속성이 있는 패키지를 추가하는 경우 패키지를 추가할 때 모든 종속성이 설치되었는지 확인합니다.
- .msu를 추가하는 경우 관련 KB에서 패키지별 설치 지침을 확인해야 합니다.
예:
Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\test\packages\package.cab /PreventPending
검사점 누적 업데이트
Windows 11 버전 24H2부터 최신 누적 업데이트에는 먼저 설치해야 하는 필수 구성 요소 누적 업데이트가 있을 수 있습니다. 이러한 검사점 누적 업데이트를 설치하려면 대상 누적 업데이트를 사용하여 /Add-Package를 호출합니다. -PackagePath의 폴더는 필요에 따라 하나 이상의 검사점을 검색하고 설치하는 데 사용됩니다. 대상 누적 업데이트 및 필수 구성 요소 검사점 누적 업데이트만 -PackagePath 폴더에 있어야 합니다. 수정 버전이 대상 누적 업데이트보다 작거나 같은 누적 업데이트 패키지가 처리됩니다.
/Remove-Package
이미지에서 지정된 .cab 파일 패키지를 제거합니다. .cab 파일만 지정할 수 있습니다. 이 명령을 사용하여 .msu 파일을 제거할 수 없습니다.
참고 항목
이 명령을 사용하여 오프라인 이미지에서 패키지를 제거해도 이미지 크기는 줄어들지 않습니다.
구문:
/Remove-Package {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}
/PackagePath
를 사용하여 패키지의 원래 원본을 가리키거나, CAB 파일의 경로를 지정하거나, 이미지에 나열된 이름으로 패키지를 지정합니다./Get-Packages
옵션을 사용하여 이미지에서 패키지 이름을 찾습니다.
예:
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab
/Get-Features
패키지의 모든 기능(선택적 Windows 기반 기능을 포함하는 운영 체제 구성 요소)에 대한 기본 정보를 표시합니다.
구문:
/Get-Features {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>} [/Format:{Table | List}]
/Get-Features
는 이미지 또는 패키지의 원래 원본에서 패키지 이름을 찾습니다. 패키지 이름이나 경로를 지정하지 않으면 이미지의 모든 기능이 나열됩니다./PackageName
은 이미지의 패키지입니다./DISM Get-Packages
를 사용하여 이미지에서 패키지 이름을 볼 수 있습니다./PackagePath
는 .cab 파일이나 폴더를 가리킬 수 있습니다.
/Format:Table
또는 /Format:List
인수를 사용하여 출력을 테이블이나 목록으로 표시합니다.
예:
Dism /Image:C:\test\offline /Get-Features
Dism /Image:C:\test\offline /Get-Features /Format:List
Dism /Image:C:\test\offline /Get-Features /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /Get-Features /PackagePath:C:\packages\package1.cab
/Get-FeatureInfo
기능에 대한 자세한 정보를 표시합니다. /FeatureName
을 사용해야 합니다. /Get-Features
옵션을 사용하여 이미지에서 기능의 이름을 찾을 수 있습니다.
구문:
/Get-FeatureInfo /FeatureName:<name_in_image> [{/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}]
/PackageName
및 /PackagePath
는 선택 사항이며 패키지에서 특정 기능을 찾는 데 사용할 수 있습니다.
예:
Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts
Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts /PackagePath:C:\packages\package.cab
/Enable-Feature
이미지에서 지정된 기능을 사용하도록 설정하거나 업데이트합니다. /FeatureName
옵션을 사용해야 합니다. /Get-Features
옵션을 사용하여 이미지에서 지형지물 이름을 찾습니다.
구문:
/Enable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Source: <source>] [/LimitAccess] [/All]
동일한 부모 패키지를 공유하는 기능에 대해 하나의 명령줄에서 /FeatureName
옵션을 여러 번 지정할 수 있습니다.
패키지가 Windows Foundation 패키지인 경우 /PackageName
옵션을 사용하여 패키지 이름을 지정할 필요가 없습니다. 그렇지 않으면 /PackageName
을 사용하여 기능의 부모 패키지를 지정합니다.
이미지에서 이전에 제거된 기능을 복원하고 사용하도록 설정할 수 있습니다. /Source
인수를 사용하여 기능을 복원하는 데 필요한 파일의 위치를 지정합니다. 파일의 원본은 탑재된 이미지의 Windows 폴더(예: c:\test\mount\Windows
)일 수 있습니다. Windows 병렬 폴더를 파일 원본으로 사용할 수도 있습니다(예: z:\sources\SxS
).
여러 /Source
인수를 지정하면 파일이 발견된 첫 번째 위치에서 파일이 수집되고 나머지 위치는 무시됩니다. 제거된 기능에 대해 /Source를 지정하지 않으면 레지스트리의 기본 위치가 사용되거나 온라인 이미지의 경우 WU(Windows 업데이트)가 사용됩니다.
- DISM이 온라인 이미지에 대해 WU에 연결하는 것을 방지하려면
/LimitAccess
를 사용합니다. /All
를 사용하여 지정된 기능의 모든 부모 기능을 사용하도록 설정합니다.
예:
Dism /Online /Enable-Feature /FeatureName:Hearts /All
Dism /Online /Enable-Feature /FeatureName:Calc /Source:c:\test\mount\Windows /LimitAccess
Dism /Image:C:\test\offline /Enable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
/Disable-Feature
이미지에서 지정된 기능을 사용하지 않도록 설정합니다. /FeatureName 옵션을 사용해야 합니다. /Get-Features
옵션을 사용하여 이미지에서 지형지물 이름을 찾습니다.
구문:
/Disable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Remove]
동일한 부모 패키지의 기능에 대해 하나의 명령줄에서 /FeatureName
을 여러 번 지정할 수 있습니다.
패키지가 Windows Foundation 패키지인 경우 /PackageName 옵션을 사용하여 패키지 이름을 지정할 필요가 없습니다. 그렇지 않으면 /PackageName
을 사용하여 기능의 부모 패키지를 지정합니다.
/Remove
를 사용하여 이미지에서 기능의 매니페스트를 제거하지 않고 기능을 제거합니다. 기능 세부 정보를 표시하기 위해 /Get-FeatureInfo
를 사용하면 기능이 "제거됨"으로 나열되며 /Source 옵션과 함께 /Enable-Feature를 사용하여 복원 및 사용하도록 설정할 수 있습니다.
예:
*Dism /Online /Disable-Feature /FeatureName:Hearts
Dism /Image:C:\test\offline /Disable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
/Cleanup-Image
이미지에 대한 정리 또는 복구 작업을 수행합니다. /AnalyzeComponentStore
및 /ResetBase
는 Windows 10, Windows 8.1 및 Windows PE 5.0 이상의 이미지와 함께 사용할 수 있습니다. Windows 10, 버전 1607부터 /ResetBase
를 사용하여 /Defer
를 지정할 수 있지만 DISM /Resetbase
를 완료하는 데 30분이 넘게 걸리는 공장에서는 /Defer
를 옵션으로만 사용해야 합니다.
팁
/ResetBase 옵션이 마지막으로 실행된 시간을 확인하려면 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing
레지스트리 경로에서 LastResetBase_UTC 레지스트리 항목을 확인합니다.
구문:
/Cleanup-Image {/RevertPendingActions | /SPSuperseded [/HideSP] | /StartComponentCleanup [/ResetBase [/Defer]] | /AnalyzeComponentStore | /CheckHealth | /ScanHealth | /RestoreHealth [/Source: <filepath>] [/LimitAccess]}
매개 변수 | 설명 |
---|---|
/RevertPendingActions | 부팅 실패가 발생하면 /RevertPendingActions 옵션을 사용하여 시스템 복구를 시도할 수 있습니다. 이 작업은 부팅 실패의 원인일 수 있으므로 이전 서비스 작업에서 보류 중인 모든 작업을 되돌립니다. /RevertPendingActions 옵션은 실행 중인 운영 체제나 Windows PE 또는 Windows RE(복구 환경) 이미지에서 지원되지 않습니다. 중요: /RevertPendingActions 옵션은 부팅되지 않은 Windows 이미지의 시스템 복구 시나리오에서만 사용해야 합니다. |
SPSuperseded | 서비스 팩을 설치하는 동안 만들어진 모든 백업 파일을 제거합니다. /HideSP를 사용하여 설치된 업데이트 제어판에 서비스 팩이 나열되지 않도록 합니다. /SPSuperseded 작업이 완료된 후에는 서비스 팩을 제거할 수 없습니다. |
/StartComponentCleanup | 대체된 구성 요소를 정리하고 구성 요소 저장소의 크기를 줄입니다. /ResetBase를 사용하여 대체된 구성 요소의 기준을 다시 설정하면 구성 요소 저장소 크기를 더욱 줄일 수 있습니다. /ResetBase 옵션을 사용하여 /StartComponentCleanup을 실행한 후에는 설치된 Windows 업데이트를 제거할 수 없습니다. /ResetBase와 함께 /Defer를 사용하여 장기 실행 정리 작업을 다음 자동 유지 관리로 연기합니다. |
/AnalyzeComponentStore | 구성 요소 저장소의 보고서를 작성합니다. 보고서에 대한 자세한 내용과 보고서에 제공된 정보를 사용하는 방법은 WinSxS 폴더의 실제 크기 확인을 참조하세요. |
/CheckHealth | 이미지가 실패한 프로세스에 의해 손상된 것으로 플래그가 지정되었는지 여부와 손상을 복구할 수 있는지 여부를 확인합니다. |
/ScanHealth | 이미지에서 구성 요소 저장소 손상을 검사합니다. 이 작업은 몇 분 정도 걸립니다. |
/RestoreHealth | 이미지에서 구성 요소 저장소 손상을 검사한 다음 자동으로 복구 작업을 수행합니다. 이 작업은 몇 분 정도 걸립니다. |
/근원 | /RestoreHealth와 함께 사용하여 탑재된 이미지의 Windows 디렉터리 경로와 같이 복구에 사용할 수 있는 알려진 양호한 버전의 파일 위치를 지정합니다. |
/LimitAccess | DISM이 온라인 이미지 복구를 위해 Windows 업데이트에 연결하지 못하도록 합니다. |
예:
Dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions
Dism /Image:C:\test\offline /Cleanup-Image /SPSuperseded /HideSP
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess
자세한 내용은 Windows 이미지 복구를 참조하세요.
제한 사항
- 오프라인 이미지에 패키지를 설치하는 경우 온라인 작업이 보류 중이기 때문에 패키지 상태는 "설치 보류"입니다. 즉, 이미지가 부팅되고 온라인 작업이 처리될 때 패키지가 설치됩니다. 후속 작업이 요청되면 이전 보류 중인 온라인 작업이 완료될 때까지 처리할 수 없습니다. 보류 중인 온라인 작업이 있을 때 패키지 설치를 건너뛰기 위해
/AddPackage
를 사용하여 패키지를 추가할 때/PreventPending
옵션을 사용할 수 있습니다. - 일부 패키지는 먼저 다른 패키지를 설치해야 합니다. 종속성이 충족될 것이라고 가정해서는 안 됩니다. 패키지에 종속성 요구 사항이 있는 경우 응답 파일을 사용하여 필요한 패키지를 설치합니다. 응답 파일을 DISM에 전달하면 여러 패키지를 올바른 순서로 설치할 수 있습니다. 자세한 내용은 DISM을 사용하여 오프라인으로 패키지 추가 또는 제거를 참조하세요.
- 패키지는 명령줄에 나열된 순서대로 설치됩니다.
- DISM을 사용하여 Windows PE 이미지의 선택적 구성 요소를 나열하는 경우 선택적 구성 요소는 서비스 작업이 성공한 경우에도 항상 보류 중인 것으로 나열됩니다. 이는 의도된 것이며 추가 작업이 필요하지 않습니다.