Der Kommandozeilen Befehl DISM ist – seit Windows 7 – Bestandteil des Microsoft Betriebssystems Windows. Der Befehl dient zur Reparatur und Administration verschiedener Windows Komponenten und der Vorbereitung und Bereitstellung von Windows PE-Images. Blog-Leser Thomas B. hat sich die Mühe gemacht und die diversen, hier im Blog genannten, Einsatzgebiete für DISM in einem Gast-Beitrag zusammen getragen.
Anzeige
Erschöpfend lässt sich der Befehl DISM in dieser Übersicht nicht erklären, aber ich habe versucht eine Zusammenfassung aus allen Beiträgen dieses Blogs zu erstellen und etwas eigenes Wissen einfließen zu lassen.
Anmerken möchte ich das ich mich auf den Befehl DISM ab Windows Version 8 beziehe. Viele der Befehle funktionieren mit Windows 7 nicht. Außerdem wurde der Befehl mit jeder Windows Version erweitert.
DISM muss in einer administrativen Eingabeaufforderung ausgeführt werden [Anmerkung: siehe Windows 8: Administrative Eingabeaufforderung aufrufen]. Zu beachten ist das DISM mitunter recht lange arbeiten kann und eventuell während der Arbeitsphase längere Zeit keine Bildschirmausgabe erfolgt. Der Befehl sollte keinesfalls abgebrochen werden, die Folgen könnten je nach Befehlsausführung verheerend sein.
Wichtig: Falls ihr aus einer Windows PE/RE-Umgebung heraus DISM verwenden wollt/müsst, darf der /online-Schalter nicht verwendet werden. Dann verwendet ihr die Befehle zur Offline-Image-Verwaltung (dism /image:<Pfad_zum_Offlineabbildverzeichnis> [/WinDir:<Pfad_zu_%WINDIR%>] ) mit Pfadangaben! Die Pfadbeispiele C:\test\offline und X:\Source sind natürlich immer den eigenen Bedürfnissen anzupassen.
Windows Features aktivieren oder deaktivieren
Will man beispielsweise die Windows-Suche deaktivieren gibt man folgendes ein:
dism /Online /Disable-Feature /FeatureName:SearchEngine-Client-Package
Anzeige
Falls man obigen Befehl offline ausführen möchte muss man den Aufbau etwas abändern:
dism /Image:C:\test\offline /Disable-Feature
/FeatureName:SearchEngine-Client-Package
Das Ganze ist ein Befehl, der hier im Blog lediglich auf zwei Zeilen umbrochen wurde.
Das gilt im Folgenden auch für alle anderen DISM Befehle. Um die Windows Suche wieder zu aktivieren verwendet man diese Zeile:
dism /Online /Enable-Feature /FeatureName:SearchEngine-Client-Package
Eine Liste aller verfügbaren Windows-Features bekommt man mit:
dism /online /Get-Features /Format:Table
oder in der Offline Variante mit:
dism /Image:C:\test\offline /Get-Features /Format:Table
Analysieren, Überprüfen und Reparieren des Komponentenstores
Mit folgendem Befehl kann man sich Informationen zum Komponentenstore anzeigen lassen:
dism /Online /Cleanup-Image /AnalyzeComponentStore
Zum Überprüfen des Komponentenstores auf Beschädigungen verwendet man folgenden Befehl:
dism /Online /Cleanup-Image /ScanHealth
Das Überprüfen, ob am Komponentenstore eine Beschädigung erkannt wurde und ob diese repariert werden kann,, ist mit folgendem Befehl möglich:
dism /Online /Cleanup-Image /CheckHealth
Zum Reparieren der Komponentenstore auf Beschädigungen verwendet man folgenden Befehl:
dism /Online /Cleanup-Image /RestoreHealth
[Fehlen Dateien zur Reparatur des Komponentenstore, lassen sich diese aus einem Windows-Installationsabbild herausziehen.] Das Reparieren des Komponentenstores mithilfe einer Install.wim ist über folgenden Befehl möglich:
dism /Online /Cleanup-Image /RestoreHealth /Source:WIM:X:\Sources\Install.wim:1 /LimitAccess
Der Parameter /LimitAccess verhindert das DISM Windows Update (WU) kontaktiert. X:\Source ist natürlich mit euren Verzeichnisnamen zu ersetzen.
Manuelles Bereinigen des WinSxS-Ordners
Beim Installieren neuer Updates verbleibt eine Kopie der alten Komponenten im WinSxS erhalten. Dieser Ordner darf keinesfalls manuell gelöscht werden! In der Regel bereinigt Windows diesen Ordner mithilfe der Aufgabenplannung „StartComponentCleanup" nach einer gewissen Zeit von alleine. Wer allerdings Platz braucht kann mit folgenden DISM Befehl nachhelfen.
Anmerken möchte ich das ab Windows 7 unter Bereinigen die Windows Update-Bereinigung nachgerüstet wurde. Ob der folgende DISM Befehl noch gründlicher zu Werke geht habe ich noch nicht getestet. Ich glaube aber das der zusätzliche Parameter /ResetBase noch das eine oder andere MB rauskitzelt. Bereits installierte Updates können danach nicht mehr deinstalliert werden.
dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Manuelles Bereinigen installierter Service-Packs:
Nach Ausführen des folgenden Befehls ist eine Deinstallation eines Service-Packs unmöglich da alle Backup Komponenten des Service-Packs gelöscht werden
dism /online /Cleanup–Image /SPSuperseded /hidesp
Der Parameter /hidesp verhindert das das Service-Pack unter installierte Updates gelistet wird.
Windows Build-Nummer einer ISO-Datei ermitteln
Der folgende Befehl (ab Windows 8) ermöglicht die Version der install.wim abzufragen:
dism /Get-WimInfo /WimFile:X:\Sources\install.wim /index:1
Entfernen und Hinzufügen von Paketen
Entfernen von Paketen:
dism /Online /Remove-Package /Packagename:Package_namexxxx
Bestimmtes Paket (z. B. KB2919355) in einer organisierten Tabelle suchen:
dism /Online /Get-Packages /Format:Table | Findstr KB2919355
Hinzufügen von Paketen:
dism /Online /Add-Package /Packagename:Package_namexxxx
Anstehende (pending) Updates entfernen:
Nach der Installation von Windows Updates und den notwendigen Neustart kommt meist die Meldung „Einen Moment Geduld bitte" und ein Kreis dreht sich. Falls das bei jedem Neustart kommt oder der Rechner an dieser Stelle abstürzt kann man mit dem folgenden Befehl sein Glück versuchen:
dism /Online /Cleanup-Image /RevertPendingActions
Dieser Befehl sollte allerdings zwingend in einer Windows PE/Windows RE Umgebung ausgeführt werden.
dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions
Bereitstellung von Offline Images für die Wartung:
Ermittlung des Namens oder der Indexnummer:
Die Install.wim könnte beispielsweise
Index1: Windows 10 pro
Index 2: Windows 10 Home
enthalten. Darum sind der Index bzw. der Name bei der Bereitstellung des Offline Images wichtig. Wir wollen ja das richtige bereitstellen.
dism /Get-ImageInfo /ImageFile:C:\test\images\install.wim
Bereitstellung des Offline Images:
dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows 10 pro" /MountDir:C:\test\offline
Auch hier ist der Befehl in einer Zeile anzugeben.
So weit die Zusammenstellung der DISM-Befehle durch Thomas, für die ich mich an dieser Stelle herzlich bedanken möchte.
Eine Übersicht über die DISM-Befehlszeilensyntax für Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2 findet sich im Microsoft Artikel Globale DISM-Optionen für die Befehlszeilensyntax oder hier.
Ähnliche Artikel:
FAQs
Windows 8.1 Wiki
Windows 10 Wiki/FAQ
Windows 8: Administrative Eingabeaufforderung aufrufen
Windows 8: Komponentenstore reparieren
Windows Build-Nummer einer ISO-Datei ermitteln
Windows 8.1 Update-Bereinigung zerstört DISM
Windows 10: Falle bei sfc in Windows PE
Reimage Plus Repair – Reparatur-Tool oder Schlangenöl?
Installationsabbild für Windows 8.1 with Bing erstellen
Windows 8 als To Go-Installation – per Hand – Teil 3
Anzeige
Danke
für die Zusammenstellung, hab ich mir gleich gespeichert kann man sicher irgendwann mal gut gebrauchen.
DISM gibt es erst ab Windows 7. In Vista gab es 2 Tools (pkgmgr.exe und imagex.exe).
Ich dachte DISM wäre mit Vista Service Pack 1 oder 2 eingeführt worden. Allerdings konnte DISM nur wenig und es gab noch zusätzlich pkgmgr.exe und imagex.exe
nö, DISM gibt es erst ab Windows 7
Du hast Recht. Ich hätte auf Vista geschwört. Aber ich bin froh das du es verbesserst. DISM wurde mit Windows 7 eingeführt.
Ergänzungen, Kommentare und Verbesserungen sind ausdrücklich erwünscht und gefragt. Ich habe nur versucht zusammen zu tragen was ich hier finde und selber weiß. Mit eurer Hilfe wird der Beitrag noch viel besser. Schreibt einfach was ihr wisst und welche DISM Befehle ihr verwendet oder was vergessen wurde.
Noch etwas. Das /StartComponentCleanup /ResetBase geht nur ab 8.1, bei 8 gibt es /ResetBase noch nicht. Bei Win10 ist /ResetBase noch da, macht aber nix, da werden keine Dateien mehr gelöscht. Das hat MS gemacht, so dass sie die recovery partition einsparen können weil alle Daten noch auf der Platte sind.
Alleskönner hört sich gut an. Wie kann man ein /capture-image von Windows 10 auf eine andere Partition /apply-image'n? Das neue alte Windows startet dann zwar, aber nur bis vor die Anmeldung, schwarzer Bildschirm und Mauszeiger. Das Eventlog berichtet dann von einer ganzen Reihe nicht gestarteter Dienste, bei einigen, weil die Datei nicht gefunden wurde. Ich vermute also, das an einigen Stellen noch die Original-Partition verlangt wird, aber wegen Bitlocker nicht gelesen werden kann. Wie bringt man dism eine entsprechende Anpassung bei?
Boot-Eintrag ist natürlich gebaut. /apply-image auf externe Platte funktioniert auch regelmäßig, wobei dort kein Bitlocker läuft.
Das Windows, das auf einer anderen Partition nicht laufen wollte, läßt sich problemlos auf seine formatierte Ursprung-Partition zurücknudeln. Meine Vermutung könnte also richtig sein. Welche Variablen zeigen auf die Ursprung-Partition und wie ändere ich sie? Denn womöglich bedeutet das, daß die Partitionen zwischen Sichern und Wiederherstellen nicht geändert werden dürfen.
Problem gelöst: Der Inhalt von HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices muß in der Registry des Ziel vor dem ersten Starten gelöscht werden.
Danke für die Ergänzung.
Solange man den Inhalt von MountedDevices nach /apply-image vor dem Booten löscht, kann man mit dism sein Windows 10 von jede auf jede Partition kopieren, egal ob Bitlocker oder nicht, ob VHDX, größer oder kleiner, spielt alles keine Rolle. Ein passender Eintrag in BCD ist natürlich Vorraussetzung, muß aber für Wiederherstellungen auf derselben Partition nicht geändert werden.
Ich habe gerade versucht, die Systemresourcen meines Windows 10 Vers. 2004 zu reparieren mit dem Befehl 'Dism /Online /Cleanup-Image /RestoreHealth /Source:esd:E:\sources\install.esd:1 /LimitAccess' (unter dem Pfad befindet sich eine gemountetes Windows-ISO).
Leider bricht der Befehl immer noch ab, weil er die Quelle nicht findet. :-/ (Fehler 0x800f081f)
Dabei ist mir aufgefallen, dass meine DISM-Version 10.0.19041.329 ist, während die Abbildversion (neuestes Download von W10 mit dem Media Creation Tool) 10.0.19041.508 hat. Jetzt vermute ich die DISM Version sollte normal der Windows-Version entsprechen, was anscheinend bei dem letzten (kürzlichem) Win10 System-Upgrade nicht mit aktualisiert wurde. Auch habe ich gelesen, mit DISM lasst sich eine ältere aber keine neuere Version von Windows reaprieren. Deshalb die Frage, wie komme ich zu einer aktuellen Version von DISM und wie installiere ich diese korrekt auf manuellem Weg ?
Übrigens konnte ich keine Beschreibung zur Option '/LimitAccess' finden.
nö, meine DISM Version ist auch eine unter der Windows Version und Reparatur funktionierte ohne Probleme.
DISM: 10.0.19041.844
WIN: 10.0.19042.867
Ein Artikel über das sagenhafte GUI-Tool DISM++ wäre in diesem Zusammenhang einmal hilfreich!
https://www.chuyu.me/en
Hi zusammen,
dism.log sagt mir, dass ich 85 manifest-corruptions habe und mir 2 KBs fehlen. Diese sind leider nicht mehr im ms-update catalog enthalten. Ein side-by-side restore schlägt auch fehl, sowohl von der install.wim als auch von einem anderen (funktionierendem, aktuell gepatchtem) windows, mit dem hinweis, dass die "The source files could not be found"
Wie bereits erwähnt sind diese KBs nicht mehr verfügbar und die, die diese KBs abgelöst haben, die lassen sich weder per MSU-install noch mit dism /source:… installieren, mit der selben fehlermeldung dass dateien fehlen. Da es sich um ein unternehmensumfeld handelt, möchte ich diese KBs nicht von "shady websites" laden.
Habt ihr ideen?
Danke und gruß
Otomexprin