c’t 12/2025
Het einde van Windows 10 - of niet?
Cover van

Om het commandline-programma DISM goed te kunnen gebruiken, moet je je er wel eerst in verdiepen. Deze introductie helpt je met de eerste stappen.

Lees verder na de advertentie

DISM van Microsoft kan bij Windows-installaties functies, stuurprogramma’s, updates en taalpakketten toevoegen of verwijderen, Windows-images naar een schijf schrijven, bewerken, opnieuw verpakken en nog veel meer.

De afkorting DISM betekent Deployment ­Image Servicing and Management. Microsoft omschrijft het als ‘a command-line tool that can be used to service and prepare Windows images’.

Aangezien de officiële naam niet meteen duidelijkheid biedt en ook veel te lang is voor dagelijks gebruik, wordt meestal de afkorting DISM gebruikt. Het programma heeft geen grafische userinter­face, dus het is zuiver bedoeld voor de commandline.

Tip!

De laptop waar kracht, creativiteit en AI samenkomen!
De laptop waar kracht, creativiteit en AI samenkomen!

Ontworpen voor creators en professionals: configureer jouw eigen ASUS ProArt P16 nu.

De naam van het uitvoerbare bestand is dism.exe. Je kunt het oproepen vanuit Opdrachtprompt of Power­Shell, maar in beide gevallen moet die draaien met administratorrechten.

Image

Wanneer je voor de eerste keer met DISM aan de slag gaat, is de term image in de naam vaak verwarrend, daarom hier eerst een korte uitleg. Een ­image is een verzameling van mappen en submappen en de bestanden die ze bevatten.

Een image bevat ook metadata zoals attributen en objecten van het NTFS-bestandssysteem (toegangsrechten, reparse-­points zoals junctions en hardlinks…). Zo kan een image alles bevatten wat zich op een Windows-pc op de C: schijf bevindt – en wanneer dat het geval is spreken we meestal over een Windows-image.

Maar een image kan willekeurige bestanden bevatten, bijvoorbeeld de inhoud van D:fotosvakantie. Een image is dus een afbeelding van een logische schijf (volume) of een map daarop, maar kan geen bestanden bevatten die zich in de originele situatie over meerdere logische schijven uitstrekken.

Images kun je verpakken in een archiefbestand in het bestandsformaat Windows Image. Dat heeft normaal gesproken de extensie .wim, vandaar de aanduiding WIM-bestand. Er zijn ook WIM-bestanden met de extensie .esd.


Meer workshops en tips en trucs lezen? Blijf op de hoogte via onze wekelijkse nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Daarin zitten bijzonder sterk gecomprimeerde images voor het verspreiden via downloaden (esd staat voor Electronic Software Distribution). Als je images over meerdere WIM-bestanden opdeelt, krijgen die de extensie .swm (Splitted WIM).

In eerste instantie kun je WIM -bestanden opvatten als ziparchieven, maar een WIM-bestand kan niet slechts één, maar meerdere images bevatten. Daarbij worden slimme compressiemethoden ­gebruikt. Images kunnen op hun beurt weer WIM -bestanden en dus ook andere images bevatten. Images kunnen in WIM-bestanden zitten, maar dat hoeft niet. Ze kunnen bijvoorbeeld in VHD/VHDX-­bestanden zitten, de virtuele harde schijven daarin zijn voor DISM dus eveneens images.

De hoofdzaak: vanuit DISM gezien is zelfs een draaiende Windows-installatie uiteindelijk slechts een image, dus de inhoud van schijf C: (meer precies: van %systemdrive%). De bootloader en de recoverypartitie, die normaal gesproken op voor Verkenner niet zichtbare, aparte partities staan, maken geen deel uit van de Windows-image, maar zijn afzonderlijke images.

Je kunt met DISM dus images bewerken die in WIM-bestanden verpakt zijn, maar ook Windows-installaties – en daarbij maakt het niet uit of ze op dat moment draaien of niet. Maar afhankelijk van de toestand van een image heeft DISM verschillende mogelijkheden, en juist bij draaiende Windows-­installaties zijn dat er heel veel.

