Windows 98 SE met Qemu onder Ubuntu

Een computer of compjoeter

Op last van uw en onze captain hebben wij hier allemaal een schijthekel aan Microsoft, maar als hij het niet gezegd had, hadden we die hekel ook wel gehad. Wij waren dus erg blij toen de laatste PC waar wij nog Windows op draaiden uit de vaart werd genomen en wij op het vervangende apparaat Ubuntu mochten installeren. Maar toen begon onze stagiaire vreselijk te zeuren. Of eigenlijk niet zozeer onze stagiaire, als wel haar dochtertje dat hier tot onze verbijstering alle dagen op de redactieburelen loopt rond te hollen, te krijsen en zelfs te steppen. Onlangs moest redacteur Stommeling Jones nog met een sprintje en een snoekduik voorkomen dat het kind met step en al de trap af ging. De woorden “ik ga schansspringen” waren gelukkig op tijd tot hem doorgedrongen, maar we dwalen af.

Onder Ubuntu kan het kind weliswaar een aantal spelletjes spelen (het programma GCompris is daarbij haar favoriet), maar ze moest de Muppets missen en dat vond ze heel erg. “De Muppets”, zult u vragen: “wat nou, de Muppets?” Welnu, het betreft hier een paar licht educatieve spelletjes op een DVD van IONA Software Limited, die een onzer redacteuren in 1997 bij zijn toenmalige nieuwe compjoeter (met Windows 95) cadeau had gekregen. Op die DVD staan Muppets 1, Storybook Weaver en Sammy’s Science House, in het British, Dansk, Deutsch, Français, Nederlands en Svenska, en het dochtertje van onze stagiaire is er weg van.

Nu hebben wij in het verleden wel eens een PC dual bootable gemaakt, maar daar hadden wij nu geen zin in, omdat je dan altijd zult zien dat je net iets met het ene besturingssysteem wilt of moet doen terwijl je onder het andere zit. Daarbij komt dat Windows 98 de bestanden van Ubuntu niet kan lezen en dan blijkt natuurlijk dat je die dringend nodig hebt op het moment dat het dochtertje van onze stagiaire ingespannen bezig is in het Zweeds Janice en Skeeter te helpen afval te recyclen, waarvoor je trouwens weinig Zweeds hoeft te kennen en wel goed met de muis moet kunnen slepen. Om een lang verhaal kort te maken: dual bootable was geen optie.

Voor een aantal DOS-spelletjes (Lemmings, bijvoorbeeld), ons administratiesysteem (lang geleden door onze contactpersoon gebouwd in Clipper) en onze culturele database gebruiken wij DOSBox, onder Linux, Mac OS X en de latere versies van Windows die wij soms op locatie tegenkomen en waar die hufters een deel van de DOS-functionaliteit uitgesloopt hebben. Onze eerste gedachte was dan ook om Windows 98 SE te beschouwen als een DOS-spelletje en gewoon in DOSBox te installeren, maar daar trapte DOSBox niet in. WINE bleek ook niet te voldoen, daar het installeren spaak liep op de onmogelijkheid een nieuwe programmagroep aan te maken. Daar zit je dan, met een boze captain (“Schiet eens op lul! Tijd is geld!”), een lachende Stommeling Jones (“Whahahahaha! En dat noemt zich Technische Dienst!”) en een huilend dochtertje van onze stagiaire (“Whèèèèèèèèè! Ik wil Kèèèèèrmit! Stomme ome TD!”).

Volledige virtualisatie was de enige oplossing. Na wat experimenteren met verschillende paketten kwamen we uit bij Qemu, al was het maar omdat je in de tijd die je nodig hebt om Bochs een beetje te leren begrijpen geld genoeg kunt verdienen om er gewoon een extra machine, top of the range, met de laatste versie van Windows bij te zetten, nadat je eerst een zeiltocht rond de wereld gemaakt hebt. In Qemu hebben wij een virtuele schijf aangemaakt met het volgende commando, of iets wat erop lijkt (wij hebben geen aantekeningen gemaakt, want wij waren te druk bezig):

