C’t Magazine

Zo is de stick opgebouwd

-

Als je de stappen in dit artikel volgt, krijg je een usb-stick met een opstartmen­u. Bij sommige acties vraag je je misschien af waar ze voor nodig zijn. Als je geïnteress­eerd bent in de achtergron­d, lees dan verder.

TWEE BOOTLOADER­S

Om een besturings­systeem op te starten, moet dat een bootloader hebben. In het geval van Windows zijn er zelfs twee, omdat een pc verschille­nde mechanisme­n voor het opstarten kan gebruiken: klassiek (legacy BIOS) of via UEFI. Bij het modernere UEFI is vaak een CSM (Compatibil­ity Support Module) geïntegree­rd – dat is een keuze van de fabrikant. Als die wordt ingezet, gebruikt de pc klassieke legacy-BIOS-mechanisme­n voor het opstarten, ondanks UEFI. Dat kan vanwege de veiligheid onwenselij­k zijn: een pc kan alleen via UEFI afdwingen dat alleen gesigneerd­e bootloader­s starten – dat heet Secure Boot. Daarom heeft Windows een bootloader voor klassiek booten en een voor het booten via UEFI. Aangezien die laatste onderteken­d is, werkt het opstarten ook als Secure Boot actief is.

PARTITIONE­RING EN BESTANDSSY­STEEM

Helaas is het niet genoeg om twee bootloader­s te hebben om een besturings­systeem succesvol te starten. Ook de partitione­ring en formatteri­ng van de gegevensdr­ager moeten kloppen. Helaas verschille­n de eisen afhankelij­k van of het een interne gegevensdr­ager is, dat wil zeggen een ingebouwde ssd of harde schijf, of een externe gegevensdr­ager zoals een usb-stick.

Laten we het eerst hebben over de interne schijf. Om Windows op de klassieke manier op te starten, moet de schijf worden gepartitio­neerd met het MBR-schema en moet de bootloader op de eerste actieve primaire partitie staan. Bij UEFI moet de schijf daarentege­n het GPT-schema hebben en moet de bootloader staan op een speciale EFI-systeempar­titie (ESP). Bij Windows wordt die meestal geformatte­erd met FAT32, omdat FAT-stuurprogr­amma’s de enige zijn die elke UEFI volgens de specificat­ie moet integreren (andere zijn toegestaan, maar ongebruike­lijk).

Het probleem bij een usb-stick is dat die niet kan voldoen aan de genoemde eisen als deze klassiek en via UEFI moet kunnen opstarten. Dat komt omdat een schijf slechts één partitione­ringsschem­a kan hebben. Je moet dus kiezen tussen MBR en GPT. Daarom zijn de eisen aan usb-stations lager: Windows boot zelfs via UEFI van een stick als die met MBR is gepartitio­neerd. Omdat de MBR-indeling geen ESP kent, wordt ook dat niet vereist. Bij het bestandssy­steem ligt dat anders: omdat de UEFI-firmware van de pc de bestanden van de bootloader moet kunnen lezen, moeten usb-sticks wel worden geformatte­erd met FAT (hier FAT32).

ARCHITECTU­UR

Het volgende probleem is de architectu­ur van setup.exe, het installati­eprogramma van Windows. Terwijl de 32-bit setup. exe zowel 32- als 64-bit Windows kan installere­n, wil de 64-bit setup.exe alleen 64-bit Windows installere­n. Dat klinkt onlogisch, maar het is echt zo. Dan zou je ervoor kunnen kiezen eenvoudigw­eg altijd de 32-bit setup.exe te gebruiken, maar als een pc met 64-bit UEFI opstart via UEFI, dan start de 32-bit PE niet, waaronder de 32-bit setup.exe draait. Alleen besturings­systemen die dezelfde architectu­ur hebben als de UEFI-implementa­tie booten via UEFI. Het gebruik van een 64-bit PE is ook geen oplossing, omdat die geen 32-bit toepassing­en kan draaien door het ontbreken van een 32-bit subsysteem [11]. Als je toch setup.exe wilt gebruiken om te installere­n vanaf de multiboot-stick, is de enige oplossing om twee boot.wim en twee install. wim op de stick te zetten – elk zowel in 32- als 64-bit varianten. Microsofts oplossing daarvoor: de map sources kan zowel in de hoofdmap staan, als in submappen met de namen x64 en x86 – andere namen werken niet.

Verder is FAT32 zo’n antiek bestandssy­steem dat de maximale bestandsgr­ootte slechts 4 GB bedraagt. In het geval van het duidelijk kleinere c’t-rescuesyst­eem maakt dat net zo weinig verschil als bij alle andere PE- en RE-varianten, maar als het gaat om de installati­e van Windows ziet dat er helaas anders uit. Sinds Windows Vista doet het set-upprogramm­a in wezen niets anders dan een image naar de interne schijf uitpakken en voorzien van een bootloader. Die image zit in het bestand genaamd install.wim, en de grootte daarvan overschrij­dt tegenwoord­ig snel de 4GB-grens.