Behalve de hierboven genoemde Windows-­images zijn er nog andere Windows-achtige images die je ook met DISM kunt bewerken. Dat zijn ­images met Windows PE. PE staat voor Preinstallation Environment. Daarbij gaat het om het minibesturingssysteem dat bijvoorbeeld opstart van een Windows-set-up-stick en waarin het eigenlijke installatieproces draait.

Een minibesturingssysteem dat sterk lijkt op PE is Windows RE (Recovery Environment). Dat is het systeem dat opstart van de reeds genoemde herstelpartitie als de eigenlijke Windows-installatie dat niet meer kan.

Eerste stappen

De eerste stappen met DISM zijn het makkelijkst als je het gewoon zelf uitprobeert – en dan op zo’n manier dat er niets fout kan gaan. We tonen hier twee voorbeelden.

Ten eerste is dat het bewerken van de dataset van een Windows-installatie op een set-up-stick, zoals je die bijvoorbeeld met de Media Creation Tool zelf kunt maken. Ten tweede is dat het verwijderen van voorgeïnstalleerde apps.

Als je beide succesvol hebt afgerond, kun je die kennis makkelijk gebruiken bij andere DISM-operaties, omdat ze allemaal op dezelfde manier verlopen.

Of je Power Shell of Opdrachtprompt voor de eerste stappen gebruikt, is een kwestie van smaak.

PowerShell heeft extra DISM-cmdlets, maar die kunnen niet meer dan wat dism.exe sowieso al kan. Hoewel de namen van de cmdlets vaak overeenkomen met de originele DISM-commando’s, zijn ze niet altijd hetzelfde.

Als je de DISM-cmdlets wilt gebruiken, zul je een iets andere syntax leren dan wanneer je dism.exe gebruikt. Dat zou niets uitmaken als PowerShell overal beschikbaar zou zijn, maar dat is niet zo. Zowel Windows PE als Windows RE moeten het doen zonder PowerShell. Om daar DISM te gebruiken, moet je dus sowieso Opdrachtprompt gebruiken (meer precies: dism.exe), en dan kun je die meteen ook overal gebruiken.

Je kunt een eerste indruk van DISM krijgen door simpelweg dism bij Opdrachtprompt in te typen. Dat resulteert in een lange lijst van opties, die op nieuwkomers een afschrikkend effect kunnen hebben. Maar de namen van de commando’s en opties volgen een uniform schema, en veel ervan werken op dezelfde manier.

Het belangrijkste is dat de toevoeging /get-help of het kortere /? voor elk subcommando en elke optie een aparte uitleg oproept. In de praktijk maakt het niet uit of het een commando of een optie is, want beide worden aan dism.exe doorgegeven met een ervoor geplaatste schuine streep (/).

De helpfunctie vertelt waar een commando of optie goed voor is, welke andere gegevens vereist zijn, en welke opties optioneel zijn. In de meeste gevallen geeft die functie ook voorbeelden.

Het eerste commando

Voor de eerste experimenten is het handig een aparte usb-stick van 16 of 32 GB te gebruiken. Download de  Media Creation Tool (MCT)  en richt daarmee een stick in als Windows-set-up-stick.

Daarbij wordt er onder andere een WIM-bestand op de stick gezet, en die kun je met DISM bewerken zonder iets anders te beschadigen. Wanneer je het WIM-bestand per ongeluk beschadigt, kun je de stick met MCT gewoon opnieuw maken.

Het WIM-bestand staat op de stick in de map sources en heet install.esd. In dat bestand zitten Windows-images die het eveneens op de stick geplaatste set-upprogramma op een interne schijf kan installeren.

Het plan is nu om een image in het WIM-bestand zo te openen dat je het kunt veranderen door een paar bestanden toe te voegen. Tot slot wordt de image inclusief de veranderingen weer naar het WIM-bestand teruggeschreven. Wanneer het set-upprogramma die image later op een schijf installeert, zitten je veranderingen daar ook bij.

Kijk eerst eens naar de in het WIM-bestand opgenomen images. Dat doe je met het commando /Get-ImageInfo. Het onderdeel /Get– staat bij DISM-commando’s in principe voor het opvragen van informatie.

Zo’n commando veroorzaakt dus geen veranderingen. Aangezien het net als bijna alle DISM-commando’s te lang is om hem hier zonder afbreken af te drukken, staat hij hieronder wel over meer regels, maar moet je alle in dit artikel genoemde commando’s steeds op één enkele regel invoeren. Het gebruik van hoofd- of kleine letters speelt daarbij geen rol, maar komt de leesbaarheid wel ten goede.

