c’t 07/2026
Wat is er waar van IT-mythes?
Cover van
Cover voor Een overzicht van de EFI-systeempartitie: ontdek wat Windows verborgen houdt

Een overzicht van de EFI-systeempartitie: ontdek wat Windows verborgen houdt

De UEFI-bootloader voor Windows bevindt zich in een goed verborgen partitie. Een c’t-script laat zien welke bestanden deze bevat, en we leggen uit waarvoor ze dienen.

De EFI System Partition

Als een computer via UEFI moet opstarten, laadt de UEFI-bootmanager eerst de eigen bootmanager van Windows (Bootmgfw). Die geeft de controle door aan de Windows-loader, die uiteindelijk Windows opstart.

De eigen bootmanager en loader van Windows staan niet op schijf C:, maar in een aparte, speciale partitie met de naam EFI System Partition, afgekort ESP. Omdat die zo belangrijk is, verbergt Windows hem. In Verkenner is hij bijvoorbeeld niet te zien, en daar zijn goede redenen voor: als je daar per ongeluk bestanden verwijdert, start Windows niet meer op.

De inhoud van de ESP

Eén vraag bleef tot nu toe onbeantwoord: hoe kun je veilig een kijkje nemen in de ESP? Het gaat strikt genomen slechts om één enkele map, genaamd EFI, die in de hoofdmap staat. Daar staat alles in wat essentieel is.

Er bestaat in de hoofdmap van de ESP meestal nog een andere map genaamd System Volume Information. Die is verborgen en voorzien van zeer restrictieve toegangsrechten. Windows maakt die doorgaans op alle schijven aan.

Die map dient voor het opslaan van systeembestanden die allemaal geen rol spelen bij het opstarten (herstelpunten, zoekindex, schaduwkopieën, snapshots …). Op een ESP bevat de map nauwelijks gegevens, vaak zelfs maar een paar bytes. Mocht er nog een andere map in de hoofdmap staan, dan zijn dat Windows-artefacten of restanten van een eerdere installatie. Die kun je negeren.

De EFI-map in kaart gebracht

Maar hoe ziet de EFI-map op een ESP er nu precies uit? We hebben met AI-ondersteuning een script ontwikkeld dat de inhoud opsomt. In de tabel staat welke bestanden en mappen er doorgaans in de map aanwezig zijn.

Lees dit artikel verder

Lees over tech-trends en achtergronden, nieuwe apparatuur, software en toepassingen voor professioneel gebruik. Met c’t heb je altijd de juiste tech-informatie. Word abonnee en lees onbeperkt alle artikelen.
Bekijk abonnementen Al abonnee? Log in

Een script?

Als je bekend bent met schijfbeheer en Diskpart, vraag je je misschien af waarom daar überhaupt een script voor nodig is. Als je je dat niet afvraagt, kun je het volgende gedeelte even overslaan.

Toegegeven: een script is niet echt noodzakelijk – maar wel erg handig. Anders moet je zelf een aantal obstakels uit de weg ruimen. Je kunt een ESP met MountVol T: /s koppelen als station T: (en later met MountVol T: /d weer ontkoppelen), maar hij verschijnt in Verkenner alleen als je de koppelopdracht intypt bij een commandline die zonder(!) administratorrechten draait.

In Verkenner zie je dan wel de mappen in de hoofdmap van de ESP, maar je kunt die niet openen. Alles op een ESP kan alleen met(!) administratorrechten weergegeven worden, en Verkenner draait standaard zonder.

Je kunt bijvoorbeeld met een Administrator-PowerShell door de mappen bladeren en de inhoud ervan telkens met dir -force weergeven, maar dat is omslachtig en onoverzichtelijk. Of je gebruikt dir -force -recurse, maar dan krijg je een uitvoer die meerdere schermpagina’s vult.

Dat is bovendien gevaarlijk: typefouten en dergelijke kunnen leiden tot het verwijderen of verplaatsen van bestanden en mappen, en in het ergste geval start Windows dan niet meer op.

Tot slot zou je na het koppelen van de ESP de inhoud ervan ook via de commandline kunnen kopiëren. Dat gaat bijvoorbeeld met XCopy /kreisch T:*.* D:\ temp\ESP (/kreisch is een geldige afkorting voor de hier benodigde opties).

