c’t-rescue-Windows

Ons bouwpakket voor een c’t-rescue-Windows helpt je om Windows-installaties van buitenaf te controleren: hij start op vanaf een usb-stick. Je kunt hem gebruiken om malware op te sporen, ssd’s te klonen, opstartproblemen op te lossen, wachtwoorden opnieuw in te stellen of andere Windows-gegevens te herstellen.

Het liefst zouden we je ons c’t-rescue-Windows als kant-en-klaar systeem leveren, maar het licentiebeleid van Microsoft staat dat in de weg. Maar maak je geen zorgen: zelfs met het bouwpakket kom je er snel. We leggen hier uit hoe je het moet gebruiken en aan welke eisen er moet worden voldaan. Aan het eind leer je ook hoe je jezelf kunt helpen als de bouwpoging in eerste instantie niet lukt.

c’t-rescue-Windows voorbereiden

Het basisprincipe is eenvoudig . Ten eerste heb je het zipbestand nodig met het bouwsjabloon, dat je hieronder kunt downloaden. Anderzijds wil het bouwpakket een set installatiebestanden verwerken, oftewel de originele Windows-bestanden die gewoonlijk worden gebruikt om het besturingssysteem in te stellen (bronbestanden). Microsoft stelt die gratis ter beschikking om te downloaden in de vorm van evaluatieversies. Zie de links hieronder.

> zipbestand ctrescuewin2024

> eval-versie Windows 10 2004

> eval-versie Windows 11 22H2

> eval-versie Windows 11 23H2

We raden je sterk aan de ISO-bestanden van de door Microsoft verstrekte evaluatieversies te downloaden. We hebben c’t-rescue-Windows voornamelijk getest met Windows 11 22H2. Globale tests met Windows 10 2004 en Windows 11 23H2 verliepen goed, maar garanderen kunnen we dat niet. Een eventueel lokaal beschikbare installatie-dvd of een ISO-bestand gemaakt door de Media Creation Tool is vaak niet geschikt als bron omdat die de door het bouwpakket benodigde bestanden bewaren in een bestandscontainer die het bouwpakket niet kan verwerken.

Om het bouwpakket te kunnen gebruiken, heb je een pc nodig met een versie van Windows die nog door Microsoft bijgewerkt wordt. Dat kan Windows 10 of 11 zijn – beide zijn even geschikt. We raden ten zeerste een pc met een 64-bit Windows-installatie aan. Op een 32-bit computer is het werkgeheugen vaak niet voldoende voor een succesvolle build van c’t-rescue-Windows, tenminste niet bij de eerste poging. Bij onze test-pc’s hielp een herstart meestal en werkte het bij een tweede of derde poging alsnog.

Voor het downloaden van de bestanden en als werkruimte moet er ongeveer 20 GB aan opslagruimte beschikbaar zijn voordat je begint. Het werkt het snelst als je dat op een ssd doet. 8 GB RAM is voldoende voor het bouwen. De usb-stick waarop het uiteindelijke rescuesysteem terecht moet komen, moet minstens 8 GB ruimte hebben. Je doet jezelf een plezier door een usb-stick van een gerenommeerde fabrikant van flashgeheugen te gebruiken – varianten uit de grabbelbakken bij de bouwmarkten kosten alleen maar tijd en zenuwen.

Geen virusbescherming voor de rescue-map

Je moet het bouwpakket uitpakken in een map die zich het best in de hoofdmap van een station bevindt, bijvoorbeeld C:\ctrescue. Een map op het bureaublad is een gevaarlijke keuze omdat een daar geplaatste map ctrescue uiteindelijk in bijvoorbeeld C:\Users\naam\Desktop\ctrescue terechtkomt en de scripts van het bouwpakket zullen dan met allerlei koppeltekens, spaties en wellicht andere speciale tekens moeten werken. De kans dat dit misloopt is eenvoudig te vermijden.