Dism /Get-ImageInfo /ImageFile:H:sourcesinstall.esd

Het commando krijgt via /ImageFile: te horen waar het bestand staat (hier H:sourcesinstall.esd). Let erop dat er voor de schuine streep een spatie staat, maar tussen de dubbele punt en het pad niet. Dat is bij DISM altijd zo!

Na een spatie verwacht het programma steeds de volgende optie of het­ ­volgende commando. Wanneer je een pad met spaties erin wilt doorgeven, moet je het daarom tussen dubbele aanhalingstekens zetten.

Tip: als je bij het intypen van paden de tab-aanvulling wilt gebruiken, zet dan achter de dubbele punt eerst nog een spatie, voer dan het pad met tab-aanvulling in en verwijder daarna de spatie achter de dubbele punt weer. Vooral bij lange paden spaart dat veel typewerk uit.

Na het uitvoeren van het commando geeft DISM informatie over de images in het opgegeven bestand. Voor iedere image wordt het indexnummer genoemd. Dat is een oplopende reeks. DISM geeft daarnaast de naam en de beschrijving van iedere image. Beide zijn vastgelegd door degene die de image oorspronkelijk in het WIM-bestand heeft gezet. Ook de grootte van iedere image wordt vermeld.

Voor de hierop volgende stappen gebruiken we de ­image Windows 10 Pro, die bij onze MCT-stick index­nummer 6 heeft. Over die image kun je met het commando /Get-ImageInfo ook weer meer informatie krijgen. Daarvoor hoef je er alleen een /Index:6 aan toe te voegen (ook hier geen spatie na de dubbele punt). Het hele commando ziet er dan zo uit:

Dism /Get-ImageInfo /ImageFile:H:sourcesinstall.esd /Index:6

Zodra je aan een commando dus niet alleen het pad van een WIM-bestand meegeeft, maar daarbij ook het indexnummer van een daarin opgenomen ­image, heeft het niet meer betrekking op het hele bestand, maar alleen op de uitgekozen image.

Er is overigens een commando dat op het eerste gezicht hetzelfde lijkt te doen: Get-WimInfo. De volgende regel:

Dism /Get-WimInfo /WimFile:H:SourcesInstall.esd

levert dezelfde output op als /Get-ImageInfo. Het verschil is dat /Get-WimInfo alleen met WIM- en ESD-bestanden overweg kan, en je met /Get-Image­Info ook informatie over bijvoorbeeld VHD/VHDX-bestanden kunt opvragen.

De twee commando’s laten één ding duidelijk zien: wanneer aan een commando een directory- of bestandspad meegegeven moet worden, wordt de naam van de optie van het eigenlijke commando afgeleid.

Zo moet je bij /Get-ImageInfo het pad achter /ImageFile: opgeven, terwijl /Get-Wim­Info het achter /WimFile: verwacht. Die wetenschap maakt het je later makkelijk om bij andere commando’s ook zonder dat je bij de helpfunctie hoeft te kijken kunt vermoeden of herinneren wat je moet intypen.

(Lees het volledige artikel van Axel Vahldiek en Noud van Kruysbergen in c’t magazine 3/2021, p. 134. Online versie: bewerkt door Alieke van Sommeren)

De allernieuwste uitgave
Het einde van Windows 10 – of niet?
€ 9.50
  • Ontdek hoe je veilig blijft zonder nieuwe pc te kopen.
  • Big Tech onder de loep
  • Alles over Wi-Fi 8
Bestel nu
De allernieuwste uitgave

Tip!

Alles voor jouw werkplek
Alles voor jouw werkplek

Ben je opzoek naar nieuwe hardware, software of accessoires?
Je vindt het in onze computerwinkel!

0

Praat mee

Abonneer
Laat het mij weten wanneer er
0 Reacties
oudste
nieuwste

Inspiratie in je mailbox

Blijf bij op IT-gebied en verbreed je expertise. Ontvang elke week artikelen over de laatste tech-ontwikkelingen, toepassingen, nieuwe hard- en software én ontvang tips en aanbiedingen.

Loginmenu afsluiten