Het lab: Hoe moeilijk kan dit zijn?

,

Henk van de Kamer

Stel: je hebt een oude computer van de schroothoop gered. Met de nodige hobbels heb je het geheugen uitgebreid tot meer dan vier gigabyte. Je wilt dus een 64bits-besturingssysteem om daar gebruik van te maken. De fabrikant van de computer bood die optie aan. Eitje toch?

De vorige keer vertelde ik dat mijn tweedehands Lenovo uit 2011 geleverd kon worden met verschillende versies van Windows Vista en 7. Omdat het geheel aan zakelijke klanten werd verkocht, was er ook een optie om te downgraden naar Windows XP.

Windows XP
Alle Windows-versies tot en met Windows 3.11 waren geen besturingssysteem, maar een grafische schil die gestart kon worden via MS-DOS. Met de komst van Windows 95, 98 en ME werd het wat onduidelijker. Alle drie gebruiken MS-DOS om op te starten, terugval voor oplossen van problemen en om oude DOS-programma’s te kunnen blijven gebruiken.

Zodra de grafisch omgeving startte, nam Windows de hardware en het geheugenbeheer boven de één megabyte volledig over. Zo bekeken was het een besturingssysteem, maar het miste wel de nodige zaken die toen al onder Unix en Linux heel gebruikelijk waren: meerdere gebruikers, beveiliging van geheugen en bestandssysteem en meerdere taken via hardware in plaats van software. Windows 9x en alles daarvoor was in essentie nog steeds 16 bits en de 32 bits API was in de meeste gevallen een vertaalslag naar de oude 16bits-functies. Kortom een grote knoeiboel en op zijn best een incompleet besturingssysteem met twijfelachtige stabiliteit.

Voor de zakelijke markt had Microsoft de NT-kernel ontwikkeld en deze had alles wat ontbrak in Windows 9x. Het startte zelfstandig en was volledig 32 bits met terugvallen naar 16 bits voor oudere software. In het jaar 2000 bracht Microsoft de nieuwste versie op de markt onder de zeer creatieve naam Windows 2000. Er was een server- en werkstationversie beschikbaar. Deze laatste werd als basis gebruikt voor Windows XP en voorzien van een kinderachtige Teletubbies-interface. Het was tenslotte bedoeld voor thuisgebruikers en die worden door Microsoft niet serieus genomen.

64 bits
In 1994 verkondigde Intel plannen voor de IA-64-architectuur als opvolger van IA-32. Vervolgens was het vijf jaar stil voordat de instructieset voor IA-64 werd vrijgegeven. Helaas kon het alleen opnieuw gecompileerde software gebruiken, ofwel alle oude 32bits-software kon naar de prullenbak. Dat was het plan van Intel, alle oude bagage in één klap weg.

Computergebruikers accepteren dit niet, iets wat AMD begreep. Ofwel een dag later kondigden zij de x86-64-architectuur aan. Dit was een extra set instructies met 64 bits lengte, waarmee onder andere de geheugenbarrière van vier gigabyte doorbroken kon worden. Want dat was het maximum dat zonder trucs geadresseerd kan worden met 32bits-instructies. De AMD Opteron en Athlon kwamen pas in 2003 op de markt, maar haalden al snel de Intel Itanium in qua verkochte exemplaren. Het doek voor de Itanium viel in 2019 met in juli 2021 de laatste verscheepte exemplaren.

Windows XP 64 bits
Het eerste besturingssysteem voor de IA-64 architectuur was Linux in 2001. Later dat jaar bracht Microsoft een Windows XP voor de IA-64 uit. Deze had een softwarelaag om 32bits-applicaties te kunnen gebruiken. Dat klinkt leuk, maar de Itanium was voornamelijk bedoeld voor de servermarkt, ofwel veel te duur voor dagelijks werk.

Met het beschikbaar komen van de 64 bits AMD-processoren bracht Microsoft met Windows 2003 ook een 64bits-versie voor deze uit, die vervolgens weer als basis diende voor een Windows XP-versie. Waarmee er nu twee verschillende 64bits-varianten in omloop zijn, die beide alleen werken op de processor waarvoor zij gecompileerd is. Tevens hebben beide een andere Windows 200x als basis. Voor de IA-64 is een service pack 3 beschikbaar, maar vanwege de 2003-basis is voor de x86-64 de laatste service pack versienummer 2. Gelukkig is bijna alles wat ik aan 64 bits iso-bestanden kon vinden de x86-64 variant.

Windows XP in 2011?
Windows XP lag op 25 oktober 2001 in de winkels. De ondersteuning voor thuisgebruikers eindigde op 14 april 2009. Voor de zakelijke markt was er een betaalde ondersteuning die op 8 april 2014 eindigde. De Windows XP Professional-versie was de basis voor Windows Embedded POSReady 2009 en diens ondersteuning eindigde in april 2019. Op het internet zwerven handleidingen rond waarmee theoretisch deze laatste als updates voor Windows XP worden gebruikt. Theoretisch, want het proces werkt niet soepel, ofwel kan alleen met de nodige kennis en goede controles gebruikt worden.