Die kopie kun je dan eindelijk in Verkenner bekijken, maar je moet voor elk bestand afzonderlijk aanvullende nuttige informatie zelf verzamelen.

Een script!

Ons script reduceert het risico tot nul en de inspanning tot een simpele muisklik. Daarmee krijg je alle bestanden als tabel gesorteerd op hun respectievelijke mappen. Om het script te gebruiken, is geen installatie nodig.

Je kunt er niets mee kapotmaken, want het werkt puur op leesbasis. Het heeft geen tijdelijke stationsletters of mountpoints nodig omdat het met Windows-API-functies via de Volume-GUID rechtstreeks toegang tot de ESP heeft.

Download het ZIP-archief ct-ESPView.zip via de link bij dit artikel. Pak het uit, bijvoorbeeld via het contextmenu met de optie Alles uitpakken …, anders werkt het niet. In welke map je het uitpakt, bepaal je zelf. In die map staan vervolgens twee bestanden, het belangrijkste is het bestand ct-ESPView.bat. Dat is het bestand met het pictogram met twee tandwieltjes.

Klik in het contextmenu op Als administrator uitvoeren, waarna het script start. Even geduld, het duurt een paar seconden totdat alle benodigde informatie verzameld is. Vervolgens verschijnt er een venster.

De tabel

Het venster bevat niet alleen een grote tabel, maar ook informatie op de titelbalk. Daar staat de positie van de ESP (schijf/partitie), waarbij de nummers dezelfde zijn als die Diskpart gebruikt. Je vindt daar ook gegevens over de grootte van de ESP en de vrije ruimte erop.

Als er meerdere ESP’s zijn, analyseert het script alleen de ESP waarvan het huidige Windows is opgestart (markering isSystem).

De tabel toont alle bestanden, gesorteerd op de mappen waarin ze zich bevinden. Voor elk bestand vermeldt het in aparte kolommen de naam, het bestandstype, de grootte en de laatste schrijftoegang. Bij EFI- en DLL-bestanden worden vaak ook het versienummer en de architectuur vermeld.

Als er een certificaat in het bestand ingebed is, vermeldt de tabel de uitgever ervan. Het script controleert echter niet of het certificaat betrouwbaar is.

Tot slot volgen voor alle bestanden hun MD5-checksums, waarmee identieke bestanden kunnen worden geïdentificeerd. Zo gaat het bij bootx64.efi en bootmgfw.efi meestal om hetzelfde bestand.

Bij het bestand BCD (zonder bestandstype) en het bijbehorende logbestand ontbreekt de checksum. Het BCD-bestand is het bestand dat als BCD-store de configuratie van de Windows-bootmanager en de Windows-loader bevat. Windows houdt dat bestand tijdens het gebruik exclusief geopend, wat andere toegang verhindert.

We hadden dat in het script kunnen omzeilen met een schaduwkopie, maar het bestand verschilt sowieso van computer tot computer, zodat de checksum geen extra informatie oplevert.

Weergave aanpassen

Tot slot nog een paar tips voor de weergave van de tabel. Door op de kolomkoppen te klikken kun je ze sorteren, bijvoorbeeld op naam of grootte.

Als de kolommen niet de optimale breedte hebben, helpt het volgende: beweeg de muis zo naar de rand van een kolom dat hij verandert in een verticaal streepje, met daarvandaan twee pijltjes naar links en rechts. Je kunt de kolom dan breder of smaller maken, of in plaats daarvan dubbelklikken op een kolomrand: dan krijgt de kolom links ervan de optimale breedte.

Boven in het venster staat een filterveld waarin je iets kunt typen, bijvoorbeeld .efi. Dat filter kan niet overweg met placeholders, dus het voorbeeldfilter vindt niet alleen bestanden van het type EFI, maar ook bestanden met de extensie .efi.mui (dat zijn taalbronnen die bij het EFI-bestand met dezelfde naam horen, dus vertaaltabellen).

Maar je kunt de zoekopdracht bijvoorbeeld beperken tot precies die kolom door er een kolomnaam voor te zetten, bijvoorbeeld bestandstype:efi. Dan zie je alle bootmanagers en besturingssysteemloaders in één oogopslag, zelfs, indien aanwezig, die voor Linux. Meer tips voor het werken met dergelijke Out-GridView-tabellen vind je bij de link bij dit artikel.

(Axel Vahldiek en Noud van Kruysbergen)

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