Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux
On se lasse de tout, sauf de comprendre.
Attribué à Virgile.
10 décembre 2012 : Reprise et actualisation de la page de l'ancien site de Païou.
Pour : tout esprit curieux.
Tout ordinateur possède un BIOS, c'est-à-dire un microprogramme qui initialise les différents périphériques (bus, ram, disques ...).
Il recherche un système d'exploitation situé dans une petite zone, sur l'un de ses périphériques accessibles.
La taille et l'emplacement de cette zone dépendent de la plate-forme informatique et du dispositif.
Celle-ci est généralement placée sur le premier secteur de la première piste du périphérique de démarrage (souvent, le premier disque dur).
Ce secteur est de taille trop réduite pour contenir un programme autonome. Son rôle est limité au chargement d'un programme de taille plus importante, typiquement le système d'exploitation, de manière directe ou via un chargeur d'amorçage.
Pour lire le contenu de ce premier secteur avec linux, il suffit, dans une console, de taper :
dd bs=512 count=1 if=/dev/fd0 of=/chemin/nom_fichier.img
avec bs=512 (taille, en octets, du secteur), count=1 (copie uniquement 1 bloc, comme aucun décalage n'est indiqué, c'est donc le premier secteur), if=/dev/fd0 (lire la disquette) et of=xxx (nom du fichier de destination).
Les disquettes examinées ci-dessous ne sont pas des disquettes système, c'est-à-dire qu'elles ne permettent pas de démarrer un ordinateur, vu qu'elles ne contiennent pas le programme minimal nécessaire.
Elles délivrent un message :
This is not a bootable disk. Please insert a bootable floppy and press any key to try again ...
L'examen de leur premier secteur est cependant très instructif.
Leur contenu dépend de l'outil qui a servi à la formater.
Il s'agit, ici, d'un formatage de bas niveau.
Le premier secteur est entièrement rempli de motifs "f6".
Ce formatage ne prépare même pas la disquette à recevoir des fichiers.
En d'autres mots, il n'y a pas encore de système de fichier.
Ce formatage permet d'effacer totalement les données d'une disquette.
On remarque, ici, la structure habituelle d'un secteur d'amorçage de type "disquette" :
À part le nombre de secteurs par piste et les secteurs totaux, les valeurs sont identiques à celles ci-dessus.
Les commandes mtools sont la plupart de celles disponibles sous DOS, en ajoutant devant le nom de la commande la lettre m.
Exemple mformat a:
La structure et les caractéristiques sont semblables à celles de mkfs.msdos
Là également, la structure et les caractéristiques sont semblables à celles de mkfs.msdos
Là également, la structure et les caractéristiques sont semblables à celles de mkfs.msdos
Adresse | Contenu | Taille | mkfs.msdos | MSDOS 6.22c | Freedos | mkfs.msdos 1722 |
00-02 | Saut à la routine de BOOT | 3 octets | eb 3c 90 saut à 00 3e 90 = NOP | eb 3c 90 saut à 00 3e 90 = NOP |
eb 3c 90 saut à 00 3e 90 = NOP | eb 3c 90 saut à 00 3e 90 = NOP |
03-0A | Fabriquant, version | 8 octets | mkdosfs | MSDOS5.0 | FDOS_1.0 | mkdosfs |
0B-0C | Nbre d'octets par secteur | 2 octets | 00 02 0200h = 512 | 00 02 0200h = 512 |
00 02 0200h = 512 | 00 02 0200h = 512 |
0D | Secteurs par grappe | 1 octet | 01 01h = 1 | 01 01h = 1 |
01 01h = 1 | 01 01h = 1 |
0E-0F | Secteurs réservés | 2 octets | 01-00 0001h = 1 | 01-00 0001h = 1 |
01-00 0001h = 1 | 01-00 0001h = 1 |
10 | Nbre FAT (Tables Allocation Fichiers) | 1 octet | 02 02h = 2 | 02 02h = 2 |
02 02h = 2 | 02 02h = 2 |
11-12 | Entrées max. dans répertoire racine | 2 octets | e0-00 00e0h = 224 | e0-00 00e0h = 224 |
e0-00 00e0h = 224 | e0-00 00e0h = 224 |
13-14 | Secteurs totaux (si <32 Mo) | 2 octets | 40-0b 0b40h = 2880 | 40-0b 0b40h = 2880 |
40-0b 0B40h = 2880 | 74-0d 0d74h = 3444 |
15 | Descripteur de supports F0=disquette 3.5 pouces, 18 secteurs par piste F8=disque dur | 1 octet | f0 | f0 | f0 | f0 |
16-17 | Secteurs par FAT | 2 octets | 09-00 0009=9 | 09-00 0009=9 |
09-00 0009=9 | 0a-00 000a=10 |
18-19 | Secteurs par piste | 2 octets | 12-00 0012=18 | 12-00 0012=18 |
12-00 0012=18 | 15-00 0015=21 |
1A-1B | Nbre de têtes | 2 octets | 02-00 0002=2 | 02-00 0002=2 |
02-00 0002=2 | 02-00 0002=2 |
1C-1F | Secteurs cachés | 4 octets | 00-00-00-00 00000000=0 | 00-00-00-00 00000000=0 |
00-00-00-00 00000000=0 | 00-00-00-00 00000000=0 |
20-23 | Secteurs totaux (si >32 Mo) | 4 octets | 00-00-00-00 00000000=0 | 00-00-00-00 00000000=0 |
00-00-00-00 00000000=0 | 00-00-00-00 00000000=0 |
24 | Numéro de lecteur physique. À partir de 00 pour disquette, à partir de 80 pour disque dur | 1 octet | 00 | 00 | 00 | 00 |
25 | Numéro de la tête actuelle (pour NT) | 1 octet | 00 | 00 | 00 | 00 |
26 | Signature secteur de BOOT étendu (28 ou 29) | 1 octet | 29 | 29 | 29 | 29 |
27-2A | Numéro de série | 4 octets | c2 e2 fd 46 | e7 16 61 30 | 0f 14 11 11 | fb e3 bb ae |
2B-35 | Nom du volume (est remplacé par le nom dans la FAT) | 11 octets | 11 octets 00 | NO NAME | NO NAME | NO NAME |
36-3D | Système de fichiers utilisé | 8 octets | FAT12 | FAT12 | FAT12 | FAT12 |
3E-1FD | Début habituel de la routine de boot | 448 octets | ||||
1FE-1FF | Signature du secteur de BOOT | 2 octets | 55AA | 55AA | 55AA | 55AA |
Contrairement aux disquettes précédentes, ces disquettes contiennent un système d'exploitation minimal, permettant le démarrage de l'ordinateur.
tomsrtbt (Tom's root boot) est une distribution Linux très petite, mais entière (MiniLinux). C'est en fait une "disquette de secours" contenant environ 100 outils de récupération. Elle peut être stockée sur une simple disquette 1.44 Mo (qui est alors formatée en haute densité 1.72M)
De ce fait, les valeurs changent par rapport à une disquette normale.
La première instruction, EB3C, renvoie à un programme d'amorçage FA 33 C0 8E D0 BC ...
Ce dernier, de taille réduite (vu la place restante dans un secteur de 512 octets), va simplement charger en mémoire un programme plus important, le noyau du système d'exploitation.
En fait, ce noyau est constitué de deux fichiers MSDOS.SYS (le noyau proprement dit) et IO.SYS (gère les périphériques ou entrées/sorties).
Le noyau est complété par COMMAND.COM, l'interpréteur de commandes.
D'autres fichiers sont bien sûr nécessaires pour disposer d'un système d'exploitation assez complet. L'installation demandait 3 disquettes.
Microsoft n'était pas le seul à avoir développé un DOS (Disk Operating System). En fait, Microsoft avait racheté QDOS, il l'avait amélioré et l'avait ensuite fourni à IBM, sous le nom de PC-DOS, avant de créer MSDOS.
Par ailleurs, Digital Research, créateur de CP/M a également créé DR-DOS.
Puis un système libre est venu : FreeDOS. Sa version finale (1.0) est sortie en 2006.
Leur fonctionnement est semblable. Le nom des fichiers change cependant :
La même première instruction renvoie également à l'adresse 003E, où se trouve un autre programme.
Contrairement aux disquettes système, ces disquettes contiennent simplement une application qui doit charger un système d'exploitation situé ailleurs.
Le plus souvent, ces chargeurs permettent de choisir entre plusieurs systèmes d'exploitation différents. C'est leur grand intérêt.
Syslinux est un chargeur d'amorçage pour Linux, léger, de faible taille. Isolinux est son équivalent pour les CDROMs
Il était notamment utilisé sur certaines disquettes d'installation d'anciennes versions de Mandriva.Les disquettes était faites à partir des images :
Installé sur un disque dur, Syslinux permet de choisir entre plusieurs systèmes d'exploitation installés sur un méme ordinateur.
La figure ci-contre montre le premier secteur d'une disquette formatée en FAT12 avec les renseignements habituels :
Isolinux est l'équivalent de Syslinux, mais pour les CDROMs
Du temps où les noyaux linux n'étaient pas encore aussi importants, il était possible de créer une disquette permettant l'installation d'un système linux.
Il s'agit, ici, d'une disquette formatée en FAT12 avec les renseignements habituels :
En général, le disque dur comprend un chargeur de démarrage permettant de choisir un mode de démarrage parmi plusieurs.
Il est, par exemple, possible de choisir entre Mageia et Windows, si les deux systèmes sont installés,
ou encore entre Mageia normal et la version de secours (correspondant au mode sans échec).
Comme pour les disquettes, la première instruction renvoie à un programme placé plus loin, mais cette fois c'est le chargeur de démarrage, en l'occurrence Grub.