Aangezien Lenovo de betaalde ondersteuning door Microsoft aanbood, moet ik het kunnen installeren. Er is echter een ander probleem. Windows XP werd uitgebracht in een tijd dat IDE – ook wel PATA genoemd – harddisks gebruikelijk waren. Een jaar eerder was SATA aangekondigd om de tachtig parallelle aders te vervangen door zeven seriële aders. In januari 2003 kwam Seagate als eerste met de Barracuda SATA V op de markt en vijf jaar later was de IDE-harddisk nauwelijks meer verkrijgbaar.

Opslag drivers
Alhoewel de Lenovo begin 2010 op de markt kwam – mijn exemplaar bevat componenten geproduceerd in maart 2011 – en de IDE-harddisk tegen die tijd al van het toneel was verdwenen, heeft het een interessante truc. In het BIOS kunnen we aangeven dat de SATA-controller zich moet gedragen als PATA. Ofwel: het emuleert een IDE-harddisk op een fysiek SATA-exemplaar. Volgens het internet kan ik daarmee Windows XP installeren, opstarten en dan de juiste SATA-drivers installeren. Na uitzetten en BIOS terugzetten naar SATA, zou alles moeten werken met de moderne versie. Helaas, ik heb dat ondanks meerdere pogingen niet kunnen reproduceren.

Omdat Windows XP gebaseerd is op Windows 200x, kan het overweg met RAID-controllers. Daarvoor zijn echter drivers nodig en om die beschikbaar te maken kunnen we op de F6-toets drukken en aangeven dat er een diskette is geplaatst met de benodigde drivers. Die worden dan geladen, waarna we kunnen installeren op een RAID-controller. Dit zou ook voor SATA moeten werken. Het probleem is dat ik momenteel geen toegang heb tot een cd-rombrander en diskettedrive.

USB flashdrive
De oplossing is de iso wegschrijven op een usb-flashdrive. Voor Linux-distributies is dat gewoon een dd-opdracht. Dat programma is minder dan 100 kilobyte. Microsoft daarentegen heeft een complex systeem bedacht om hetzelfde te bereiken. Als reactie zijn er allerlei programma’s gemaakt om deze complexiteit te verbergen. De meest bekende is Rufus en die heb ik succesvol voor Windows 7 en 10 gebruikt. Het zou ook met Windows XP moeten werken en die optie is beschikbaar. Maar ondanks vele pogingen crashen deze tijdens het opstarten van de installatie.

Ik ben niet de enige die tegen problemen aanloop. In meerdere berichten wordt WinSetupFromUSB (https://winsetupfromusb.org) als alternatief genoemd. Daarmee kreeg ik eindelijk het installatiescherm te zien met de optie om een diskette met drivers te selecteren.

Virtuele diskette
De volgende stap is het aanmaken van een diskette-image met de benodigde drivers. Dat is onder Linux zeer gemakkelijk:

# dd if=/dev/zero of=sata_f6.img bs=1k count=1440

# mkfs.vfat -L SATA_F6 sata_f6.img

# mkdir floppy

# mount sata_f6.img floppy/

# cp -a gen_sata/[iT]* floppy/

# umount floppy

Het # geeft aan dat deze opdrachten als root worden uitgevoerd. De eerste opdracht maakt een 1,44 MB groot bestand, ofwel exact dezelfde grootte als de fysieke exemplaren bevatten. De volgende opdracht formatteert het geheel en geeft het een label. De volgende twee opdrachten geven toegang tot de virtuele diskette. De vijfde opdracht kopieert de generieke drivers naar de diskette en de laatste opdracht is in feite het indrukken van de ejectknop.

Ik zeg generieke drivers. In eerste instantie gebruikte ik gedownloade images van Intel, maar geen van deze werkte. Uiteindelijk vond ik een pagina (https://winraid.level1techs.com/t/modded-intel-ahci-and-raid-drivers-digitally-signed/19691) waarin iemand heeft uitgevogeld welke drivers voor Intel SATA hardware werkt. De handtekening is voor Windows XP niet van belang, maar wel voor alle versies daarna. Deze diskette-image kunnen we aangeven bij het aanmaken (figuur 1) van de usb-flashdrive.

346 wsfu

Instellingen om een F6-diskette toe te voegen

Tot slot
Bovenstaande heeft mij ruim een week aan experimenteren gekost. Ik had nu een werkende Windows XP 64 bits-installatie. Daarmee eindigt het verhaal niet, maar dat is stof voor de volgende aflevering.

'Meld je aan voor de nieuwsbrief'

'Abonneer je nu op een of meerdere van onze nieuwsbrieven en blijf op de hoogte van onze activiteiten!'

Aanmelden