DISM is a command-line Microsoft tool for Windows 7/8/2008/2012. DISM stands for ‘Deployment Image Servicing and Management’. If you do a search for dism.exe you will find many posts of people using it to reduce the size of their WinSxS folder, especially after installing SP1. There is a 32-bit and a 64-bit version of this tool.
The actual command to do this cleanup is: dism.exe /online /cleanup-image /spsuperseded
So, you are sitting at the console of a Windows 2008 R2 x64 server, and you want to run this utility. Chances are, you will try to use the dism.exe that is listed inside the c:WindowsSysWow64 folder.
However, if you do so, you may encounter the following error message: Error: 11 You cannot service a running 64-bit operating system with a 32-bit version of DISM. Please use the version of DISM that corresponds to your computer’s architecture.
In order to run this properly, you need to go directly to the native system folder to run this tool on a 64 bit system. Here are the steps:
- Open command prompt window as administrator (‘Run as’).
- Change directory by typing: cd windowssystem32
- Run the command: dism.exe /online /cleanup-image /spsuperseded
This will take about ten minutes to run. Please note that even after the progress bar reaches 100.0%, the tool has not finished running. Do NOT close the command prompt window until you get the message “The operation completed successfully”.
What is the result of running this tool? I ran this on a Windows 2008 R2/SBS 2011 server, and it reduced the size of the WinSxS folder from 10.8GB to 7.37GB.
Not very drastic if you ask me. Not with today’s disk sizes. However, if you are running out of disk space on your server system drive, this might buy you some needed room!
Чтобы создать свой дистрибутив, не обязательно выполнять захват подготовленной системы, комплект WAIK предоставляет нам другую возможность-работа непосредственно с ISO образом установочного диска, в терминологии Microsoft, такой вид образов называется: автономный образ. Данное средство называется DISM (Deployment Image Servicing and Management) оно позволяет глубоко модифицировать образ Windows, добавлять туда драйвера (один файл или целую коллекцию), включать/выключать различные компоненты системы, добавлять пакеты обновлений ОС, а также языковые пакеты и кучу всего остального, в общем мы можем довольно глубоко «запиливать» дистрибутив ОС Windows. К стати, WAIK позволяет обслуживать дистрибутивы Windiows 8 / 2012
Возможен и другой вариант, у вас уже есть настроенный образ, который получился у вас после захвата, о том как он создается можно прочитать в статье: WAIK это просто, как собрать свой дистрибутив Windows 7, вас все в нем устраивает, но есть проблема, поступила более новая техника, а драйвера, которые уже присутствуют в образе, не подходят к новому железу, соответственно, оборудование работает не на полную мощность. В этой ситуации нам достаточно узнать конфигурацию нового оборудования и в уже имеющийся образ, просто добавить драйвера, а если образ создан давно, то и пакеты обновлений, иначе наш образ получается не безопасным, а по рекомендации «лучших собаководов», из Microsoft, наш образ должен быть безопасен, и содержать в себе актуальные обновления безопасности, на момент развертывания…
Если подумать логически, то в офисной сети, со временем, будут появляться «разношерстные» рабочие станции, это может быть связано с ростом компании или плановой заменой устаревшей техники на новую, да и просто разными поставщиками или партиями оборудования, в любом случае, идею о единообразном оборудовании можно забыть и на нее даже не рассчитывать, уж поверьте моему опыту работы в компании где работает почти 14 000 чел в РФ, с техникой там полный зоопарк, по этому, в готовый образ вам может понадобиться добавить драйвера, обновления и т.п. Идеальным вариантом является единая точка обслуживания, которой будет выступать наш установочный образ, мы можем добавлять в него драйвера, по мере поступления новой техники.
Скажу честно, данное ПО довольно сложно в понимании, но освоив его, вы получите мощнейший инструмент для обслуживания и тюнинга дистрибутивов MS Windows. В принципе, можно смело открывать «свой» MSDN-при условии что ваши образы будут собраны качественно, ну и за одно, поднять «пиратский флаг», но это так, лирика…
Все действия производятся из командной строки, это с одной стороны, большой плюс, с другой-недостаток т.к. современный народ довел свой «кнопконажимательный» рефлекс до таких высот, что скорость работы мышкой просто зашкаливает, а вот вид черного поля командной строки и мигающего курсора-вызывает нервный тик и личную неприязнь к тем, кто это придумал.
ВАЖНО-Статья будет разбита на несколько пунктов, каждый из них не является обязательным, вы вольны выбрать, выполнить все пункты или только некоторые, которые вам нужны, в любом случае, образ будет работоспособен!
Все действия будут проводиться на примере Windows 7 Professional amd64, но все команды актуальны и для дистрибутивов Windows 8 / 2012 / 2008 / 2008R2
Для работы нам понадобится:
1) Установочный диск Windows 7 (редакция и разрядность, значения не имеет, для примера, будет использоваться архитектура x64), можно скачать с торрентов или с MSDN — у кого есть доступ к подписке. В данной работе я буду использовать чистый образ MSDN, я не рекомендую брать образ который уже кто-то переделал, не факт что у вас с ним что-то получится, по этому, чтобы понять принцип работы берите ISOшник от Microsoft, он прямой- как лом в полёте…
2) Установочный диск WAIK (Windows Automated Installation Kit), скачать можно с сайта Microsoft, а также, дополнительный пакет для правильной работы с ОС с SP1.
3) Физическая машина, с Windows 7 на борту, разрядность и редакция ОС значения не имеет, но редакцию Starter лучше не использовать, с достаточным количеством свободного места на диске C-должно быть свободно не менее 25Гб (на всякий случай).
4) Набор драйверов, и обновлений, которые будет установлены в системе.
Предполагается что все это уже скачано и лежит на диске, для настройки образа интернет нам не потребуется.
Для работы, нам потребуется создать необходимые директории на диске С.
Мы будем работать с образом системы в папке dism, я назвал ее так специально чтобы было понятно для чего она (имя папки ни на что не влияет) единственное условие-не назначать имя папке кириллицей, во избежании проблем, также, внутри этой папки, мы создадим, целую кучу других папок их назначение я расскажу по ходу статьи:
Мы будем работать в командной строке, да Windows как и Linux позволяет это делать и как и в Linux, многие задачи, как эта, лучше выполнять из нее т.к. мышкой это слишком долго, хотя в Linux, командная строка более функциональна.
Запускаем командную строку, от имени Администратора и выполняем в ней:
mkdir c:dism
mkdir c:dismiso
mkdir c:dismoffline
mkdir c:dismupdates
mkdir c:dismdrivers
mkdir c:dismdriversnetwork
mkdir c:dismdriversmainbord
mkdir c:dismdriverssound
mkdir c:dismdriversvideo
Теперь, нам необходимо скопировать содержимое всего установочного диска Windows, в папку c:dismiso как есть.
Также рядом с папкой iso есть папка offline в нее будет монтироваться файл install.wim работу с которым мы и будем выполнять.
Не будем тянуть кота за «причинное место» и смонтируем образ install.wim который, если вы все скопировали правильно, должен лежать у вас по пути:
c:dismisosourcesinstall.wim
Переходим: Пуск->Все программы ->Microsoft Windows AIK ->Командная строка средств развертывания запускаем ее от имени администратора
На диске может содержаться несколько редакций операционной системы, нас интересует Windows 7 Professianal, все зависит от того, какой серийный номер вы введете.
Получаем список ОС с диска:
dism /get-wiminfo /wimfile:c:dismisosourcesinstall.wim
Нас интересует образ ОС с индексом 3. (на скриншоте обведено красным)
В открывшемся окне вводим и жмем Enter:
dism /mount-wim /wimfile:c:dismisosourcesinstall.wim /index:3 /mountdir:c:dismoffline
Где:
dism-то что мы запускаем для работы
/mount-wim -то что мы хотим выполнить, в нашем случае-монтирование wim файла.
/wimfile:c:dismisosourcesinstall.wim -путь к файлу install.wim
/index:3-в файле install.wim может содержаться несколько образов операционных систем, мы возьмем третью из списка.
/mountdir:c:dismoffline-папка, куда будет монтироваться файл install.wim
Система выдаст, похожее:
После удачного подключения образа, содержимое файла install.wim можно посмотреть в папке c:dismoffline
Если вы туда загляните, то там обнаружите, ничто иное, как содержимое диска С, для ленивых приложу скриншот:
1-Добавляем драйвера оборудования в систему
В начале, когда мы создавали кучу папок, у нас была папка с названием drivers, а в ней различные под папки типа mainbord, sound, network, вот они как раз и предназначены для хранения драйверов. Звуковой драйвер, забрасываем в папку sound, а драйвера сетевого оборудования в папку network-все просто и т.д. в принципе можно все свалить в одну кучу, главное чтобы файлы с одинаковыми именами не перезаписали друг друга, но лучше сразу приучаться к порядку и тогда через несколько месяцев вы легко сможете разобраться, где что лежит, что можно удалить, а что нужно оставить, а вот если все в кучу, то это уже проблематично, так что рекомендация довольно проста и банальна-Нормально делай, нормально будет!
DISM позволяет добавлять драйвера в 2х режимах
1) По файлово -когда вы явно указываете, какой файл нужно загрузить
2) Рекурсивно-когда софтина сама обследует папку и вложенные подпапки и все найденные файлы драйверов добавляет в образ.
Откровенно говоря, добавлять по файлово, это для «эстетов» или если нужно добавить всего один файлик в уже готовый образ. Но мы-то с вами «запиливаем» чистую систему и предполагается что в ней ничего нет, по этому мы их будем добавлять рекурсивно.
В командной строке вводим:
dism /image:c:dismoffline /add-driver /driver:c:dismdrivers /recurse
Бывает что нужно добавить драйвера которые не имеют цифровой подписи, тогда команда принимает вид:
dism /image:c:dismoffline /add-driver /driver:c:dismdrivers /recurse /ForceUnsigned
Система немного задумается, потом выдаст следующее:
2-Добавляем обновления в образ
Далее, предположим, что образ у вас устарел и вы решили добавить в него пакеты обновлений. Но главный вопрос-где добыть обновления?!
Их можно взять из работающей системы, все файлы с расширением .cab являются нашей целью их можно найти по адресу C:WindowsSoftwareDistributionDownload, если установлен WinRAR то он их подсвечивает как архивы, вот их-то мы и соберем. Все обновления применяются в том порядке, в котором вы указали, по этому старайтесь указывать их, в порядке возрастания номеров.
Вариант №2, обновления можно скачать с сайта Microsoft, чтобы не проходить «увлекательный квест», вот вам ссылка работает через IE.
В начале статьи мы создали папку:
mkdir c:dismupdates
В нее мы и складываем файлы обновлений, для примера у меня есть 2 файла я их расположу в порядке номеров:
KB2574819.cab
KB2592687.cab
Применим обновления к нашему образу:
dism /image:c:dismoffline /Add-Package /PackagePath:C:dismupdatesKB2574819.cab /PackagePath:C:dismupdatesKB2592687.cab
Где:
/PackagePath:C:dismupdatesKB2574819.cab -указываем путь к файлу с обновлением
От системы получаем:
Проблема №1. Некоторые обновления не хотят устанавливаться, без других обновлений, по этому, зависимость от этого может стать серьезной проблемой, но всегда можно посмотреть на сайте Microsoft, какое обновление, от какого зависит.
Проблема №2. У вас нет файлов обновлений в виде файлов *.cab, но есть в виде файлов *.msu, проблема не сложная, файлы можно распаковать с помощью expand -F:*-способ использования данной утилиты, будет вам в качестве домашнего задания!
3-Включение/выключение компонентов операционной системы
Иногда требуется включить компоненты системы, которые по умолчанию выключены, например telnet клиент, мне он, по работе нужен довольно часто, по этому, в образе, на его примере, мы выполним включение.
Для начала, выполним запрос списка всех компонентов, он довольно большой, по этому мы его перенаправим в файл, а в файле можно спокойно прочитать.
Получаем список пакетов и перенаправляем его в текстовый файл:
dism /image:c:dismoffline /Get-Features > c:dismFeaturelist.txt
Где:
dism /image:c:dismoffline-обращение к нашему подключенному образу
/Get-Features — запрос списка компонентов системы
> c:dismFeaturelist.txt -перенаправление вывода в файл, который у нас называется Featurelist.txt, а путь к нему c:dismFeaturelist.txt
переходим к списку компонентов системы, открываем файл:
c:dismFeaturelist.txt
И на выходе получаем «краказябры» из которых можно разобрать только латиницу, да и то не всю. Проблема не большая, в блокноте заходим в Формат-Шрифт выбираем шрифт Terminal и, вуаля, все содержимое становиться читаемым.
Находим в списке компонент TelnetClient, он помечен как отключенный:
Имя функции : TelnetClient
Состояние : Отключен
Попробуем его включить, вводим:
dism /image:c:dismoffline /Enable-Feature /FeatureName:TelnetClient
система немного задумается и выдаст:
Все компонент включен.
Как отключить компонент:
Для примера, попробуем отключить компонент, список компонентов у нас уже есть, там находим компонент Solitaire да это тот самый «Селитёр», который так любят сотрудники и так ненавидят «эффективные руководители», потому что он ворует рабочее время- настоящий негодяй, он должен умереть…
dism /image:c:dismoffline /Disable-Feature /FeatureName:Solitaire
Система немного подумает, правда удаляет компонент система быстрее чем добавляет, оно и понятно, ломать- не строить…
Заключительная часть
Работа с образом завершена, нам необходимо сохранить изменения и отмонтирвоать образ:
dism /Unmount-Wim /MountDir:C:dismoffline /Commit
Запуститься процесс сохранения изменений, занимает примерно 1-2 мин, по окончании которого, нам выдаст нечто подобное:
Если вы что-то забыли, то образ можно легко подключить снова и добавить нужное.
Теперь нам необходимо собрать, из полученного, образ установочного диска.
Наш получившийся дистрибутив лежит в c:dismiso единственная проблема в том что он не является загрузочным, в принципе это проблемой не является и мы сейчас соберем из него полноценный образ ISO, который, в последствии, можно нарезать на DVD-R болванку.
Сборка образа установочного диска Windows (ISO)
Т.к. файлы операционной системы у нас лежат в папке:
c:dismiso
Тогда получившийся ISO образ мы назовем windows.iso и выложим в:
c:dism
Тогда путь к нему, будет выглядеть:
c:dismwindows.iso
Чтобы сделать образ загрузочным, нам нужны некоторые файлики, которые идут в комплекте WAIK т.к. образ операционной системы у нас имеет архитектуру x64, то и загрузчик нам нужен соответствующий.
в папке Dism создадим папку boot, но ручную ее создавать не нужно, она создастся автоматически при копировании, открываем командную строку от имени администратора и пишем туда:
Перейдем в папку с утилитами:
cd c:Program FilesWindows AIKToolsPETools
И копируем утилиты под необходимую нам архитектуру:
copype.cmd amd64 c:dismboot
За одно, добавим на наш диск тест памяти, много места он не займет, а в случае возникновения, неведомых проблем, сильно облегчит жизнь
copy c:WindowsBootPCATmemtest.exe c:dismbootISOboot
Теперь Возвращаемся в командную строку, где мы работали с DISM и там вводим:
oscdimg -n -m -o -bc:dismbootetfsboot.com c:dismiso c:dismwindows.iso
Начнется сборка образа, по окончании которой, в папке dism появится файл windows.iso, это и есть наш готовый дистрибутив, который можно нарезать на болванку или подключить к виртуальной машине и пользоваться.
Процесс сборки выглядит так:
Альтернативный вариант использования образа
Нарезать болванку не обязательно, вы всегда из этого сможете собрать установочный USB-флеш диск, о том как это сделать, можно прочитать в статье: Установка Windows 8 c USB флеш диска, по мне, так это самый годный вариант, т.к. жечь пластик ради одного раза, считаю не правильным, да и вся техника, которая выпущена в течении последних 3-4х лет, поддерживает загрузку с USB.
На вашей совести остается тестирование того, что мы с вами наворотили…
На этой оптимистической ноте, позвольте закончить, ну и все как всегда-возникли вопросы, прошу в комментарии, нашли ошибку, то пишите в личку.
На этом все.
When an environment evolves (growth, mergers, different needs) you have might very well have resource needs above and beyond the limits of the original Windows edition that was installed. Scaling out might not the right (or possible) solution you so scale up is alternative option. Today with Windows Server 2008 R2 this is very easy. However, again and again I see people resorting labor intensive and often tedious solutions. Some go the whole 9 yards and do a complete clean install and migration. Others get creative and do a custom install with the windows media to achieve an in place upgrade. But all this isn’t needed at all. Using DISM (Windows Edition-Servicing Command-Line Options) you can achieve anything you need and every role, feature, app on your server will remain in good working condition. Recently I had to upgrade some standard edition Hyper-V guest servers to the enterprise edition to make use of more than 32 GB of RAM. Another reason might be to move from Windows Server 2008 R2 Enterprise Edition to Data Center Edition for hyper-v host to make use of that specific licensing model for virtual machines.
Please note the following:
- You can only do upgrades. You CANNOT downgrade
- The server you upgrade cannot be a domain controller (demote, upgrade, promote)
- This works on Standard, Enterprise edition, both full & core installations.
- You cannot switch form core to full or vice versa. It’s edition upgrade only, not for switching type of install.
This is how to find the possible target editions for your server:
C:Windowssystem32>DISM /online /Get-TargetEditions Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Editions that can be upgraded to: Target Edition : ServerDataCenter Target Edition : ServerEnterprise The operation completed successfully.
So I went to Enterprise Edition by executing this process takes some time but is painless but for one reboot.
C:Windowssystem32>Dism /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Starting to update components... Starting to install product key... Finished installing product key. Removing package Microsoft-Windows-ServerStandardEdition~31bf3856ad364e35~amd64~~6.1.7601.17514 [==========================100.0%==========================] Finished updating components. Starting to apply edition-specific settings... Restart Windows to complete this operation. Do you want to restart the computer now (Y/N)?
You either use a MAK key (if you don’t have a KMS server) or the default key for your volume license media. When you have KMS in place (and the matching server group KMS key A, B, or C) the activation will be done automatically and transparent for you. Standard trouble shooting applies if you run into an issue there.
These are the public keys for use with a KMS server:
- Windows 7 Professional – FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
- Windows 7 Professional N – MRPKT-YTG23-K7D7T-X2JMM-QY7MG
- Windows 7 Enterprise – 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
- Windows 7 Enterprise N – YDRBP-3D83W-TY26F-D46B2-XCKRJ
- Windows 7 Enterprise E – C29WB-22CC8-VJ326-GHFJW-H9DH4
- Windows Server 2008 R2 HPC Edition – FKJQ8-TMCVP-FRMR7-4WR42-3JCD7
- Windows Server 2008 R2 Datacenter – 74YFP-3QFB3-KQT8W-PMXWJ-7M648
- Windows Server 2008 R2 Enterprise – 489J6-VHDMP-X63PK-3K798-CPX3Y
- Windows Server 2008 R2 for Itanium-Based Systems – GT63C-RJFQ3-4GMB6-BRFB9-CB83V
- Windows Server 2008 R2 Standard – YC6KT-GKW9T-YTKYR-T4X34-R7VHC
- Windows Web Server 2008 R2 – 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Don’t worry this is public information (KMS Client Setup Keys), these will only activate if you have a KMS server and the to key make that KMS server work.
Either way there is no need for reinstall & migration or upgrade installation in for a simple upgrade scenario So do your self a favor and always check if you can use DSIM to achieve your goals!
Поработав с Windows Server 2008 R2, можно заметить, что многие изменения никак нельзя классифицировать как небольшие или нарастающие. Так, после установки первой системы Server 2008 R2 я хотел автоматизировать добавление нескольких ролей и функций.
Поработав с Windows Server 2008 R2, можно заметить, что многие изменения никак нельзя классифицировать как небольшие или нарастающие. Так, после установки первой системы Server 2008 R2 я хотел автоматизировать добавление нескольких ролей и функций. Я обратился к Servermanagercmd и обновленной OCSetup, чтобы посмотреть, как они работают под R2, и получил сообщение: Servermanagercmd is deprecated, and is not guaranteed to be supported in future releases of. Версия Server 2008 R2 предлагает не один, а два новых инструмента командной строки для добавления, удаления и изменения ролей и функций: несколько команд PowerShell, для запуска которых необходим Microsoft.NET 3.5, и автономную команду DISM (Deployment Image Servicing and Management), для которой совсем не нужен .NET.
Роли и функции
Прежде всего, DISM показывает все возможные роли и функции, а также состояние, установлены они или нет, — почти так же, как это делала команда Servermanagercmd -Query. Для получения этого списка введите:
dism/online/get-features
DISM выдаст несколько экранов вывода, например:
Name: FaxServiceRole
State: Disabled
Feature Name: Printing-Server-Role
State: Enabled
Видно, что включена роль, которую DISM называет Printing-Server-Role; роль, которую Server 2008 R2 называет Print and Document Services в Server Manager; роль Fax Server выключена. Иногда трудно догадаться, какие имена в DISM соответствуют тем или иным функциям; до сих пор я не знаю, как преобразовывать имена Server-Manager в имена DISM. Чтобы установить роль Fax Server, вводим:
dism/online/enable-feature: FaxServiceRole
В отличие от команды Servermanagercmd, которая могла бы установить только одну роль или функцию на команду (пока вы не осилили довольно сложный язык XML, чтобы устанавливать несколько функций сразу), команда DISM позволяет устанавливать несколько ролей и функций с немного различающимся синтаксисом:
dism/online/enable-feature
/featurename: [featurename]/featurename: [featurename]
Например, чтобы установить службу факса и роль сервера DNS в одной команде, можно ввести
dism/online/enable-feature
/featurename: DNS-Server-Full-Role
/featurename: FaxServiceRole
Для того чтобы удалить одну или несколько функций с помощью DISM, надо просто заменить /enable-feature на /disable-feature.
Команда DISM контролирует функции в Windows 7. Например, если необходимо установить Windows без игр, можно просто ввести команду:
dism/online/disable-feature: InboxGames
DISM также устанавливает зависимости среди ролей и функций. Если попытаться установить роль или функцию, которой необходима другая неустановленная роль или функция, то поступит запрос, надо ли установить недостающие элементы.
Погрешности
Команда Servermanagercmd была неплохим инструментом, только непонятно, почему разработчики Microsoft встроили ее поверх .NET. Это не позволяло команде работать на Server Core и требовало наличия OCSetup, другого инструмента для настройки ролей и функций с помощью командной строки. Создатели DISM освободили ее от такой зависимости, поэтому DISM работает не только на Server 2008 R2 с графическим интерфейсом, но и на Server Core R2 и даже в среде Windows Preinstallation Environment (PE) 3.0.
Как видно, DISM предлагает много ценных возможностей, однако есть у нее и недостатки. Больше всего досаждает упорство в определенных случаях по поводу имен функций. Например, я ввел:
dism/online/disable-feature: inboxgames
DISM мне сообщает: Feature name inboxgames is unknown. Далее обработка данных по ситуации восходит к администрации Эйзенхауэра. Я не знаю C++, но все же знаю, что для строки с именем mystring я могу преобразовать строку к нижнему регистру следующим образом:
for (j=1; j =tolower (mystring [j]);
Я уже упомянул о недостаточной ясности наименований функций и соответствии их функциональности. Что такое BusScan-ScanServer? Ни Google, ни Bing не предлагает помощи, можно только догадываться, что речь идет о новой функции сервера, которая поддерживает централизованное сканирование. Даже в случае известных ролей, например DNS или DHCP, имена остаются загадкой: почему DNS имеет имя DNS-Server-Full-Role, а DHCP — это DHCPServer?
Как есть, без прикрас…
Несмотря на некоторые недостатки, возможность команды DISM добавлять и удалять функции Windows очень полезна для автоматизации развертывания сервера или настольного компьютера. Стоит потратить немного времени, чтобы побольше узнать об этом.
Марк Минаси (mark@minasi.com) — редактор Windows IT Pro, MCSE и автор книги Mastering Windows Server 2003 (издательство Sybex)
- Remove From My Forums
-
Question
-
Ho do I run the command
dism /online /cleanup-image /spsuperseded to clean up winsxs folder in windows 2008 SP2.I got message /online command works only in windows 2008 r2,and in windows 2008 sp2 it needs to be run in offline,can any one give idea how i run this command
in windows 2008 sp2-
Changed type
Monday, April 23, 2012 6:25 AM
-
Changed type
Answers
-
Hello,
Firstly, please keep in mind that WinSXS folder is an important directory that keeps the shadow copy of the important system files, which gets changed during any installation of Patches or Updates or software. With the use of WinSXS Folder all system files
can be reverted back to the stage where it was before installation of Patch/Update. Hence, it’s not wise to wipe the WinSxS folder.Secondly, just like the warning message suggested, DISM can only be used in Windows 7 and Windows Server 2008 R2 (Not in Windows Vista or in Windows Server 2008). For Windows Server 2008 SP2 or Windows Vista SP2, there is tool called Windows Component Clean
Tool (COMPCLN.EXE).Refer to: Windows Component Clean Tool
http://technet.microsoft.com/en-us/library/dd351467(v=WS.10).aspx#BKMK_COMPCLN•Windows Vista or Windows Server 2008 Service Pack 1: VSP1CLN.EXE
•Windows Vista or Windows Server 2008 Service Pack 2: Compcln.exe
•Windows 7 or Windows Server 2008 R2 Service Pack 1: DISM /online /Cleanup-Image /SpSuperseded or Disk Cleanup Wizard (cleanmgr.exe)Thanks
Zhang-
Edited by
Boo_MonstersInc
Tuesday, April 17, 2012 5:25 AM -
Marked as answer by
Boo_MonstersInc
Monday, April 23, 2012 6:42 AM
-
Edited by
Одним из нововведений в Windows Server 2008 R2 является утилита DISM . Она пришла на смену программе OCSETUP и предназначена для установки и настройки ролей и компонентов сервера, причем ее можно использовать как с работающей операционной системой, так и с образами Windows (Windows image, WIM) и с виртуальными жесткими дисками (VHD).
Функционал DISM огромен, и одной из полезных функций утилиты является возможность изменения редакции операционной системы без использования установочного диска. Эта возможность — эквивалент Windows Anytime Upgrade в Windows 7. Обновление может быть выполнено в онлайн или автономном режиме в обеих вариантах установки — полная установка и установка в режиме ядра (Server Core).
Обновление с помощью DISM производится очень быстро и не требует полной переустановки операционной системы. Все роли и компоненты, развернутые на сервере, а также другие характеристики (имя компьютера, пользователи, настройки приложений, и т.д.) сохраняются.
Обновление редакции ограничивается текущей версией операционной системы и вариантом установки (нельзя перейти от полной установки к Server Core и наоборот). Вот возможные варианты обновления:
- Windows Server 2008 R2 Standard — > Windows Server 2008 R2 Enterprise — > Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Standard Server Core — > Windows Server 2008 R2 Enterprise Server Core — > Windows Server 2008 R2 Datacenter Server Core
- Windows Server 2008 R2 Foundation — > Windows Server 2008 R2 Standard
Также имейте в виду, что изменения являются необратимыми, и вы не сможете понизить редакцию ОС после того, как произвели обновление.
Описание процесса
Утилита DISM.exe входит в комплект установки Windows Server 2008 R2, поэтому для обновления нам потребуется только действительный 25-значный продукт ключ для редакции, на которую мы планируем перейти.
Сначала определяем текущую редакцию ОС:
DISM /online /Get-CurrentEdition
Затем определяем редакции, на которые возможен переход:
DISM /online /Get-TargetEditions
И, наконец, запускаем обновление:
DISM /online /Set-Edition:<edition ID> /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Так, например, для обновления Windows Server 2008 R2 Standart до Enterprise:
DISM /online /Set-Edition:ServerEnterprise /ProductKey:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE
По завершению операции соглашаемся на требование перезагрузки и ждем минут 5-10. Система пару раз перезагружается, применяя сделанные изменения. Затем заходим на сервер и активируем Windows с новым ключом. Переход на новую редакцию состоялся.
Некоторые проблемы, с которыми можно столкнуться при обновлении:
1. Если сервер является контролером домена (DC), то его нельзя обновлять подобным образом. Сначала DC надо понизить до обычного сервера (передав перед этим роли FSMO другому DC), затем обновить редакцию, а потом снова повысить до контролера домена.
2. При обновлении вы можете получить сообщение о том, что указанный ключ продукта не подходит для выбранной редакции (The specified product key is not valid for the target edition).
В этом случае можно воспользоваться временным ключом от Microsoft: 489J6-VHDMP-X63PK-3K798-CPX3Y. С его помощью можно провести обновление, а затем зайти в систему и активировать ОС уже со своим ключом продукта.
3. При использовании KMS ключа для активации надо проделать следующие действия:
- Открыть cmd и перейти в директорию system32;
- slmgr.vbs -ckms — очистить текущую KMS запись;
- slmgr.vbs -upk — удалить другие установленные ключи продукта;
- slmgr.vbs -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx — установить новый ключ;
- slmgr.vbs -ato — активировать ОС.
Вот вроде и все. Удачного обновления 🙂
Содержание
DISM: проверка и восстановление системных компонентов образа Windows 10
Для проверки целостности системных файлов и восстановления поврежденных файлов (библиотек) компонентов в Windows (Windows Server) можно использовать команды SFC и DISM (Deployment Image Servicing and Management). Данные утилиты могут быть крайне полезными, если операционная система Windows работает нестабильно, появляются ошибки при запуске стандартных приложений или служб, после вирусного заражения и т.д.
Выполнить полное сканирование хранилища компонентов на наличие повреждений в системных образа Windows (выполняется довольно долго от 10 до 30 минут) —
DISM /Online /Cleanup-Image /ScanHealth
В Windows 7 / Windows Server 2008 R2, чтобы работал параметр DISM /ScanHealth нужно установить отдельное обновление KB2966583 (x32) или KB2966583 (x64) (иначе при запуске DISM будет появляться “Ошибка 87. Параметр ScanHealth не распознан в этом контексте”). Кроме, того эта же команда в Windows 7 используется для проверки хранилища и восстановления системных файлов (нет ключей /CheckHealth и /RestoreHealth).
Если команда /ScanHealth возвращает ошибки:
Хранилище компонентов подлежит восстановлению (The component sore is repairable);
Ошибка: 1726. Сбой при удалённом вызове процедуры;
Ошибка: 1910. Не найден указанный источник экспорта объекта.
Это однозначно говорит о том, что ваш образ Windows 10 поврежден и его нужно восстановить.
Чтобы исправить ошибки, автоматически скачать и заменить файлы повреждённых или отсутствующих компонентов эталонными версиями файлов (библиотек) из центра обновлений Windows (на компьютере должен быть доступ в Интернет), выполните:
DISM /Online /Cleanup-Image /RestoreHealth
Если на компьютере (сервере) отсутствует доступ в Интернет или отключена служба Windows Update, то при восстановлении хранилища компонентов появляются ошибки вида:
0x800f0906 — Не удалось скачать исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (0x800f0906 — The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature);
Ошибка: 0x800f0950 — Сбой DISM. Операция не выполнена (0x800f0950 — DISM failed. No operation was performed);
Ошибка: 0x800F081F. Не удалось найти исходные файлы. Укажите расположение файлов, необходимых для восстановления компонента, с помощью параметра Источник (Error 0x800f081f, The source files could not be found. Use the «Source» option to specify the location of the files that are required to restore the feature).
Вы можете указать WIM или ESD файл с оригинальным установочным образом Windows, который нужно использовать в качестве источника для восстановления файлов компонентов системы. Предположим, вы смонтировали установочный ISO образ Windows 10 в виртуальный привод F:. Для восстановления хранилища компонентов из образа используйте одну из команд:
DISM /online /cleanup-image /restorehealth /source:F:sourcesinstall.wim
Или:
DISM /online /cleanup-image /restorehealth /source:F:sourcesinstall.esd
Чтобы запретить использовать центр обновлений Windows в Интернете, и выполнять сканирование и восстановление образа Windows только из локального WIM/ESD файла:
DISM /online /cleanup-image /restorehealth /source:F:sourcesinstall.wim /limitaccess
Или:
DISM /online /cleanup-image /restorehealth /source:F:sourcesinstall.esd /limitaccess
dism /online /cleanup-image /restorehealth /limitaccess
Восстановление поврежденного хранилища компонентов Windows 10/Server 2016 с помощью PowerShell
В версии PowerShell в Windows 10 и Windows Server 2016/2019 есть аналоги рассмотренных выше команд DISM. Для сканирования хранилища компонентов и поиска повреждений в образе выполните в PowerShell:
Repair-WindowsImage -Online –ScanHealth
Если ошибок в хранилище компонентов не обнаружено, появится сообщение:
ImageHealth State: Healthy
Для запуска восстановления системных компонентов и файлов наберите:
Repair-WindowsImage -Online -RestoreHealth
При отсутствии доступа к интернету эта команда может зависнуть в процессе восстановления образа. Вы можете восстановить системные компоненты из локальной копии образа Windows в виде WIM/ESD файла, скопированного с установочного ISO образа Windows 10:
Repair-WindowsImage -Online -RestoreHealth -Source F:sourcesinstall.wim:1
Где, 1 – индекс используемой у вас редакции Windows из WIM или ESD файла (список редакций Windows в WIM файле можно вывести так:
Get-WindowsImage -ImagePath "F:sourcesinstall.wim"
Источник: winitpro.ru
- Telegram
- Vk
Jun 19, 2012
Sometimes in the Enterprise environment there is a need to upgrade the version of Windows Server. With Windows 2008 R2 this is an easy task with DISM command and a KMS server. You can also use the command if you have a MAK key as well. Using DISM you can upgrade and every role, feature, app on your server will remain after the upgrade.
A few caveats:
- You can only do upgrades. You CANNOT downgrade
- The server you upgrade cannot be a domain controller (demote, upgrade, promote)
- This works on Standard, Enterprise edition, both full & core installations.
- You cannot switch form core to full or vice versa. It’s edition upgrade only, not for switching type of install.
First we need to see the possible target editions for your server. Open a command prompt and type. The server I executed the command on is running Windows 2008 R2 Standard Edition.
C:Windowssystem32>DISM /online /Get-TargetEditions Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Editions that can be upgraded to: Target Edition : ServerDataCenter Target Edition : ServerEnterprise The operation completed successfully.
From the output of the command I see I can upgrade to DataCenter and Enterprise Editions. In this example I upgraded to Enterprise Edition by executing the following command. After running the command the server will need to be rebooted to complete the upgrade, you will have the option presented after running the command.
The syntax is:
DISM /online /Set-Edition: /ProductKey:
C:Windowssystem32>Dism /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Starting to update components... Starting to install product key... Finished installing product key. Removing package Microsoft-Windows-ServerStandardEdition~31bf3856ad364e35~amd64~~6.1.7601.17514 [==========================100.0%==========================] Finished updating components. Starting to apply edition-specific settings... Restart Windows to complete this operation. Do you want to restart the computer now (Y/N)?
When you have KMS (Key Management Server) in the activation will be done automatically and transparent for you.
Here are the public keys for use with a KMS server:
- Windows Server 2008 R2 HPC Edition – FKJQ8-TMCVP-FRMR7-4WR42-3JCD7
- Windows Server 2008 R2 Datacenter – 74YFP-3QFB3-KQT8W-PMXWJ-7M648
- Windows Server 2008 R2 Enterprise – 489J6-VHDMP-X63PK-3K798-CPX3Y
- Windows Server 2008 R2 for Itanium-Based Systems – GT63C-RJFQ3-4GMB6-BRFB9-CB83V
- Windows Server 2008 R2 Standard – YC6KT-GKW9T-YTKYR-T4X34-R7VHC
- Windows Web Server 2008 R2 – 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Don’t worry this is public information KMS Client Setup Keys, these will only activate if you have a KMS server and the key make that KMS server work.
Using the DISM command makes upgrades and migration a lot simpler!!!
Trackbacks/Pingbacks
В процессе эксплуатации Windows Server 2008 R2 системный администратор может столкнутся с ограничениями установленной редакции ОС, которые не позволяют воспользоваться тем или иным функционалом сервера, например в редакции 2008 R2 Standard нельзя использовать более 32 Гб оперативной памяти, или развертывать решения Failover Cluster, RRAS, RDS и т.д. В предыдущих версиях Windows Server в такой ситуации приходилось полностью переустанавливать систему на «старшую» редакцию ОС. В Windows Server 2008 R2 из этой ситуации есть выход, т.к. в ней существует возможность обновиться до старшей версии ОС (например, с редакции Standard до Enterprise) без переустановки сервера.
Обновление выполняется при помощи утилиты DISM, и может быть выполнено как в автономном (офлайн) режиме, так и прямо в процессе работы сервера (онлайн режим). Обновление не требует переустановки системы, и текущие настройки сервера (роли, компоненты и другие приложения) сохраняются. Обновление возможно, как в режиме Server Core, так и в Full GUI версии Windows 2008 R2, однако следует понимать, что переход от версии Server Core к полной установке 2008 R2 невозможен (в Windows Server 2012 возможно переключатся между Full и Core режимами). Возможно обновление с младшей редакции Windows Server 2008 R2 до старшей версии, обратная процедура понижения редакции (даунгрейд) невозможна.
Доступные варианты обновления редакции Windows Server 2008 R2:
- Windows Server 2008 R2 Standard —> Windows Server 2008 R2 Enterprise —> Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Standard Server Core —> Windows Server 2008 R2 Enterprise Server Core —> Windows Server 2008 R2 Datacenter Server Core
- Windows Server 2008 R2 Foundation —> Windows Server 2008 R2 Standard
Итак, утилита DISM.exe уже входит в комплект поставки Windows Server 2008 R2 и дополнительно устанавливать ничего не нужно.
Чтобы узнать текущую версию Windows Server 2008 R2, в командной строке выполните команду:
DISM /online /Get-CurrentEdition
Если команда вернет ServerStandard, это означает что текущая редакция установленной ОС — Windows Server 2008 R2 Standard.
Получим список редакций, до которых нам можно проапгрейдится:
DISM /online /Get-TargetEditions
В данном случае возможно обновление до версий:
- Windows Server 2008 R2 Datacenter (ServerDataCenter)
- Windows Server 2008 R2 Enterprise (ServerEnterprise)
Чтобы выполнить обновление до Windows 2008 R2 Enterprise выполните команду:
DISM /online /Set-Edition:ServerEnterprise /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Где XXXXX-XXXXX-XXXXX-XXXXX-XXXXX – приобретенный Вами ключ продукта для соответствующей редакции Windows 2008 R2.
В том случае, если для активации планируется использовать сервер KMS, воспользуйтесь KMS ключом для Windows Server 2008 R2 Enterprise (так называемый GVLK ключ).
Windows Server 2008 R2 Enterprise | 489J6-VHDMP-X63PK-3K798-CPX3Y |
Windows Server 2008 R2 Datacenter | 74YFP-3QFB3-KQT8W-PMXWJ-7M648 |
KMS ключ поможет также в том случае, если с помощью Вашего MAK / retail ключа от соответствующей версии Windows Server обновиться не получается. Не забудьте после обновления изменить KMS ключ на ваш с помощью команды:
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
В том случае если сервер, который планируется обновить, является контроллером домена Active Directory, необходимо перед обновлением версии ОС выполнить с помощью команды DCPROMO понижение роли сервера до рядового сервера домена, и лишь затем выполнить апгрейд версии ОС. После этого сервер нужно перезагрузить и опять поднять на нем контроллер домена.
В процессе обновления версий могут появиться такие ошибки:
- Setting an Edition is not supported with online images – скорее всего на сервере развернута роль контроллера домена Active Directory (роль AD DS). Как мы уже говорили выше – необходимо понизить роль сервера для рядового сервера домена.
- The specified product key is not valid for the target edition. Run this command again with a product key specific to the target edition – по какой-то причине ОС не принимает указанный ключ, если вы уверены, что ключ валидный и соответствует редакции Windows Server, до которой проводится обновление, проведите обновление с KMS ключом (список ключей выше)