Outils pour utilisateurs

Outils du site


sysadmin:linux:virtualisation:kvm:installation_invite:creation-vm-windows-95

KVM : Créer une VM Windows 95 OSR2

:TODO:

Windows 95 est sorti en aout 1995, c'est un système 32 bits non compatible avec les processeurs 16 bits (80386 et ses prédécesseurs). Le fonctionnement de Windows 95 est intimement lié à MS-DOS 7 (inclus).

On installe ici Windows 95 OSR2.51). Cette révision s'appuie sur le système de fichier VFAT au lieu FAT16 et supporte ainsi des noms de fichiers plus longs (255 caractères). Cette version inclus également le support de l'USB.

Environnement

Date 2026-06
Architecture x86_64
Système hote Ubuntu 24.04.4 LTS (noble)
Kernel 6.17.0-35-generic
libvirt libvirt 10.0.0
QEMU 8.2.2

Configuration matérielle recommandée :

  • Processeur : Intel 80486
  • Espace disque dur : 420 Mo
  • Mémoire vive : 8 Mo de RAM
  • VGA ou moniteur de résolution supérieure (640×480 pixels, SVGA-256 couleurs recommandé).
La plupart des programmes prévus pour Windows 95 peuvent être exécutés sous Windows 98. En cas d'instabilités ou de difficultés de virtualisation avec Windows 95, il est tout à fait possible d'envisager la virtualisation Windows 98.
virt-install  --connect qemu:///session \
--name win95 \
--metadata title="Windows 95OSR2.5",description="Windows 95 OEM Service Release 2.5 / MS-DOS 7.1" \
--osinfo win95 \
--virt-type kvm --arch i686 \
--cpu pentium --memory 64 --vcpu 1 \
--audio id=1,type=pipewire \
--sound sb16 \
--video=vga \
--install no_install=yes \
--boot loader=/home/yoann/KVM/win95/seabios-no-pnp.bin,bootmenu.enable=on,hd \
--disk device=floppy,bus=fdc,path=/home/yoann/KVM/sysinstall/win95/w95-boot-disk.img \
--disk size=1,format=qcow2,path=/home/yoann/KVM/win95/win95.qcow2 \
--disk device=cdrom,bus=ide,path=/home/yoann/KVM/sysinstall/win95/W95_OSR25FR.iso \
--network bridge=virbr0,model=rtl8139 \
--autoconsole graphical \
--dry-run --debug

A propos des options utilisées :

Pour que le matériel présenté par l'hyperviseur QEMU soit correctement détecté par les systèmes Windows95/98 on doit utiliser une version spécifique du BIOS SeaBIOS ( notamment sans l'option CONFIG_PNPBIOS active à la compilation. confère https://github.com/JHRobotics/softgpu/blob/main/qemu.md)

Au démarrage de la VM :

  • Appuyer sur ESC pour afficher les options de démarrage ;
  • Lancer le démarrage depuis le lecteur de disquette choix 3. Floppy [drive A] ;
  • Laisser l'option par défaut (choix 1) pour le pilote CD-ROM Load NEC IDE CDROM driver;

Il faut commencer par créer la partition et le système de fichier. Depuis le prompt, exécuter fdisk et opter le support des disques de large capacité :

Saisir les choix :

  1. 1. Create DOS partition or Logical DOS Drive ;
  2. 1. Create Primary DOS Partition ;
  3. Pour utiliser tout l'espace disponible et activer la partition, laisser le choix par défaut [Y]es ;
  4. Appuyer sur Esc pour quitter fdisk

Redémarrer la VM :

virsh reset win95
 
# Equivalent
virsh send-key win95 KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE

Comme précédemment, démarrer à nouveau sur la disquette. Depuis le prompt créer le système de fichier :

FORMAT C:

Il va falloir patcher les fichiers d'installation de Windows95. Pour pouvoir les modifier, on les copie sur le disque :

Deux méthodes :

  1. VM éteinte : depuis l’hôte, on monte le système de fichiers de l'invité et on copie le contenu de l'ISO;
  2. Depuis l'invité en cours d'exécution on copie les fichiers (plus long).

Méthode 1 : copie depuis l’hôte

Cette méthode nécessite l’installation de guestmount

# Eteindre la VM
virsh destroy win95
 
# Monter le FS du disque de l'invité
guestmount -a win95.qcow2 -m /dev/sda1 ~/Public/
 
# Monter l'ISO
sudo mount -o loop,ro /home/yoann/KVM/sysinstall/win95/W95_OSR25FR.iso /mnt/
 
# Copier les fichiers
mkdir ~/Public/WIN95CD
cp --recursive /mnt/* ~/Public/WIN95CD/
 
# Démontage ISO et fichier disque invité
sudo umount /mnt
guestunmount ~/Public/
 
# Faire un snapshot
qemu-img snapshot -c install-files win95.qcow2
 
# On redémarre la VM et on boot sur la disquette.
virsh start win95 && virt-viewer --wait win95

Méthode 2 : copie depuis l'invité

C:
MD W95CD
CD W95CD
COPY D:\WIN95\*.* .

Une fois les fichiers copiés, on peut lancer le programme de patch. Depuis l’hôte charge l'image disquette :

# Retirer le CD-ROM : l'installation se fera depuis la copie sur le disque
virsh change-media win95 hdb --eject 
 
# Remplacer la disquette de démarrage
virsh change-media win95 fda --eject
virsh change-media win95 fda /home/yoann/KVM/sysinstall/win95/patcher9x-0.9.91-boot.ima

On corrige directement les fichiers d'installation :

A:
PATCH9X.EXE -AUTO C:\WIN95CD\WIN95

Le programme corrige les fichiers et affiche le résultat :

On peut maintenant lancer l'installation avec les fichiers corrigés :

C:
CD \WIN95CD
INSTALL.EXE

A la fin de la procédure d'installation, retirer la disquette et cliquer sur redémarrer.

Redémarrer une fois de plus sur la disquette et lancer l'installation :

D:

L'installateur se lance, saisir la clé OEM : 24995-OEM-0700707-37345

Applications

:TODO_DOCUPDATE:

  • winamp
  • realplayer
  • quicktime
  • acrobat reader

Références

1)
OEM Service Release 2.5
sysadmin/linux/virtualisation/kvm/installation_invite/creation-vm-windows-95.txt · Dernière modification : 2026/06/20 13:42 de yoann