+--------------------------------------+ | Sauvegarde de partition | | | | http://www.partition-saving.com | | Copyright (c) 1999-2008 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). ------ Toutes les marques et marques déposées sont les propriétés de leurs détenteurs respectifs.