Je moet je virusbeschermingssoftware duidelijk maken dat de betreffende map niet beschermd hoeft te worden en soms ook aangeven dat het programma rufus.exe vertrouwd mag worden. Daarmee wordt aan het eind de usb-stick beschreven. Hiervoor is een uitzondering voor het proces met de naam rufus.exe voldoende, want het programma wordt pas tijdens het bouwen uitgepakt. Het bouwpakket vraagt voor Windows Defender zelf of er een uitzondering voor de map moet worden ingesteld als dat nog niet gedaan is en doet dat dan voor je.

Als je het rescuesysteem gebouwd hebt, moet je de uitzonderingen weer verwijderen. Bij Defender doe je dat via ‘Instellingen / Privacy en beveiliging / Windows-beveiliging’, klik dan op ‘Virus en bedreigingsbeveiliging’ en ga onderaan naar ‘Instellingen beheren’. Scrol naar beneden naar Uitsluitingen en klik op ‘Uitsluitingen toevoegen of verwijderen’.

Dat is allemaal nodig omdat de programma’s die het bouwpakket zelf gebruikt en sommige van de programma’s die het verwerkt een bedreiging vormen volgens beveiligingssoftware. Dankzij de uitzonderingsregels bemoeien Defender en zijn soortgenoten zich er niet meer mee. We hebben echter wel gemerkt dat niet alle beveiligingssoftware zich aan de ingestelde uitzonderingen houdt. Soms helpt het alleen om ze even helemaal uit te schakelen.

Als de map C:\ctrescue aangemaakt is, het ctrescue2024.zip-archief daar uitgepakt is en de uitzonderingsregels voor de beveiligingssoftware ingesteld zijn, moet je de Windows-bronbestanden nog beschikbaar maken. Dubbelklik op het gedownloade ISO-bestand van de evaluatieversie, waarna Windows dat zal koppelen als een nieuw virtueel station. Als ISO-bestanden door andere software geopend worden, voldoet een rechter muisklik op het bestand en Koppelen kiezen.

Start het builden van c’t-rescue-Windows

In de map C:\ctrescue staat het bestand PEBakeryLauncher.exe. Start het door erop te dubbelklikken. De gebruikersaccountcontrole (UAC) zal vragen of je het programma wilt starten – het vereist administratorrechten, dus ga akkoord met het UAC-verzoek als je een gewoon Windows-account hebt. Na een korte pauze verschijnt de interface van PEBakery. Dat is het programma dat de bouwplannen omzet in acties.

PEBakeryLauncher kan eerst melden dat de .NET Desktop Runtime geïnstalleerd moet worden. Als dat nodig is, opent automatisch de juiste webpagina en wordt het installatiebestand gedownload. Voer dat vervolgens eerst uit, want zonder dat werkt het niet. Op een nieuw geïnstalleerde pc kunnen ook de Visual C++-bibliotheken ontbreken (PEBakery zal dan niet werken door een ontbrekende zlibwapi.dll). Je kunt .NET 6.0 en het installatiepakket voor de Visual C++-bibliotheken hieronder downloaden.

> .NET 6.0 Desktop Runtime

> Microsoft Visual C++ Redistributable latest supported downloads

Op de welkomstpagina van PEBakery wordt je gevraagd het pad van de Windows bronbestanden op te geven. Dat kan een station of een map zijn waar de originele bestanden van de Windows-gegevensdrager te vinden zijn, oftewel de inhoud van het gedownloade ISO-bestand en niet het ISO-bestand zelf. Als het geselecteerde pad verschijnt in het veld achter Source, zijn de bestanden geschikt voor het bouwpakket. Ongeschikt of beschadigd bronmateriaal wordt na het selecteren van het station door de scripts herkend en gerapporteerd.

Wanneer PEBakery tevreden is met de geselecteerde bronbestanden, druk dan op de grote knop Build op de groene bovenbalk van PEBakery om het eigenlijke buildproces te starten. Hoe lang het bouwen duurt, hangt af van je pc en de snelheid van je internetverbinding. Het bouwpakket moet allerlei bestanden downloaden en verwerken. Een moderne pc met een ssd en een 100 Mbit/s internetverbinding zal het rescuesysteem in minder dan tien minuten in elkaar zetten –zolang alle bronnen toegankelijk zijn tenminste.

Zet rescue-Windows op usb-stick

