                   +--------------------------------------+
                   |       Sauvegarde de partition        |
                   |                                      |
                   |   http://www.partition-saving.com    |
                   | Copyright (c) 1999-2009 D. Guibouret |
                   +--------------------------------------+

                         Informations additionnelles

Table des matières
------------------

  0- Préambule
  1- Les types d'accès aux disques durs
  2- Le partitionnement
     a) Principe:
     b) La table des partitions:
  3- Pourquoi la sauvegarde de partition ?
  4- Pourquoi un programme sous DOS ?

0- Préambule
------------

Ce fichier donne quelques précisions sur les disques durs, le partitionnement
et le fonctionnement du programme. Ceci est donné à titre indicatif.

1- Les types d'accès aux disques durs
-------------------------------------

Au niveau du BIOS, deux types d'accès à un disque dur existent:

  - par sa définition physique (cylindre/tête/secteur). Ce type d'accès a été
    défini en premier. Malheureusement il ne permet pas de dépasser une
    capacité de 8 Go, ce qui a été amplement dépassé ces dernières années (et
    même pour des disques ayant une capacité inférieure à cette taille, la
    définition physique réelle n'est plus respectée).
  - par un accès linéaire. Le disque est considéré comme étant une unique
    piste (comme pour un CD par exemple). Des disques jusqu'à 2 To peuvent
    être ainsi accédé.

Si le deuxième type d'accès est disponible, c'est celui-ci qui est utilisé par
défaut par savepart/restpart même si le disque fait moins de 8 Go.

2- Le partitionnement
---------------------

  a) Principe:
Le partitionnement est un système permettant d'installer plusieurs systèmes
d'exploitation sur un même disque dur. Chaque système d'exploitation possède
une partie du disque dur qu'il gère comme il veut.
Cela permet également de créer plusieurs lecteurs logiques pour un même
système d'exploitation (ex: les unités C: D: E: ... sous DOS).
Pour cela les informations de partitionnement sont enregistrées sur le disque
dur afin que chacun des OS puisse savoir à qui appartient chaque partie du
disque: ces informations constituent la table des partitions. Une fois qu'un
OS sait quelle(s) partition(s) il utilise, il met en place les fonctionnalités
permettant d'accéder aux données écrites sur cette partition en tenant compte
de la manière dont il les stocke (système FAT sous DOS, ext2fs sous Linux,
...). A ce niveau là il est incapable d'accéder aux données des autres
partitions (à moins de mettre en place des extensions lui permettant d'y
accéder: par exemple Linux est capable d'accéder aux partitions DOS).

  b) La table des partitions:
Ici ne sera présenté que le format le plus couramment utilisé (désolé pour les
autres, mais je n'ai ni les informations ni les OS permettant de réaliser des
tests): c'est celui utilisé notamment par Microsoft, Linux, OS2, BeOS, ... (le
seul OS que je connaisse qui n'utilise pas ce format est Solaris x86).
Ce format de table de partition est le suivant:

  - sur le premier secteur du disque dur est stockée une table définissant
    quatre partitions (qui peuvent être éventuellement vide). Cette table
    permet de définir le type de la partition et son emplacement sur le disque
    (plus quelques autres informations).
  - la limitation à quatre partitions ayant été jugée trop restrictive une
    notion de partition étendue a été ajoutée. Pour cela parmi les 4 premières
    partitions (appelées dorénavant partitions principales), peuvent être
    définies des partitions ayant un type particulier. Lorsque une partition
    possédant ce type est définie, il faut aller lire le secteur au début de
    cette partition où se trouve une nouvelle table définissant cette fois-ci
    de 1 à 2 partitions (il semblerait que OS2 supporte jusqu'à 4 partitions):
    la première étant une partition de données, la deuxième (si elle est
    définie) étant une nouvelle partition étendue. Si cette deuxième partition
    est définie il faut donc aller lire de nouveau son 1er secteur pour
    trouver une nouvelle table, si elle n'est pas définie la recherche de
    partition s'arrête là. Cette méthode permet de réaliser une liste de
    partition (non limitée à priori).

Les informations données dans la table de partitions sont:

  - le type de la partition: c'est un nombre qui est associé à un type de
    partition. Il faut noter qu'aucune norme ne défini ces types et donc
    chaque fabricant d'OS s'est choisi un nombre selon son bon vouloir.
  - un flag permettant de savoir si la partition est bootable. Ce flag ne peut
    être généralement défini que pour les partitions principales.
  - une définition de l'emplacement selon la définition physique du disque dur
    (cf. la première manière d'accéder à un disque dur): l'emplacement du
    premier et du dernier secteur de la partition sont donnés.
  - une définition de l'emplacement selon l'accès linéaire: le numéro du
    premier secteur (en relatif par rapport au début de la partition étendue
    si la partition appartient à une partition étendue) et le nombre de
    secteurs composant la partition.

Comme vous pouvez le constater les informations de position sont redondantes
entre l'emplacement physique et l'emplacement linéaire. Si c'est la méthode
d'accès linéaire au disque qui est utilisé, alors ce sont les informations de
position linéaire qui sont utilisées sinon ce sont celles sur la position
physique.

3) Pourquoi la sauvegarde de partition ?
----------------------------------------

Il apparaît donc que chaque système d'exploitation organise ces données comme
il l'entend et ne sait pas ce qui se passe ailleurs. Par conséquent si on
désire faire une sauvegarde de données, il faudrait écrire un programme propre
à chaque OS (et donc qui devrait suivre l'évolution de ces OS). Une autre
solution est de s'affranchir du niveau OS en accédant directement au disque.
En effet au niveau du disque, les données n'apparaissent pas comme organisées:
elles sont simplement écrites à un endroit du disque et il n'est pas
nécessaire de se préoccuper de leur signification. La contrainte est qu'il
faut sauver l'ensemble des informations qui sont en relations les unes avec
les autres: cet ensemble minimum est la partition.
Lors de la sauvegarde d'une partition, toutes les informations sont sauvées
sans se préoccuper de leur organisation. On s'affranchit donc du système
d'exploitation, et cela permet même de pouvoir sauver des données qui sont
organisées selon une méthode encore non définie.

Remarque:
---------
L'ensemble minimum d'informations en relations qui ne dépendent pas de la
représentation des données est la partition. Mais lors de la sauvegarde il
faut tenir compte que des OS peuvent mettre en relation des partitions entre
elles. Par exemple si vous installez Windows sur le disque C: et Office sur
D:, il vous faudra sauver les partitions liées à C: et D: l'une après l'autre
(en effet l'installation d'Office va modifier la base des registres et
rajouter quelques DLL sur C: donc la partition D: est dépendante de C: et
réciproquement).

4) Pourquoi un programme sous DOS ?
-----------------------------------

Il faut bien choisir un système d'exploitation. En effet si on n'a pas besoin
de connaître le format des données que l'on sauve, il faut bien qu'elles
soient sauvées quelque part et de manière à ce que l'utilisateur puisse les
utiliser (par exemple pour les graver sur un CD). Le choix s'est naturellement
porté sur DOS car il a l'avantage d'être mono-tâche. Avec un système
d'exploitation multi-tâche, imaginez les problèmes que pourraient causer un
processus en train de modifier le contenu d'une partition au moment où on est
en train de la sauver (ou réciproque au moment de la restauration). En
général, il existe un système permettant d'empêcher l'accès simultané, mais
que ce passe-t-il quand l'accès est interdit pendant un long temps comme c'est
le cas avec ce programme (notamment pour le fichier de swap sous Windows par
exemple) ou si on restaure la partition où est l'OS quand celui-ci ne tient
pas intégralement en mémoire.
L'avantage de DOS est également qu'il peut être très rapidement installé et
tient sur une seule disquette (s'il faut déjà perdre 1/2 heure à réinstaller
l'OS avant de pouvoir restaurer une partition, l'avantage n'est pas certain).
Ainsi en ne tenant que sur une disquette il est possible de sauver une
partition sans nécessairement avoir une partition DOS installée sur un
ordinateur si celui-ci est sur un réseau possédant un serveur Samba ou possède
un système de sauvegarde avec une forte capacité (ZIP ou LS120 par exemple).
C'est pour cela que ce programme ne peut pas fonctionner sous Windows et qu'il
est déconseillé de l'utiliser sur tout émulateur DOS fonctionnant dans un
environnement multi-tâche (de plus les émulateurs peuvent ne pas implémenter
toutes les fonctions utilisées par ce programme).

Note:
-----
Ce chapitre est un peu obsolète puisqu'une version Windows existe. Cependant
pour les raisons indiquées ci-dessus, la sauvegarde de l'installation de
Windows en cours d'utilisation n'est pas possible car Windows ne permet pas
d'en empêcher l'accès simultané à cette partition. Par conséquent dans ce cas,
vous avez besoin d'un CD WinPE ou BartPE.

------
Toutes les marques et marques déposées sont les propriétés de leurs détenteurs
respectifs.