qemu-img create -f qcow2 win98se.img 10GB

Zo’n virtuele schijf is maar een virtuele schijf, zo’n virtuele schijf, dus daar moet je dan nog wel een besturingssysteem op zien te krijgen. Nu hadden wij toevallig nog de beschikking over de images van een installatiediskette en de bijbehorende CD-rom van Windows 95, dus hebben we in eerste instantie Windows 95 geïnstalleerd. Om dat te kunnen doen, moesten wij de virtuele machine als volgt aanroepen:

qemu -localtime -cdrom /dev/cdrom -fda win95install.img -m 256 win98se.img

Merk op dat we hier een fysieke CD-drive geïnstalleerd hadden, aangezien we de CD ook nog ergens teruggevonden hadden. We hadden ook het ISO-image kunnen gebruiken. In ieder geval lukte het om Windows 95 te installeren en wij waren al blij, maar toen kregen wij te maken met een bug in de door ons gebruikte Qemu versie: het beeldscherm, of althans de beeldschermadapter bleek niet goed te functioneren. Qemu gebruikt standaard een emulatie van een Cirrus-adapter en ofwel die adapter, ofwel de driver deugt niet, met als gevolg dat Windows 95 iedere keer vastsloeg als wij probeerden de door ons gewenste schermresolutie en kleurendiepte in te stellen. Dat schoot niet op, maar goed. Uiteindelijk zijn wij er in enig stadium in geslaagd om een werkende driver te vinden en te installeren, en wel de VBE9X.

Toen zaten we dus al met onze virtuele machine op internet, maar we weten niet meer uit ons hoofd of dat was voor- of nadat we Windows 98 geïnstalleerd hadden. Dat was overigens ook nog een behoorlijk gekloot, want van Windows 98 hadden we de flop niet meer en ook geen installatie-CD, zelfs geen image, maar wel de directory Win98 van de CD, zodat we setup konden draaien. Die directory stond op een backup-CD, dus die konden we gewoon lezen vanuit onze virtuele DOS-bak. Nadat wij de directory Win98 op de virtuele schijf gezet hadden, hebben wij onze VDB (Virtuele Dos-Bak) geboot vanaf het image van een bootflop dat we nog ergens hadden (“het image dat”, “de bootflop die”), waarop wij vanuit de directory Win98 setup aanriepen en vervolgens meer dan een uur nix te doen hadden, aangezien die installatie zo traag was als dikke stront door een trechter. Uiteindelijk lukte het wel.

We waren bijna klaar. Alleen moesten we nog even amnhltm installeren, tegen de oververhitting van de processor (niet de virtuele, maar de echte), dat wij hier vonden. Voor het geluid dachten wij aan Soundblaster en dat was het wel zo ongeveer. Eindelijk konden we het kind die vermaledijde Muppets weer voorschotelen:

qemu -localtime -cdrom IONA.iso -m 256 -no-acpi -soundhw sb16 win98se.img

Dat “-no-acpi” hadden we ergens gelezen en dat bleek ergens goed voor te wezen. De installatie verliep vlot en het kind was de koning te rijk. Omdat wij in ons eerste experiment niet gestikt zijn, besloten wij ook wat oude zooi (Flightsimulator voor Windows 98, Delphi 7, een Laurel en Hardy Encyclopedie) te installeren en eens te zien hoe dat werkte. Nou, dat werkte dus helemaal niet. Of niet goed genoeg, want te traag dus meer. Hierop bedachten wij dat het tijd werd voor Kqemu, want dat zou de boel versnellen:

sudo apt-get install kqemu-common kqemu-source

Gevolgd door:

sudo modprobe kqemu

Vervolgens onszelf nog toevoegen als gebruiker van kqemu:

sudo vim /etc/group