Een succesvolle build is op een usb-stick te zetten met de knop ‘Write usb-stick with Rufus’. Het programma Rufus maakt opstartbare usb-datadragers. Om ervoor te zorgen dat Rufus die stick kan zien, moet je hem inpluggen voordat je op die knop drukt. Na het opstarten van Rufus zorg je ervoor dat de juiste stick als doel geselecteerd wordt. Laat de andere velden zoals ze zijn – alles is vooraf al goed ingesteld.

Wanneer Rufus de voortgangsbalk volledig groen laat zien en KLAAR zegt, heeft het programma je usb-stick voltooid. Je kunt hem dan bijvoorbeeld via het contextmenu uitwerpen en proberen er een pc van op te starten.

Verdere instructies voor het gebruik van de tools op de stick staan in de volgende artikelen. Een waarschuwing op dit punt: veel van de tools zijn niet zonder risico. Je moet ze op een productie-pc doordacht gebruiken.

Problemen met builden

Aangezien het bouwpakket een aantal programma’s downloadt, kan niet worden uitgesloten dat de build niet bij de eerste poging slaagt omdat een server niet actief is. In dat geval heeft de ervaring geleerd dat het voldoende is om een paar minuten te wachten en opnieuw te proberen. Alles wat PEBakery dan al met succes gedownload heeft, wordt dan direct weer gebruikt, zodat je sneller op het punt komt waar het mislukte.

Dat kan wel irritant zijn omdat er dan weer een aanzienlijk aantal stappen moet worden uitgevoerd. Je kunt dat verkorten door bij PEBakery het betreffende script op te zoeken in de boom links, waarschijnlijk onder Applications, en het te openen door te klikken op de naam in het rechter venstergedeelte. Daar vind je een kleine knop direct onder de groene balk van PEBakery om het script zelfstandig uit te voeren (Run Script). Probeer dat totdat het script eenmaal succesvol doorgelopen is.

Je kunt herkennen dat het gelukt is aan het feit dat de knop Logs op de groene PEBakery-balk niet oranje is, maar wit. Wat er fout gaat wordt onthuld door op de oranje knop te klikken. Selecteer dan het Build Log-tabblad. Als een bestand wel gedownload is, maar niet correct verwerkt, moet je de inhoud van het bestand bekijken. Je vindt dat meestal in C:\ctrescue\Workbench\Programs\<naam>.

Soms staat als inhoud in het bestand uitgebreide foutmeldingen van de webserver die eigenlijk het programma of een installatiebestand ervoor zou moeten leveren. Ondanks de extensie kun je het bestand openen met Kladblok of Notepad++, bijvoorbeeld door het te slepen naar een geopend venster. Als het een foutmelding bevat, zou je die dan moeten kunnen lezen.

In de meeste gevallen volstaat het echter een dergelijk ‘programmarestant’ op te ruimen door het te verwijderen met behulp van de meestal aanwezige knop met een prullenbak. De verwerkingsscripts kunnen het niet onderscheiden van het bestand dat eigenlijk verwacht wordt. Ze proberen het toch te verwerken, maar dat mislukt dan en vervolgens wordt het bouwproces afgebroken. Wanneer je het script opnieuw start, moet het juiste bestand van de server komen en moet alles gaan zoals gepland.

Als een component helemaal niet beschikbaar is, kun je het betreffende script voor het runnen van de build deactiveren. Verwijder daartoe het vinkje voor zijn naam in de linkerhelft van het venster. Bij programma’s van de sectie Applications kan dat veilig gebeuren. Bij andere secties valt te verwachten dat er dan geen opstartbaar rescuesysteem ontstaat.

Aanwijzingen voor builden van c’t-rescue-Windows

In dit artikel noemen we eventuele problemen die zich met goede redenen tijdens de build van c’t-rescue-Windows kunnen voordoen. Na verscheidene jaren actieve support voor het project kunnen we echter ook zeggen dat de meeste problemen ontstaan omdat onze aanwijzingen niet opgevolgd worden – maar we weten natuurlijk ook dat die nooit perfect zijn.