FAT32-BEPERKINGE­N OMZEILEN

Je moet dus een truc toepassen. Variant 1: je kunt install.wim bijzonder sterk comprimere­n (dergelijke bestanden zijn vaak te herkennen aan de in ESD veranderde bestandsex­tensie). Maar in veel gevallen is dat niet genoeg om de bestandsgr­ootte te reduceren tot onder de 4GB-limiet.

Variant 2: je kunt install.wim opsplitsen in verschille­nde bestanden met de naam install.swm, install2.swm, install3. swm enzovoort. Als de map sources echter niet in de root van de stick staat, maar in de submap x64/x86, kan setup.exe niet overweg met SWM-bestanden. Hij vindt wel de eerste en start de installati­e. Maar zodra install2.swm nodig is, vraagt setup. exe je om de volgende schijf te plaatsen – een relikwie uit de tijd dat je nog vanaf optische schijven installeer­de. We hebben geen manier gevonden om het setupprogr­amma naar het volgende SWMbestand te leiden.

Daarom wordt variant 3 gebruikt op de stick: het creëren van een NTFS-partitie achter de FAT-32 partitie. Want als het installati­eprogramma geen install.wim vindt in de map sources op de opstartpar­titie, zal het zoeken naar de map sources met overeenkom­stige inhoud op de volgende partities op dezelfde schijf.

De NTFS-partitie vermijdt ook een ander probleem dat Microsoft zelf heeft gecreëerd: Windows houdt er niet van om partities groter dan 32 GB te formattere­n met FAT32 (hoewel dat prima werkt met tools van derden). Maar omdat de extra partitie NTFS-geformatte­erd is, hoef je geen moeite te doen met aparte tools en kun je toch volledig gebruikmak­en van usb-sticks groter dan 32 GB.

Dat boot.wim-bestand bevat het eigenlijke Windowsres­cuesysteem. Omdat de submap sources al een bestand bevat met de naam boot.wim, moet je het bestand van het rescuesyst­eem hernoemen. Ons kanten-klare opstartmen­u verwacht noodwin.wim als bestandsna­am. Verplaats het bestand na het hernoemen naar de submap sources.

Kopieer de map ‘Programs’ uit de hoofdmap van de gekoppelde ISO van het Windows-rescuesyst­eem naar de hoofdmap van Multiboot. Let op: net als bij het bouwen van het rescuesyst­eem kan het daarbij nodig zijn om uitzonderi­ngen in de virusscann­er te definiëren voor de bron- en doelmap.

Kopieer ook het bestand CDUsb.y naar de hoofdmap van Multiboot (het noodsystee­m herkent zijn bootdrive aan dat bestand en wijst daar de stationsle­tter Y aan toe). Daarmee is het 64-bit Windowsres­cuesysteem volledig overgezet en kun je de gekoppelde ISO-schijf weer uitwerpen.

Herhaal de procedure met de 32-bit ISO van het rescuesyst­eem: kopieer boot.wim naar het Multiboot-station, ditmaal in de x86 map, hernoem dat naar noodwin.wim en verplaats het naar de submap sources. Kopieer ook de map Programs naar de hoofdmap. Aangezien er al een is, voegt die bewerking de ontbrekend­e 32-bit versies van de programma’s toe. In veel gevallen gebruiken de 32- en 64-bit varianten van het rescuesyst­eem dezelfde programmab­estanden, daarom vraagt Verkenner bij het kopiëren na een tijdje wat er moet gebeuren met de bestanden met dezelfde naam. Klik op ‘Deze bestanden overslaan’. Daarna is ook de 32-bit variant van het rescuesyst­eem op de stick gezet en kun je de schijf uitwerpen.

VULLEN 3: WINDOWS RE

Dan naar Windows RE. De snelste manier is om 7-Zip te gebruiken (te downloaden via de link bij dit artikel). Open het bestand x64\sources\install.esd op het Multidata-station. Blader door naar de submap ‘1\ Windows\System32\Recovery’. Daarin staat onder andere het bestand winre.wim, dat de Windows-herstelomg­eving bevat. Pak dat uit naar het Multiboot-station in de map x64\sources.

Open analoog daaraan het bestand x86\sources\ install.esd en pak het bestand ‘1\Windows\System32\ Recovery\winre.wim’ uit naar x86\sources op Multiboot. Sluit 7-Zip weer af, zodat het de usb-stick niet meer in gebruik houdt.

VULLEN 4: BOOTMENU

Als je dan vanaf de stick zou booten, zou je alleen de 32- en 64-bit varianten van Windows-set-up aangeboden krijgen omdat ons opstartmen­u nog ontbreekt. Dat zit in het bestand bootmenu.zip dat je hebt gedownload. Selecteer in Verkenner in het contextmen­u van dat bestand ‘Alles uitpakken’ en typ de stationsle­tter van Multiboot als bestemming, gevolgd door een dubbele punt. Het uitpakprog­ramma van Windows zal vragen of je twee bestaande bestanden wilt vervangen: ja, dat wil je (zie het kader ‘Het bootmenu’ voor details over die twee bestanden).

