DISM.exe – это новое средство командной строки, которое входит и в установочную версию операционной системы Windows 7, и в версию 2.0 пакета Windows Automated Installation Kit (Windows AIK).
Замечание:Поддержка VHD-файлов в качестве загрузочных образов Windows – новая возможность в Windows 7, о ней мы поговорим в последующих статьях этого цикла.
DISM.exe можно использовать для работы с образами Windows, как с файлами Windows image (WIM), так и с виртуальными жесткими дисками (virtual hard disk - VHD). Хотя средство DISM.exe изначально предназначалось для работы с неработающими системами Windows, его функциональность позволяет также перейти к работе с работающими операционными системами Windows. Работа с образами включает в себя такие операции как: добавление и удаление драйверов устройств, добавление и удаление пакетов операционной системы, добавление заплаток, работа с региональными настройками, а также выполнение аналогичных действий с образами. DISM также может использоваться для обновления образа Windows до другого издания (к примеру, с Business до Ultimate), и для подготовки образа системы к использованию.
DISM используется для работы с образами следующих версий Windows:
- Windows Vista SP1 или старше
- Windows Server 2008
- Windows 7
- Windows Server 2008 R2
Использование DISM
В Windows Vista (или при работе с Windows AIK 1.1) работа с образами требовала нескольких различных инструментов. К примеру, вам нужно было установить отдельный драйвер устройства на образ, созданный ранее из основной установки. Чтобы осуществить это в Vista, надо было сделать следующее:
- Подключить образ через ImageX
- Добавить драйвер устройства через Package Manager (Pkgmgr.exe)
- Отключить образ через ImageX
Кроме того, если это был образ Windows PE, нужно также было бы воспользоваться средством Windows Preinstallation Environment (PEimg.exe) для подготовки образа. И, наконец, если бы вам нужно было изменить язык и региональные настройки образа, вам понадобилось бы средство International Settings Configuration Tool (Intlcfg.exe).
Однако, начиная с Windows 7, инструменты Pkgmgr.exe, Intlcfg.exe и PEimg.exe, присутствовавшие в Windows AIK 1.1, заменены на DISM.exe. Плюс DISM.exe включает в себя и функции подключения и отключения образов.
Вероятно, для DISM вполне обычным будет добавление драйвера к автономному образу Windows вместо развертывания образа на устройствах, требующих наличия этого драйвера. Давайте рассмотрим этот сценарий, чтобы разобраться с работой с DISM через командную строку.
В начале в папке C:\Images компьютера с Windows AIK 2.0 находится установочный образ Windows 7 (файл install.wim):
C:\Program Files\Windows AIK\Tools\PETools>dir C:\Images
Volume in drive C has no label.
Volume Serial Number is 1C9A-D699
Directory of C:\Images
05/03/2009 12:46 PM <DIR> .
05/03/2009 12:46 PM <DIR> ..
04/22/2009 07:28 AM 2,218,242,699 install.wim
1 File(s) 2,218,242,699 bytes
2 Dir(s) 180,411,486,208 bytes free
Замечание:Вспомните: в статье семнадцатой из цикла статей о развертывании Vista я говорил, что существуют два типа образов Windows: загрузочные и установочные :)
Затем, в папке C:\Drivers находятся драйверы для Windows 7 beta (версия 2.91) для устройства Microsoft LifeCam:
C:\Program Files\Windows AIK\Tools\PETools>dir C:\Drivers
Volume in drive C has no label.
Volume Serial Number is 1C9A-D699
Directory of C:\Drivers
05/03/2009 01:19 PM <DIR> .
05/03/2009 01:19 PM <DIR> ..
05/03/2009 01:19 PM <DIR> VX6000
0 File(s) 0 bytes
3 Dir(s) 180,411,486,208 bytes free
Мы подключим наш образ к пустой папке C:\Servicing.. Начнем с команды DISM.exe с параметром get-wiminfo, чтобы отобразить список всех образов Windows, содержащихся в файле install.wim. Помните, что установочный образ может содержать более одного образа Windows.
C:\Program Files\Windows AIK\Tools\PETools>dism /get-wiminfo /wimfile:C:\Images\install.wim
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Details for image : C:\Images\install.wim
Index : 1
Name : Windows 7 STARTER
Description : Windows 7 STARTER
Size : 7,927,317,234 bytes
Index : 2
Name : Windows 7 HOMEBASIC
Description : Windows 7 HOMEBASIC
Size : 7,983,232,406 bytes
Index : 3
Name : Windows 7 HOMEPREMIUM
Description : Windows 7 HOMEPREMIUM
Size : 8,422,988,972 bytes
Index : 4
Name : Windows 7 PROFESSIONAL
Description : Windows 7 PROFESSIONAL
Size : 8,303,245,818 bytes
Index : 5
Name : Windows 7 ULTIMATE
Description : Windows 7 ULTIMATE
Size : 8,461,373,562 bytes
The operation completed successfully.
Теперь предположим, что мы собираемся установить Windows 7 Professional, и в этом случае видно, что образ под номером 4 как раз подходит для этой цели. Поэтому давайте подключим именно этот образ к папке C:\Servicing с помощью параметра /mount-wim команды DISM.exe:
C:\Program Files\Windows AIK\Tools\PETools>dism /mount-wim /wimfile:C:\Images\install.wim /index:4 /mountdir:C:\Servicing
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
Чтобы проверить, успешно ли подключился образ, можно использовать параметр /get-mountedinfo, скажем, следующим образом:
C:\Program Files\Windows AIK\Tools\PETools>dism /get-mountedwiminfo
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Mounted images:
Mount Dir : C:\Servicing
Image File : C:\Images\install.wim
Image Index : 4
Mounted Read/Write : Yes
Status : Ok
The operation completed successfully.
Если мы проверим содержимое каталога C:\Servicing, мы увидим папки и файлы подключенного образа:
C:\Program Files\Windows AIK\Tools\PETools>dir C:\Servicing
Volume in drive C has no label.
Volume Serial Number is 1C9A-D699
Directory of C:\Servicing
04/22/2009 03:36 AM <DIR> .
04/22/2009 03:36 AM <DIR> ..
03/20/2009 10:42 AM 24 autoexec.bat
03/20/2009 10:42 AM 10 config.sys
04/22/2009 01:17 AM <DIR> PerfLogs
04/22/2009 05:26 AM <DIR> Program Files
04/22/2009 03:27 AM <DIR> Users
04/22/2009 05:29 AM <DIR> Windows
2 File(s) 34 bytes
6 Dir(s) 180,321,382,400 bytes free
Теперь рассмотрим, какие действия мы можем совершать с подключенным образом:
C:\Program Files\Windows AIK\Tools\PETools>dism /image:C:\Servicing /?
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Image Version: 6.1.7100.0
The following commands may be used to service the image:
WINDOWS EDITION SERVICING COMMANDS:
/Set-ProductKey - Populates the product key into the offline image.
/Get-TargetEditions - Displays a list of Windows editions that an image can be upgraded to.
/Get-CurrentEdition - Displays the editions of the specified image.
/Set-Edition - Upgrades the Windows image to a higher edition.
UNATTEND SERVICING COMMANDS:
/Apply-Unattend - Applies an unattend file to an image.
DRIVER SERVICING COMMANDS:
/Remove-Driver - Removes driver packages from an offline image.
/Add-Driver - Adds driver packages to an offline image.
/Get-DriverInfo - Displays information about a specific driver in an offline image or a running operating system.
/Get-Drivers - Displays information about all drivers in an offline image or a running operating system.
INTERNATIONAL SERVICING COMMANDS:
/Set-LayeredDriver - Sets keyboard layered driver.
/Set-UILang - Sets the default system UI language that is used in the mounted offline image.
/Set-UILangFallback - Sets the fallback default language for the system UI in the mounted offline image.
/Set-UserLocale - Sets the user locale in the mounted offline image.
/Set-SysLocale - Sets the language for non-Unicode programs (also called system locale) and font settings in the mounted offline image.
/Set-InputLocale - Sets the input locales and keyboard layouts to use in the mounted offline image.
/Set-TimeZone - Sets the default time zone in the mounted offline image.
/Set-AllIntl - Sets all international settings in the mounted offline image.
/Set-SKUIntlDefaults - Sets all international settings to the default values for the specified SKU language in the mounted offline image.
/Gen-LangIni - Generates a new lang.ini file.
/Set-SetupUILang - Defines the default language that will be used by setup.
/Get-Intl - Displays information about the international settings and languages.
APPLICATION SERVICING COMMANDS:
/Check-AppPatch - Displays information if the MSP patches are applicable to the mounted image.
/Get-AppPatchInfo - Displays information about installed MSP patches.
/Get-AppPatches - Displays information about all applied MSP patches for all installed applications.
/Get-AppInfo - Displays information about a specific installed MSI application.
/Get-Apps - Displays information about all installed MSI applications.
PACKAGE SERVICING COMMANDS:
/Add-Package - Adds packages to the image.
/Remove-Package - Removes packages from the image.
/Enable-Feature - Enables a specific feature in the image.
/Disable-Feature - Disables a specific feature in the image.
/Get-Packages - Displays information about all packages in the image.
/Get-PackageInfo - Displays information about a specific package.
/Get-Features - Displays information about all features in a package.
/Get-FeatureInfo - Displays information about a specific feature.
/Cleanup-Image - Performs cleanup and recovery operations on the image.
For more information about these servicing commands and their arguments,
specify a command immediately before /?.
Examples:
DISM.exe /Image:C:\test\offline /Apply-Unattend /?
DISM.exe /Image:C:\test\offline /Get-Features /?
DISM.exe /Online /Get-Drivers /?
Параметры, которые мы хотим использовать, находятся под строкой DRIVER SERVICING COMMANDS (см. выше). Давайте используем параметр /get-drivers для отображения списка драйверов, уже установленных в подключенном образе:
C:\Program Files\Windows AIK\Tools\PETools>dism /image:C:\Servicing /get-drivers
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Image Version: 6.1.7100.0
Obtaining list of 3rd party drivers from the driver store...
Driver packages listing:
Published Name : oem0.inf
Original File Name : prnms001.inf
Inbox : No
Class Name : Printer
Provider Name : Microsoft
Date : 6/21/2006
Version : 6.1.7100.0
The operation completed successfully.
Теперь используем параметр /add-driver для добавления драйвера LifeCam в наш подключенный образ:
C:\Program Files\Windows AIK\Tools\PETools>dism /image:C:\Servicing /add-driver /driver:C:\Drivers\VX6000\vx6000.inf
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Image Version: 6.1.7100.0
Found 1 driver package(s) to install.
Installing 1 of 1 - C:\Drivers\VX6000\vx6000.inf: The driver package was successfully installed.
The operation completed successfully.
Теперь снова воспользуемся /get-drivers для проверки, добавлен ли драйвер LifeCam успешно к подключенному образу:
C:\Program Files\Windows AIK\Tools\PETools>dism /image:C:\Servicing /get-drivers
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Image Version: 6.1.7100.0
Obtaining list of 3rd party drivers from the driver store...
Driver packages listing:
Published Name : oem0.inf
Original File Name : prnms001.inf
Inbox : No
Class Name : Printer
Provider Name : Microsoft
Date : 6/21/2006
Version : 6.1.7100.0
Published Name : oem1.inf
Original File Name : vx6000.inf
Inbox : No
Class Name : Image
Provider Name : Microsoft
Date : 7/18/2008
Version : 5.5.3.74
The operation completed successfully.
Теперь заканчиваем работу с образом и отключаем его:
C:\Program Files\Windows AIK\Tools\PETools>dism /unmount-wim /mountdir:C:\Servicing /commit
Deployment Image Servicing and Management tool
Version: 6.1.7100.0
Image File : C:\Images\install.wim
Image Index : 4
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.
Дополнительные ресурсы
Для получения более подробной информации о DISM наберите dism /? в командной строке средств развертывания на вашем компьютере. Также детальную информацию о DISM.exe можно получить в секции Deployment Tools Technical Reference руководства Windows Automated Installation Kit User's Guide (WAIK.chm), до которого можно добраться, нажав Start | All Programs | Microsoft Windows AIK на вашем компьютере.
Наконец, посмотрите free e-learning Clinic 10077: Новинки Windows 7 для профессионалов в секции Windows 7 Learning Portal веб-сайта Microsoft Learning. Я принимал участие в разработке этих трех материалов, а в материале для профессионалов есть даже короткая видео-демонстрация использования DISM для добавления драйвера к образу.