Het bouwpakket controleert veel standaardsituaties en waarschuwt je dan voordat het begint, bijvoorbeeld als er antivirussoftware actief is of als de configuratie-instellingen van Windows in de weg zitten en de build belemmeren. De nieuwe versie slaat de build-logs op in een sterk gecomprimeerd formaat in de logs-map (bijvoorbeeld in C:\ctrescue\Logs).

Het voltooide rescuesysteem staat als een ISO-bestand in de map Output (C:\ctrescue\Output). Als je dat bestand in een virtuele machine koppelt als een dvd-station, kun je het systeem verkennen. Dat onderscheidt zich op detail echter enigszins dan wanneer wordt gewerkt vanaf een niet beschrijfbaar medium. Voor praktisch gebruik moet je de c’t-rescue-Windows van een usb-stick opstarten, vooral omdat je daar ook bestanden naartoe kunt kopiëren. Laat het ons vooral weten als c’t-rescue-Windows je heeft kunnen helpen.

Wat te doen als downloads mislukken: ga naar de pagina voor het betreffende script links in de projectboom door op het item te klikken – hier TestDisk & PhotoRec (1). Laat het script lopen (2). Controleer het logboek om te zien of de download succesvol was (3) of controleer de map voor het programma in C:\ctrescue\Workbench\PhoenixPE\Programs\TestDisk. Als het versienummer veranderd is, kun je het potloodpictogram (4) gebruiken om het versienummer of de url in het script in een tekstverwerker te wijzigen. Voordat je het script opnieuw start (2), moet PEBakery het script opnieuw lezen (5). Indien succesvol, start je het hele project opnieuw op (6). Als het nog steeds niet werkt, kun je het script uitsluiten van de build (7).

Eerste fase: voorbereiding van de bouw

  1. Lees het artikel in zijn geheel om de vereisten te kennen en voorbereid te zijn op eventuele problemen.
  2. Download een ISO-bestand met een 64-bit evaluatieversie van Windows 10 of 11 (tussen 3 en 5 GB) – zie de links bovenaan in dit artikel.
  3. Maak een map aan waarin het bouwproces moet plaatsvinden, bijvoorbeeld C:\ctrescue. Gebruik alleen letters in die naam en vermijd lange, geneste paden.
  4. Definieer een uitzondering voor die map in je virusscanner. Voor Windows Defender kan het bouwpakket dat zelf doen.
  5. Download het ziparchief met het bouwpakket in die map – zie de link bovenaan in dit artikel.
  6. Pak dan het ziparchief pas uit in die map.
  7. Dubbelklik op het ISO-bestand om het te koppelen als een virtueel station. Het krijgt een letter, zoals F:.

Tweede fase: alle tools klaarzetten

  1. Start in de eerder aangemaakte map, bijvoorbeeld C:\ctrescue, het programma PEBakeryLauncher.exe.
  2. Op een nieuw geïnstalleerde pc kunnen de Visual C++-bibliotheken ontbreken. PEBakery houdt er dan mee op met de melding dat zlibwapi.dll ontbreekt. De installatiebestanden voor die bibliotheken staan bij de link op de laatste pagina.
  3. Windows geeft een waarschuwing dat het programma gedownload is, vraagt om administratorrechten en start het. Sta dat allemaal toe.
  4. De eerste keer dat het gebruikt wordt, controleert PEBakeryLauncher.exe of er een geschikte Windows Desktop Runtime beschikbaar is. Als die ontbreekt, opent het een browservenster om die te downloaden. Installeer de Runtime en start PEBakeryLauncher.exe dan opnieuw.

Derde fase: bouwproces

  1. Drie stappen volstaan om c’t-rescue-Windows te bouwen. De gebruikersinterface in de rechterhelft van het venster helpt je daarbij. Selecteer om te beginnen de schijf met het gekoppelde ISO-bestand uit de laatste stap van de eerste fase.
  2. Start de build met de knop bovenin. Na een succesvolle build toont PEBakery kort een succesbericht en kun je Rufus starten. Voordat je dat doet, moet je de usb-stick erin stoppen.
  3. Let op: zodra je op deze startknop voor Rufus drukt, verwijdert het programma alle bestanden op de usb-stick. Zorg er dus voor dat de juiste schijf is geselecteerd met de usb-stick en dat daar geen belangrijke gegevens meer op staan.