                +----------------------------------------+
                |                                        |
                |        Sauvegarde de partition         |
                |                                        |
                | http://perso.club-internet.fr/guiboure |
                |  Copyright (c) 1999-2000 D. Guibouret  |
                +----------------------------------------+

Table des matires
------------------

  0- Prambule
  1- Prsentation
  2- Configuration ncessaire
  3- Evolutions
     a) V1.00 -> V2.00:
  4- Fonctionnement de l'interface
     a) Les boutons de commande:
     b) Les lignes d'entre:
     c) Les listes:
  5- Savepart.exe
     a) Choix du disque:
     b) Choix de la partition:
     c) Choix de la compression:
     d) Choix du fichier:
     e) Choix de la taille du fichier:
     f) Fentre de sauvegarde:
  6- Restpart.exe
     a) Choix du fichier:
     b) Choix de la partition:
     c) Fentre de restauration:
  7- Les erreurs
     a) Les erreurs fatales:
     b) Les erreurs non fatales:
  8- Ce qui n'est pas support
  9- Ce qui n'a pas pu tre test
 10- Remerciements


0- Prambule
------------

Ce programme peut tre copi et redistribu librement. Il ne peut en aucun cas
tre vendu que ce soit seul ou inclus dans un autre programme. Tout ce qui est
dans ce paquetage doit tre conserv ensemble dans sa forme originelle.

Ce programme est fourni tel quel sans aucune garantie. Aucune poursuite ne
pourra tre engage contre l'auteur en cas de dommages causs par ce
programme.

Toutes les remarques sont les bienvenues.


1- Prsentation
---------------

Ce programme a pour but de raliser la sauvegarde et la restauration de
partitions. Ceci permet de sauver le contenu d'un disque dur pour pouvoir
ensuite le restaurer en cas de problme sans ncessiter de passer du temps
 tout rinstaller et reconfigurer.
Ce programme est divis en 2 excutables:
 - savepart.exe qui permet de raliser la sauvegarde.
 - restpart.exe qui permet de raliser la restauration.

Pour tout renseignement sur le partitionnement ou sur le programme veuillez
vous rfrer au fichier partinfo.txt.


2- Configuration ncessaire
---------------------------

Matriel:
  - 386 ou suprieur.
  - 4 Mo de mmoire (peut marcher  moins mais la compression des donnes
pourrait ne pas tre possible).
Logiciel:
  - DOS (version >= 3.3).

Ce programme ne fonctionne pas sous Windows (cf. le fichier partinfo.txt) et
il est dconseill de l'utiliser sous un mulateur (surtout s'il fonctionne
dans un environnement multi-tches).


3- Evolutions
-------------

  a) V1.00 -> V2.00:
Les modifications apportes sont les suivantes:
  - ajout de la prise en compte des disques de plus de 8 Go.
  - ajout de la possibilit de compresser les donnes.
  - ajout de la possibilit de sauver les donnes dans plusieurs fichiers.
  - modification de l'interface.
Remarque:
Ces modifications font qu'il n'est pas possible de restaurer avec la version
2.00 des fichiers crs avec la version 1.00 (et rciproquement bien entendu).


4- Fonctionnement de l'interface
--------------------------------

L'interface se pilote entirement au clavier. Les touches communes  toutes
les fentres sont:
  - Tab pour pouvoir passer d'un lment  un autre.
  - Maj+Tab pour pouvoir passer d'un lment  un autre (en sens inverse par
rapport  Tab).
Si aucun lment ne semble slectionn, appuyez sur Tab pour slectionner le
premier.
En gnral, la touche Entre actionne le bouton Ok (si ce n'est pas un bouton
qui est slectionn) et la touche Escape actionne le bouton Annuler.
Les diffrents lments d'une fentre sont prsents ci-dessous.

  a) Les boutons de commande:
Pour les activer, il faut appuyer sur la touche Entre quand ils sont
slectionns, ou sur Alt+<la lettre mise en rouge dans le nom du bouton> (mme
si le bouton n'est pas slectionn).
Un bouton est slectionn quand son fond est noir, sinon son fond est vert.
 
  b) Les lignes d'entre:
C'est ce qui permet d'entrer une donne. Il suffit de taper les caractres
pour les ajouter l o est le curseur. Delete et BackSpace permettent de
supprimer les caractres (respectivement celui du curseur et celui avant le
curseur). Les flches droite et gauches permettent de se dplacer et les
touches Home et End permettent d'aller au dbut ou  la fin de la chane.
Enfin la touche Insert permet de se mettre en mode insertion (mode par dfaut:
le curseur est le curseur-soulign) ou remplacement (le curseur est le
curseur-bloc).
Une ligne d'entre est slectionne quand le curseur apparat dedans.

  c) Les listes:
Elle permet de choisir un lment dans une liste. Les flches haut et bas
permettent de se dplacer, les touches Page-Up et Page-Down permettent d'aller
en dbut et en fin de liste.
Si la colonne de droite est de couleur diffrente et contient un # c'est que
tous les lments ne sont pas visibles et le # permet de se situer dans la
liste.
L'lment slectionn d'une liste apparat avec un fond gris si la liste n'est
pas slectionne, avec un fond noir si elle est slectionne.


5- Savepart.exe
---------------

C'est le programme qui permet de sauver une partition.

Utilisation: savepart.exe

L'excution se droule selon le diagramme suivant:

              choix du disque
                     |
                     V
           choix de la partition
                     |
                     V
          choix de la compression
                     |<-------------------------+---+
                     V                          |   |
             choix du fichier                   |   |
                     |                          |   |
                     V                          |   |
   choix de la taille maximum du fichier        |   |
                     +--------------------------+   |
                     V                              |
          fentre de sauvegarde                     |
                     +------------------------------+
                     V
                    fin

  a) Choix du disque:
Il faut slectionner le disque sur lequel se trouve la partition 
sauvegarder.
Le mode d'accs au disque est prcis:
  - accs standard: avec ce mode d'accs on accde au disque dur selon sa
dfinition physique (cylindre, secteur, tte). Avec ce mode d'accs la taille
des secteurs ne peut pas tre connue (elle est prise  512 octets qui est la
valeur standard, les autres tailles tant exceptionnelles) et la taille des
disques est limite  8 Go.
  - accs tendu: c'est le mode d'accs qui devient le standard. Dans ce mode
le disque dur est reprsent comme une unique piste (on ne se proccupe pas
de sa dfinition physique). Ce mode permet d'utiliser les disques de plus de
8 Go, cependant la taille rapporte par ces disques peut tre fausse (sans que
cela n'ai de consquence). La taille des secteurs peut tre diffrente de 512
octets bien que cette valeur reste la plus courante.
Si aucun disque dur n'est dtect, un message le signale et le programme se
termine.

  b) Choix de la partition:
Avec cette fentre vous pouvez slectionner la partition  sauvegarder.
L'ensemble des partitions trouves sur le disque vous sont prsentes. Vous
pouvez slectionner n'importe laquelle mise  part celles marques vide.
La catgorie des partitions permet de savoir si la partition est une partition
principale (les 4 premires qui sont obligatoirement prsentes) ou si c'est 
une partition dfinie dans une partition tendue (la catgorie n'est donne
que pour la premire partition de la catgorie et s'applique jusqu' ce qu'une
nouvelle catgorie soit donne).
Le numro de la partition est le numro tel que reconnu sous Linux.
Le nom du lecteur est le nom du lecteur DOS correspondant  la partition (si
c'est une partition DOS bien sr). Ceci peut tre erron dans la mesure o de
nouveau type de partition DOS peuvent tre dfinis (par exemple avec Windows95
de nouveaux types ont t dfinis pour les partitions VFAT16 et FAT32 et rien
n'empche qu'une volution semblable se reproduise).
Le type de la partition permet d'identifier le type d'OS install dessus. Dans
la mesure o ce type n'est pas normalis, la liste n'est pas exhaustive.

Remarque:
Si vous choisissez de sauvegarder une partition principale de type tendue,
vous sauvegardez toutes les partitions dfinies dans cette partition tendue
(toutes celles qui ont pour catgorie "Partition tendue n<partition tendue
choisie>").

  c) Choix de la compression:
Si vous disposez de suffisamment de mmoire, une fentre vous demande si vous
voulez compresser les donnes (sinon une fentre vous informe qu'il ne vous
reste plus assez de mmoire). L'algorithme de compression utilis est
l'algorithme du programme gzip.

  d) Choix du fichier:
Dans cette fentre vous pouvez choisir le nom et l'emplacement du fichier de
sauvegarde.
Une deuxime fentre vous informe des lecteurs DOS ayant suffisamment d'espace
libre pour contenir l'ensemble de la partition (la taille libre minimum est la
taille de la partition en considrant qu'elle n'est pas compresse).

Remarques:
  - si un lecteur n'apparat pas dans la liste des lecteurs c'est qu'il n'a
pas pu tre dtect. Cependant rien ne vous empche de taper sa lettre dans la
ligne du nom de fichier (auquel cas la liste des lecteurs n'indiquera pas le
bon lecteur mais c'est sans consquence).
  - si le fichier slectionn existe dj, une fentre de confirmation
d'effacement est ouverte (si le fichier est en lecture seule, une fentre vous
informant qu'il ne peut pas tre effac vous en informe).
  - si vous sauvez une partition DOS, il est dconseill de crer le fichier
sur la partition que vous sauvez. Si nanmoins vous n'avez pas le choix, lors
de la restauration passez scandisk afin de vrifier que le table d'allocation
des fichiers n'a pas t corrompue (si elle l'est vous ne devez pas avoir
perdu de donnes, mais c'est le fichier de sauvegarde qui tant en cours de
cration lors de la sauvegarde est incomplet lorsque la partition est
restaure (celui que vous avez utilis pour la restauration est valide, c'est
celui qui est sur la partition restaur qui ne l'est pas)).

  e) Choix de la taille du fichier:
Cette fentre vous permet de choisir la taille maximum que vous dsirez pour
le fichier. Cette taille maximum ne peut pas dpasser le minimum entre la
taille disponible sur le lecteur et 2047 Mo.
Si vous entrez 0, vous revenez  la fentre de choix de fichier.

  f) Fentre de sauvegarde:
Cette fentre vous informe de l'avancement de la sauvegarde.
La liste des erreurs est la liste des erreurs dtectes lors de la lecture des
secteurs du disque. Si vous avez les mmes  la restauration et si lorsque
vous utilisez un programme de vrification de disque (tel que la vrification
de surface avec scandisk), de mauvais secteurs sont signals, ces erreurs ne
portent pas  consquences (s'il n'y avait pas de donnes sur ces secteurs au
moment de la sauvegarde, mais a c'tait  l'OS de le dtecter).
Si la taille maximum de fichier que vous avez donne n'est pas suffisante pour
sauver toute la partition, un nouveau nom de fichier vous est demand avec 
nouveau sa taille maximum.


6- Restpart.exe
---------------

C'est le programme qui permet de restaurer une partition.

Utilisation:    restpart.exe
             ou resptart.exe -t
Si l'option "-t" est donne, aucune donne n'est crite sur le disque: le(les)
fichier(s) est(sont) vrifi(s) (vrification du checksum et s'il est
compress, vrification des donnes compresses).

L'excution se droule selon le diagramme suivant:

              choix du fichier
                     |
                     V
           choix de la partition
                     |<--------------------------------+
                     V                                 |
          fentre de restauration                      |
                     +-----------> choix du fichier ---+
                     V
                    fin

  a) Choix du fichier:
C'est la mme fentre que celle de slection de fichier lors de la sauvegarde.
L'en-tte du fichier slectionn est vrifi et une erreur est signale si
celui-ci est incorrect.

  b) Choix de la partition:
Selon le contenu de l'en-tte du fichier, une partition correspondante est
recherche (il faut qu'elle soit sur un disque qui ait le mme format, qu'elle
soit au mme emplacement et ait le mme type).
Si aucune n'est trouve, un message vous le signale et le programme se
termine.

!!!!! Attention !!!!!:
La restauration efface toutes les donnes actuellement prsente sur la
partition choisie. De plus vous ne devez pas choisir la partition sur laquelle
se trouve le fichier vous permettant de faire cette restauration (il serait en
effet effac lors de la restauration et ne serait donc plus accessible ce qui
entranerai une erreur et l'arrt de la restauration).

Remarque:
Si vous avez utilis l'option "-t", cette fentre n'apparat pas.

  c) Fentre de restauration:
Cette fentre vous permet de suivre l'avancement de la restauration.
La liste des erreurs contient les erreurs dtectes lors de l'criture des
secteurs sur le disque. Si ces erreurs sont les mmes que lors de la
sauvegarde, il n'y a pas de consquences (si ce ne sont pas les mmes ou si
il y en a moins ou plus vous risquez d'avoir perdu des donnes: passer
scandisk (ou un programme quivalent pour l'OS donn) pourra peut-tre
rsoudre le problme).
Si la partition a t sauve en plusieurs fichiers, ils vous sont demands
au fur et  mesure de l'avancement.

!!!!! Attention !!!!!:
  - lors de la slection des fichiers suivants, vous ne devez pas accder au
lecteur correspondant  la partition en cours de restauration (si c'est une
partition DOS). En effet celle-ci tant en cours d'criture, les informations
la concernant sont fausses (un peu comme si vous essayiez d'accder  un
fichier alors que la partition est en train d'tre formate).
  - une fois la restauration termine, redmarrer l'ordinateur si vous venez
de restaurer une partition DOS (ou une partition que vous pouvez accder par
le DOS), afin que celui-ci puisse mettre  jour les informations concernant
cette partition.
  - si vous annulez une restauration en cours, vous devez reformater la
partition (ou faire une nouvelle restauration).

Remarque:
Si vous avez utilis l'option "-t", comme aucune donne n'est crite sur le
disque la liste des erreurs est obligatoirement vide et les 3 remarques
prcdentes ne s'appliquent pas.


7- Les message d'erreurs
------------------------

  a) Les erreurs fatales:

  - Erreur lors de l'initialisation de l'algorithme de [d]compression
Un problme est apparu lors de l'initialisation de l'algorithme de
[d]compression. Vous pouvez ressayer en ne compressant pas les donnes.

  - Erreur lors de la [d]compression des donnes
Une erreur est apparue lors de la [d]compression des donnes. Si c'est lors
de la sauvegarde, vous pouvez ressayer sans compresser les donnes, si c'est
lors de la restauration le fichier est erron.

  - Erreur en lisant la table des partitions
La table des partitions n'a pas pu tre lue correctement. Peut-tre le disque
a une table des partitions qui ne correspond pas au format utilis.

  - La partition ne ncessite pas la mme correction de taille que ce qui est
sauv
Certains BIOS rserve le dernier cylindre du disque dur comme zone de test ou
de secteurs supplmentaire en cas de secteurs dfectueux. Selon les OS ces
secteurs sont quand mme utiliss. Il faut donc parfois amener une correction
sur le numro du dernier cylindre si la taille de la partition ne semble pas
correcte. Cette erreur apparat si lors de la restauration, la correction a
amener n'est pas la mme que celle qui l'a t lors de la sauvegarde.
Cette erreur ne peut apparatre que si le disque dur est accd par le mode
standard.

  - Erreur en crant le fichier: <message>
  - Erreur en ouvrant le fichier: <message>