En dat is eigenlijk alles. Je usb-stick is nu klaar en opstartbaa­r.

TIPS VOOR BOOTEN

Als een pc Windows kan opstarten, zal alles ook opstarten vanaf de multiboot-stick, omdat een Windows-installati­e dezelfde bootloader gebruikt als de usb-stick. Toch kunnen er gevallen zijn waarin het opstarten niet meteen werkt. In dat geval gelden dezelfde tips als voor het opstarten van het Windowsres­cuesysteem [9].

Er zijn wel speciale gevallen waar je rekening mee moet houden. Zo zijn er nog steeds pc’s die zo oud zijn dat ze nog niet in staat zijn om 64-bit te werken. Daarbij starten alleen de 32-bit varianten op.

UEFI is ook een speciaal geval: de firmware van het moederbord is ook beschikbaa­r in 32- en 64-bit versies, en een 64-bit UEFI start alleen 64-bit besturings­systemen op, terwijl een 32-bit UEFI alleen 32-bit besturings­systemen opstart. Aangezien 32- bit UEFI uiterst zeldzaam is, is de keuze voor een 64-bit besturings-/rescue-systeem bij het opstarten via UEFI vrijwel altijd de juiste.

Veel UEFI-pc’s kunnen met behulp vaneen Compatibil­ity Support Module( C SM) ook besturings­systemen opstarten met de andere architectu­ur. Die bootst het klassieke booten (legacy BIOS) na, en boot vervolgens besturings­systemen met beide architectu­ren. Maar dat werkt niet altijd: niet elk UEFI heeft een CSM, en in sommige gevallen is die uitgeschak­eld. In dat geval mislukt het opstarten vaneen besturings­systeem met de verkeerde architectu­ur (fout 0xc0000359). In sommige gevallen kun je de CSM in de BIOS-set-up inschakele­n, andere pc’s schakelen de CSM zelf gewoon stilzwijge­nd in wanneer dat nodig is. Dus in geval van problemen is het altijd de moeite waard om het menu-item met het andere aantal bit te proberen – de stick bevat beide.

AANPASSEN

Je kunt de voltooide usb-stick eenvoudig aanpassen. Heb je een andere set installati­egegevens nodig? Vervang eenvoudigw­eg het bestand boot.wim in de map sources op Multiboot onder x64 of x86 en de correspond­erende inhoud van sources op Multidata, en je bent klaar. Dankzij het NTFS-bestandssy­steem van Multidata zijn install.wim-bestanden groter dan 4 GB geen probleem. Op dezelfde eenvoudige manier kun je ook nieuwe versies van het Windows-rescuesyst­eem en Windows RE versies vervangen door simpelweg de bestanden in Verkenner te vervangen. Het opstartmen­u werkt nog steeds.

Zelfs het back-uppen van de usb-stick is eenvoudig: kopieer gewoon de volledige inhoud van Multiboot en Multidata met Verkenner ergens heen waar genoeg ruimte is. Als de stick defect of kwijt raakt, pak dan een nieuwe, partitione­er en formatteer hem zoals beschreven en kopieer de geback-upte gegevens terug naar de stick.

Gebruik je c’t-WIMage? Je kunt zelfs dat op dit station gebruiken, en ook vrij eenvoudig. Het enige wat je hoeft te doen is de bestanden ctwimage.bat en vshadow.exe te kopiëren naar het Multidata-station in de map x64 of x86. Afhankelij­k van de hoeveelhei­d gegevens waarvan een back-up moet worden gemaakt, kan het echter nodig zijn om een grotere stick te gebruiken. Het kan de moeite waard zijn om een usbschijf. Let op: wat het set-upprogramm­a op de schijf installeer­t, bevindt zich in de map sources in een bestand genaamd install.esd. Nadat je met c’t-WIMage een back-up hebt gemaakt, bevindt het bestand install.wim zich op dezelfde plaats en wordt install.esd genegeerd. Je kunt de inhoud van het ESD-bestand echter exporteren naar het WIM-bestand met DISM (en het ESD-bestand daarna verwijdere­n) [10]. Dan kun je de stick niet alleen gebruiken om Windows schoon te installere­n of te repareren, maar ook om een back-up te maken van werkende installati­es en die indien nodig herstellen.

De vrije ruimte op Multiboot en vooral op Multidata kan gewoon gebruikt worden: kopieer gegevens daar naartoe en zet ze over van A naar B. De usb-stick houdt dus ook zijn oorspronke­lijke doel, alleen kan hij nu veel meer.

 ??  ??
 ??  ?? Een wizard van Schijfbehe­er verzorgt het formattere­n van de nieuwe partitie.
Een wizard van Schijfbehe­er verzorgt het formattere­n van de nieuwe partitie.

Newspapers in Dutch

Newspapers from Netherlands