Archive pour le mot-clef ‘WinXP’

Linux reconcilie DOS, Win98 et XP sur un même disque

Samedi 6 juin 2009

Depuis un petit moment, j’accumule sur les brocs quelques vieux jeux PC qui m’ont quand même bien amusés il y a quelques années. Contrairement au jeu console ancienne, c’est pas évident de retrouver une configuration de PC adapté à 20 évolutions de la machine. C’est pourquoi je me suis lancé dans la configuration d’un vieux PIII 950 Mhz avec 512 Mo de ram et deux HDD de 80Go, carte son ISA Gravis PnP & SB16 MCD, carte graphique ATI Fury Rage Pro 128,  une 3DFX voodoo2 pour les jeux utilisant Glide.

Bon clairement, les 160 Go de disques durs, ce n’est pas que pour les jeux DOS hein :) et puis le XP là dessus, c’est pour quoi faire ? hé bin peut-être une ébauche de borne Mame  qui sait !

Début difficile

J’ai bien envie de lâcher quelques grossièreté direct tellement j’en ai bavé à faire cohabiter ce beau monde. Il faut dire que Microsoft s’est plié en quatre pour nous pondre des installateur de merde (oups ça m’a échappé).  Si l’on en juge par la procédure du support MS, il est tout à fait possible d’arriver au résultat que j’attends. En bref, on installe le DOS puis Windows 98 et enfin windows XP et le tour est joué. Dans les faits, c’est une autre paire de manche …

Ma méthode

Après quelques installations répétées des divers OS   (mon CD de Windows 98 SE écrase mon installation DOS systématiquement quand j’exécute le fichier install.exe ou bien  il refuse tout simplement de s’installer si le PC  boote sur le CD au démarrage de la machine en invoquant que mon disque dur contient déjà un OS ), je décide d’installer les OS séparément en effectuant une image de la partition en fin d’installation.

Pour rappel, le DOS 6.2 et Windows 98 ont besoin d’une partition primaire bootable. Un disque peut contenir jusqu’à 4 partitions primaires mais une seule peut-être bootable. Autre remarque, le DOS 6.2 s’installe sur une partition formatée en FAT16 (donc limité à 2Go en taille). Windows 98 support la FAT16 et la FAT32 avec une taille de partition max de 32Go. Enfin Windows XP supporte une installation en FAT32 et en NTFS.

Une fois terminé, j’ai donc 3 images de partitions correspondantes à ces fameux OS. Pour pouvoir faire cohabiter tous ce beau monde, il nous faut un bootloader. C’est là qu’intervient notre linux.

Grub, le bootloader de la mort qui tue

Comme je suis attaché à la distribution linux Ubuntu, je décide de partir sur l’installation de la 8.1 qui est une version stable et compatible avec mon PIII. Un petit coup de fdisk depuis le LiveCD d’Intrepid. Je génère mes partitions comme suit :

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda1            6639        9704    24627645   17  Hidden HPFS/NTFS
/dev/sda2   *           1         258     2072353+   6  FAT16
/dev/sda3             259        1822    12562830    5  Extended
/dev/sda4            1823        6638    38684520   1c  Hidden W95 FAT32 (LBA)
/dev/sda5             259         519     2096451    6  FAT16
/dev/sda6             520         780     2096451    6  FAT16
/dev/sda7             781        1041     2096451    6  FAT16
/dev/sda8            1042        1742     5630751   83  Linux
/dev/sda9            1743        1822      642568+  82  Linux swap / Solaris

J’en profite pour installer Ubuntu sur une partition logique de 5Go. Je déclare chaque système d’exploitation dans le fichier /boot/grub/menu.lst (fichier de configuration de Grub) :

title        Microsoft Windows XP Professionnel
hide            (hd0,1)    # cache MSDOS622
hide            (hd0,3)    # cache WIN98SE
unhide          (hd0,0)    # rend visible WINXP
unhide          (hd1,0)    # rend mon second disque visible
unhide          (hd1,1)    # idem
unhide          (hd1,2)    # idem
rootnoverify    (hd0,0)
savedefault
chainloader    +1
makeactive                 # la partition devient bootable
title        Windows 95/98/Me
hide            (hd0,1)    # cache MSDOS622
unhide          (hd0,3)    # WIN98SE
hide            (hd0,0)    # cache WINXP
hide            (hd1,0)    # et le second disque
hide            (hd1,1)    #
hide            (hd1,2)    #
rootnoverify    (hd0,3)
savedefault
chainloader    +1
makeactive

title           MSDOS 6_22
unhide          (hd0,1)    # MSDOS622
hide            (hd0,3)    # WIN98SE
hide            (hd0,0)    # WINXP
hide            (hd1,0)
hide            (hd1,1)
hide            (hd1,2)
rootnoverify    (hd0,1)
savedefault
chainloader     +1
makeactive

Enfin, je restaure sur chaque partition primaire l’image ghost de chacun des OS. Un petit reboot est le tour est joué !

Et maintenant, à moi la joie de la configuration de mon config.sys et autoexec.bat :)