En dan natuurlijk de gebruikersnaam aanbrengen op de regel van kqemu, wat in ons geval de laatste regel was. Hartstikke mooi en verdomd, het leek nog te werken ook. Vooral de Laurel en Hardy Encyclopedie voer er zeer wel bij.

Natuurlijk was daarmede de kous niet af, want nu bedachten wij, dat wij ook wel graag het eerdergenoemde administratieprogramma op de virtuele machine zouden willen draaien, wat al gauw sneller zou werken dan DOSBox, waarbij we dat administratieprogramma wel zouden willen blijven synchroniseren met de redactionele USB-sticks, aangezien het geen netwerkprogramma is. Hiertoe leek het ons noodzakelijk de virtuele schijf ook te kunnen aanroepen vanuit Linux. Welnu, dat bleek in principe te kunnen, maar het ging mis.

Dat bleek dan weer te liggen aan het feit dat wij onze virtuele harde schijf met qcow een variabele omvang hadden gegeven, terwijl wij een zogeheten RAW image nodig bleken te hebben. Converteren dus:

qemu-img convert -f qcow2 win98se.im -O raw win98raw.img

Daarmede waren we nog niet klaar, want toen moesten we die schijf nog mounten, wat nog steeds niet lukte. Dat bleek dan weer te liggen aan het feit dat wij de offset niet goed meegaven aan het commando en toen we dat wel deden, lukte het om de schijf te mounten:

sudo mount -t msdos -o rw,loop,offset=32256 win98raw.img schijfbeeld

Toen bleek dat we hem wel konden lezen maar er niet op konden schrijven en dat is niet handig. Dat hebben wij ondervangen door tegen onze gewoonte in het programma Nautilus als root te draaien:

sudo nautilus

De root is namelijk de eigenaar en alleen de root mag erop schrijven, blijkt. En passant hebben we ook nog even een superuser aangemaakt, opdat wij in voorkomende gevallen ook als “root” kunnen inloggen (dat is in Ubuntu standaard niet mogelijk). Dat aanmaken bleek buitengewoon simpel. Je geeft de root een wachtwoord en klaar ben je:

sudo passwd root

Nu hebben wij dus een draaiende VDB onder Ubuntu. We kunnen er zelfs internet mee op, maar dat willen we liever laten, aangezien je dan een van de voordelen van Linux zelf weer teniet doet: virussen werken ook op een virtuele machine.

De machine emuleert een PC met Windows 98 SE en doet dat goed: hij blijft regelmatig hangen, waarna hij opnieuw moet worden opgestart. Net echt. Verschil is echter dat we de echte compjoeter niet hoeven te rebooten als Windows vastslaat, aangezien we gewoon via Ctrl-Alt-F1 naar een terminal kunnen om qemu om zeep te helpen:

pkill qemu

En daarna kunnen we het gewoon weer aanzetten, waarbij Windows opstart met Scandisk, omdat de computer niet goed was afgesloten. Ook dat herinneren wij ons maar al te goed van vroeger. En nu op naar nieuwe avonturen.

4-09-2009 14.27 | Door: Technische Dienst | Categorie: Computerij

Er zijn 2 reacties op “Windows 98 SE met Qemu onder Ubuntu”

  1. […] beschreven wij hoe wij Windows 98 SE met Qemu onder Ubuntu aan de praat gekregen hadden en ook dat wij daardoor een oude scanner een tweede leven hadden […]

  2. […] schreven wij ‘Windows 98 SE met Qemu onder Ubuntu‘ en ‘ Windows XP met Qemu onder Ubuntu: maar waarom in vredesnaam?‘. Vandaag […]


Opinieleiders.nl © 1999 - 2021 Alle rechten voorbehouden
Contact   Valid XHTML 1.0 TransitionalValid CSS!KuijkStrip over de zinloosheid van webloggen, onder andere
WordPress 4.7.21 RSS-feed/RSS-feed reacties