Une erreur est apparue en crant ou en ouvrant le fichier de sauvegarde. Un
message (en anglais) peut prciser quelle en est la raison.

  - Erreur en se positionnant dans le fichier
  - Erreur en lisant le fichier
  - Erreur en crivant dans le fichier
Une erreur est apparue en se positionnant/lisant ou crivant dans le fichier.
Peut-tre est-il erron.

  - La taille des secteurs est suprieure  32256 octets
La taille des secteurs est trop grande (ou peut-tre errone). La taille
courante est de 512 octets (des disques existent avec une taille de 1024
octets).

  - Erreur en accdant au format du disque
Une erreur est apparue en essayant de lire les informations sur le format du
disque.

  - Le CRC calcul ne correspond pas au CRC enregistr
Lors de la restauration, le CRC enregistr dans le fichier ne correspond pas
au CRC calcul au fur et  mesure de la restauration. Peut-tre le fichier
est-il erron.

  - Le flag signalant le dernier fichier est incorrect
Dans l'en-tte un lment permet de signaler le dernier fichier. L'tat actuel
de la restauration ne correspond pas  l'lment lu. Peut-tre le fichier est
erron.

  - La taille des donnes lues ne correspond pas  la taille sauve
Dans l'en-tte un lment permet de connatre la taille des donnes dans le
fichier. L'tat actuel de la restauration ne correspond pas  l'lment lu.
Peut-tre le fichier est erron.

  - Erreur en allouant de la mmoire par l'interface DPMI
Le serveur DPMI n'a pas pu allouer de la mmoire. Si vous sauvegardez la
partition en compressant les donnes, essayer de ne pas faire la compression
pour gagner de la mmoire.

  - Erreur en appelant une interruption par l'interface DPMI
Le serveur DPMI n'a pas pu appeler une interruption. Essayez de charger en
mmoire un autre serveur DPMI qui remplacera celui utilis (CWSDPMI intgr
dans le programme).

  - Place mmoire insuffisante
De la mmoire n'a pas pu tre alloue.  Si vous sauvegardez la partition en
compressant les donnes, essayer de ne pas faire la compression pour gagner de
la mmoire.

  - La taille de la partition rapporte par la table de partition ne semble
pas correcte (<n1> contre <n2> calcule)
La taille de la partition telle qu'elle a t lue dans la table des partitions
ne correspond pas  celle qui est calcule (malgr une ventuelle tentative
de correction due au fait que le dernier cylindre d'un disque peut tre non
utilis).
Cette erreur ne peut apparatre que si le disque dur est accd par le mode
standard.

  - Aucune partition ne correspond  celle sauve dans le fichier
Il n'a pas t possible de trouve une partition qui corresponde au format de
la partition sauve. Pour qu'une partition corresponde, il faut que le format
du disque corresponde, qu'une partition soit au mme emplacement et qu'elle
soit du mme type. Cette dernire contrainte fait que par exemple si vous
sauvez une partition, installez un nouveau OS dessus, puis voulez restaurer la
partition, il faut d'abord que vous redclarer la partition comme devant tre
du type de l'ancien OS (avec FDISK sous Linux par exemple) sans qu'il soit
ncessaire de reformater ou rinstaller quelque chose sur cette partition.

  - Ce programme ne peut pas tre excut sous Windows
Ce programme ne supporte pas un environnement multi-tches.

  b) Les erreurs non fatales:

  - Ce fichier n'existe pas
Lors de la restauration vous avez donn le nom d'un fichier qui n'existe pas.

  - Ce fichier existe dj et ne peut pas tre effac (lecture seule)
Lors de la sauvegarde vous essayez de sauvegarder dans un fichier en lecture
seule.

  - Ce fichier est erron: <message>
Lors de la restauration vous avez slectionn un fichier qui semble erron.
Une possibilit est que ce n'est pas un fichier de sauvegarde ou qu'il est
erron.
Les messages peuvent tre les suivants:
    * Erreur en accdant au fichier
Le fichier n'a pas pu tre ouvert.
    * En-tte non trouv
L'en-tte du fichier n'a pas pu tre trouv. Ce n'est pas un fichier de
sauvegarde (ou il n'est pas valide).
    * Version de l'en-tte incorrecte
La version de l'en-tte est inconnue. Ce fichier a peut-tre t cr avec une
version plus rcente du programme.
    * Taille du fichier incorrecte
La taille du fichier ne correspond pas  la taille enregistr dans l'en-tte.
    * Crc de l'en-tte incorrect
Un CRC permet de contrler l'en-tte. Celui calcul ne correspond pas  celui
enregistr.
    * Format de compression incorrect
L'algorithme de compression  utiliser est inconnu.
    * Numro de fichier incorrect
Le fichier donn n'est pas celui attendu dans le cas o la restauration doit
tre ralise  partir de plusieurs fichiers. Peut-tre avez-vous interverti 2
fichiers.
    * Format du disque incorrect
Lors de la restauration  partir de plusieurs fichiers, le format du disque
dur du fichier donn ne correspond pas au format du disque dur des prcdents
fichiers.
    * Format de la partition incorrect
Lors de la restauration  partir de plusieurs fichiers, le format de la 
partition du fichier donn ne correspond pas au format de la partition des
prcdents fichiers.


8- Ce qui n'est pas support
----------------------------

Les lments suivants ne sont pas supports par le programme:
  - les partitions pour les OS ne supportant la table des partitions telle
qu'elle est dcrite (notamment Solaris x86).
  - les programmes gestionnaire de disque ( ne pas confondre avec les
gestionnaires d'amorages qui sont supports). Ce sont des programmes qui
permettent d'accder  des disques de plus de 8 Go avec un mode d'accs
standard (si vous en avez un d'install, il y a de fortes chances que vous
soyez au courant). Si jamais une seule partition est dtecte alors que vous
en avez plusieurs il y a de fortes chances pour qu'un tel programme soit
prsent.
  - les partitions tendues sous OS2 peuvent ne pas tre toutes dtectes:
dans la chane des partitions tendues, gnralement seules 2 partitions par
noeud sont dfinies (les 2 autres contenant des informations non fiables),
alors que sous OS2 les quatre peuvent tre utilises.


9- Ce qui n'a pas pu tre test
-------------------------------

Les lments suivants non pas pu tre tests:
  - disque SCSI.
  - disque avec des secteurs ayant une taille diffrente de 512 octets.
  - partitions pour des OS autre que DOS, Windows (9x) et Linux.
  - cration du fichier de sauvegarde sur la partition en cours de sauvegarde.

Si des personnes utilisent ce programme sur des lments ci-dessus, merci de
me renvoyer les rsultats et les ventuels problmes rencontrs.
Pour les personnes dsirant raliser ces tests, je leur signale que:
  - savepart.exe ne fait que lire le disque physiquement (l'criture se fait
dans un fichier par les fonctions DOS standard).
  - restpart.exe quand il est utilis avec l'option "-t" n'crit aucune donne
sur le disque.


10- Remerciements
-----------------

  - mon pre pour tre demandeur de ce programme (sans quoi il n'aurait jamais
vu le jour), pour avoir relu ce document et tre le premier cobaye de ce
programme.

  - DJ Delorie pour l'environnement de dveloppement DJGPP
(http://www.delorie.com/djgpp). Ceci inclue galement toutes les personnes
ayant aides  la ralisation de cet environnement.

  - Jean-Loup Gailly et Mark Adler pour la librairie de compression zlib
(http://www.cdrom.com/pub/infozip/zlib/).

  - Ralf Brown pour l'ensemble de la documentation qu'il a runi sur les
interruptions (http://www.pobox.com/~ralf).

  - Simon P. Bullen pour fortify (une bibliothque permettant de vrifier
l'allocation/dsallocation mmoire).


En esprant que ce programme vous sera utile,

D. Guibouret <guiboure@club-internet.fr>

Toutes les marques et marques dposes sont les proprits de leurs dtenteurs
respectifs.
