Obligement - L'Amiga au maximum

Jeudi 19 octobre 2017 - 01:56  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


En pratique : Récupérer les données d'un disque dur sous AmigaOS 1.3
(Article écrit par Sweet Gigolo et extrait d'Amiga News - juin 1991)


Avant toute chose : "Ne connaîtra jamais ces affres celui qui sauvegarde régulièrement son disque dur".

Avant propos

J'ai cru bon, en hommage à Frédéric Autechaud, d'introduire dans cette missive quelques contrepèteries afin de rendre ce plan gaillard. Cet article s'adresse à tout possesseur de disque dur, craignant sans cesse la perte d'information par (micro) coupure du courant. Je me suis servi pour cela de mon propre disque dur, et chacun devra adapter cette procédure aux spécificités éventuelles du sien. Certains éléments s'appliquent aussi aux lecteurs de disquette.

Je n'ai pas mal tardé à coucher sur le papier ces divagations binaires (deux ans !), aussi les nouvelles versions tant matérielles (FaaastROM de GVP) que logicielles (DiskSalv pour disque dur...) rendront maintenant la vie plus facile à qui il arrivera ces "petits" malheurs. Ayant décidé de me mettre à la tâche, vous allez trouver ci-dessous la suite de cet article, afin de jouer à Majax avec les partitions d'un disque dur GVP équipé des FaaastROM.

Quelques notions de base

D'abord quelques notions simplistes sur la façon dont le DOS opère une sauvegarde. Quand on sauve un fichier, le DOS écrit d'abord les données du fichier, dans des secteurs libres (valable pour un disque dur ou une disquette...). Puis dans la foulée, il écrit dans le bloc d'amorce du volume concerné, des informations pour que le DOS sache retrouver dans quels secteurs il a écrit les données du fichier sauvegardé lorsqu'il voudra le relire.

Ces deux étapes paraissent n'en faire qu'une seule aux utilisateurs de disquettes ou de disques durs lents, mais si tu as une interface rapide et un disque dur qui ne se trame pas, tu peux constater une extinction du voyant indiquant une écriture sur le disque dur pouvant aller jusqu'à deux secondes chez moi. Si le courant s'interrompt entre ces deux étapes, tu risques de perdre non seulement le fichier en cours de sauvegarde, mais aussi toute la partition du disque dur.

En effet, si l'écriture d'un fichier est interrompue en plein milieu, tu ne perds que les informations relatives au fichier en cours de sauvegarde. Mais à la fin du cycle d'écriture, le DOS remet à jour les informations contenues dans le bloc d'amorce. Si on interrompt l'écriture à ce moment précis, on peut "perdre" tout accès normal des informations contenues dans la partie relative à ce bloc d'amorce (partition de disque dur ou volume de disquette).

Je dis "perdre" car les données ne sont pas effacées au sens physique du terme, mais le DOS ne sait plus trouver le chemin pour y accéder. Il va donc falloir le guider. C'est le principal but de cet article.

Le matériel

Heureux possesseur d'un gros disque dur : un 80 Mo GVP Quantum SCSI (à vos souhaits !), je m'en vas te conter les quelques déboires que j'ai eus dans les premiers temps de son acquisition, début 1989.

Plantons le matos (si, si, j'ose dire) : Amiga 2000B + deux lecteurs de disquette 3,5" internes dont le deuxième commutable en façade + un ampli stéréo intégré, avec prise casque stéréo itou (pour la tranquillité de ma compagne quand elle me trompe avec Morphée...), commutateur sur le ventilo pour ma tranquillité à moi (car ses parasites me brouillent l'écoute), une imprimante (Mannesmann Tally MT85) sur le port série, ainsi qu'une interface Minitel sur le même port série, grâce à une bidouille perso que je te décrirais le jour où je serai moins fainéant ; modestement baptisée la RS 464 (c'est-à-dire un "doubleur" de RS 232). Plus donc ce disque dur de 80 Mo autodémarrable.

Il faut dire tout de même que tout ce matos soit en parfait état de marche et que les "incidents" qui vont suivre ne sont dus qu'à la stupidité de votre serviteur. Précision utile : les partitions appliquées selon la méthode rose ont été les suivantes : 50, 20, et 10 Mo, ce qui est tout à fait raisonnable.

Tout d'abord, saches que la très grande rapidité de bien des disque dur (fidèle lecteur des tests parus dans A-News) est en partie due à la taille du tampon alloué en RAM pour chacune des partitions. La taille dudit tampon mémoire est modifiable normalement dans la portion de la liste de montage (Mountlist) concernant le disque dur.

Par contre, là où ça coince, c'est que, pour aller encore plus vite, les GVPiens ont préféré ne pas utiliser la liste de montage classique lue lors de la commande "BindDrivers" de la startup-sequence. Ils opèrent une copie de la partie de la liste de montage concernant le disque dur dans un bloc appellé "Rigid Disk Block" (RDB). Ce RDB n'était modifiable avec les anciennes ROM, que lors du formatage du disque dur, heureusement ce n'est plus le cas avec les FaaastROM.

Et ceci était dramatique

En effet, si tu as comme moi un seul et malheureux petit Mo de mémoire, c'est la pénurie. Avec les anciennes ROM, impossible :
  • De réduire la talle des tampons allouée à chacune des trois partitions, sans reformater tout le disque dur.
  • De ne monter qu'une ou deux des trois partitions.
Choses qui paraissent possibles en modifiant la liste de montage, mais dont le GVP se contre-fiche vu qu'il ne considère que le reflet de cette liste de montage contenu dans le RDB. Et donc plus assez de mémoire pour faire tourner certains programmes qui marchaient fort bien sur disquettes et qui auraient grandement gagné à être sur disque dur comme Fantavision, Professional Page... et aussi impossible d'utiliser DiskDoctor sur une partition de 50 Mo... D'où gags.

De Charybde en Cylla

Or, vint le jour maudit, où, allumant le sanctuaire de toutes les croyances, l'Amiga ne démarre pas. Son DH0:, où était le système, envoûté par les Dieux de la microcoupure, restait sourd aux invocations. Ses seules incantations étaient, en réponse au "BindDrivers" de la startup ; "Volume XXX has a R/W Error", puis "Error Validating Disk, Key 9511, Bad header type" suivi d'un "Software Error, Finish all disk activities..." et retour à la case départ, sans pouvoir accéder à aucune partition ni jamais reprendre la main...

Oui, tu as bien lu, impossible de reprendre la main, je n'avais pas "seulement" perdu toute la partition dans laquelle j'étais en train d'écrire, comme tu aurais pu le croire vu mes explications du début sur la façon d'écrire du DOS, mais comme les anciennes ROM ne pouvaient monter séparément DH1: ou DH2:, toutes les partitions semblaient perdues.

J'avais simplement eu une coupure lors d'une écriture sur mon disque dur, et apparemment, le contenu abîmé du bloc d'amorce de la partition touchée lors de cet accident déplaisait tant au DOS qu'il refusait tout démarrage.

Mauvais, très mauvais

Fébrilement, je cherchais de la documentation ; vainement je tournais ma peine vers mes livres ; demandais de l'aide à ma secrétaire ; peine perdue, la jeune fille contemplait un plan qui venait de la Guinée.

Seule solution : primo, impérativement récupérer la main (sinon, on est vraiment mal) donc ne pas faire le "BindDrivers" du disque dur. Deuzio (sic), écrire quelque chose de cohérent dans mon bloc d'amorce abîmé, afin de ne pas choquer le DOS lors du montage de cette partition, sinon on reperd la main et il faut recommencer. Tertio, trouver quelque chose de pas trop nul à écrire dans ce bloc d'amorce, afin de pouvoir récupérer autant de fichiers que possible.

Pour cela : démarrer une disquette sans liste de montage disque dur (donc "BindDrivers" uniquement sur les DFx:), charger trois ou quatre Shell et une ou deux fois GOMF (Bruce Lepper : GOMF est un logiciel qui essaie d'intercepter et de contrôler les erreurs et "gourous" du système).

Réparer disque dur AmigaOS 1.3

Assigner une liste de montage comprenant la partie disque dur et refaire un "BindDrivers", en croisant les doigts. Les résultats de cette manipulation sont très variables ; pour ma part, j'ai recommencé ce petit jeu sur plusieurs cycles complets pour essayer de comprendre et ça n'a jamais marché deux fois exactement pareil ! (pour un cycle, comme vous allez le découvrir, compter 10 à 12 démarrages sur DF0: et DF1: quelques reformatages de DH1: pour faire propre, deux jours et deux nuits de sept heures du mat, à quatre heures du mat... faut vouloir investiguer).

Donc, enfin le "BindDrivers" sur le disque dur est passé, GOMF reprend la main avant un complet plantage. Tu as un écran Workbench où, souvent, toutes les icônes sont "détruites" par GOMF et seules les fenêtres Shell précédemment ouvertes sont présentes.

Tu peux alors accéder sous CLI (grâce aux fenêtres Shell restées ouvertes) aux DHx: qui ne sont pas "NoDOS" (eh oui, c'eut été trop facile si t'avais eu tout ça d'un seul coup, avec toutes tes partitions DOS !). Tu sauvegardes tout ce que tu peux. Pour les partitions accessibles, je recommande de sauver avec Quarterback. Pour les partitions NoDOS, je t'explique ça infra.

Le plus important

Selon mes déductions (je me suis amusé à reproduire plusieurs fois la panne pour mieux la contrôler) une simple erreur d'écriture sur le bloc d'amorce d'une quelconque partition du disque dur (pas forcément celle qui gère le système et autodémarrage), et particulièrement dans la somme de contrôle de ce bloc d'amorce, peut suffire à planter une, plusieurs ou toutes les partitions du disque dur.

Cela rend très difficile le redémarrage du disque dur (surtout avec l'ancien système de liste de montage en RDB non modifiable des vieilles ROM GVP). Mais, en théorie, les fichiers sont tous intacts sur les différentes partitions du disque, tant qu'on a rien écrit d'autre dessus (sauf peut-être le fichier en cours d'écriture lors du plantage). Il faut donc se passer des soi-disant programmes de récupération qui au contraire se perdent dans une partition sans somme de contrôle et vous mettent une belle pagaille... ils ont leur efficacité, mais pas dans ce cas précis.

Je pense aux DiskDoctor (livré avec AmigaOS) et autres DiskRepair (DiskRipper disait Georges après l'avoir utilisé !) qui sauvegardent les fichiers "récupérés" sur la même partition malade... Alors que DiskSalv, lui, permet de sauvegarder DF0: ou DF1: dans une partition ou un (sous) répertoire d'une partition saine... (il paraît qu'une version récente autorise maintenant à sauver depuis un disque dur et non plus seulement depuis les DFx:).

Méthodologie

Va doucement et prends toujours l'échelle par le bas. Il faut donc dans ce genre de panne où l'on croît avoir tout perdu.

1. Ne pas paniquer ! Ni jeter l'Amiga aux orties (envoyez-le moi...).

2. Par la méthode expliquée supra, récupérer la main avec les disques durs montés.

3. Sauver la ou les partitions qui sont DOS avec un logiciel genre Quarterback.

4. Chercher avec un programme du genre Workshop les blocs d'amorce incohérents sur les partitions "Not Validated" (une certaine expérience est demandée pour reconnaître un vrai bloc d'amorce sans phosphates).

5. Restaurer ce bloc, en le repiquant d'une autre partition en état de marche, pour avoir, au pire une partition "Validated" même si elle est NoDOS !

6. La confier à DiskRepair (pour environ 30 Mo occupés sur la partition à 50 Mo, compter 1h30 à chaque fois... même avec un Quantum 18 ms).

DiskRepair donne quelque chose d'assez curieux : il rend cette partition DOS, la nomme "Phoenix", mais si tu te sers, une fois (et ce n'est pas une histoire Peelche) de cette partition, le bloc d'amorce restauré s'évapore (le nom "Phoenix" dans le bloc d'amorce se transforme en ".info" ?) et la partition redevient NoDOS (qui m'expliquera pourquoi ?).

Et c'est reparti pour 1h30 de plus ! Pourquoi tant de N ? (on doit pouvoir y arriver aussi par DiskDoctor, à condition d'avoir assez de mémoire pour traiter des partitions de 50 Mo !). Cette opération se solde parfois par la perte de certains fichiers... pour les plus importants utilise l'option "Salvage" de "DiskRepair" qui permet de récupérer les fichiers un à un (un peu long...). Je crois que là, un programme comme DiskSalv sur disque dur serait l'idéal pour sauver les fichiers, au pire sur les disquettes, au mieux sur une partition préalablement nettoyée et reformatée à cette occasion... Il faudrait marier ces différents programmes et aller avec un grand salut à la noce.

7. Quand DiskRepair a redonné une partition DOS nommée Phoenix, vite vite tu recopies ce bloc d'amorce labile avec un programme du genre Workshop afin de pouvoir le refixer.

8. Puis sauve ce qui peut l'être soit sur disquette, soit sur une partition saine avec un programme du genre DiskMaster ou CLIMate ou sous CLI avec la commande "Copy All".

9. Reformater bien sûr tout le disque dur... et y réinstaller les fichiers. Voilà, thats all folks!

Pour ceux qui regardent génie sans bouillir

Et qui gardent la tête sur les épaules (certaines se plaignent d'avoir le cou si près du tronc !) Tu peux te faire une peur bleue : d'abord je décline toute responsabilité si ça foire, bien qu'ayant déjà essayé sur mon beau GVP à moi, et plusieurs fois pour voir les différentes façons de planter le jackpot. Donc bien utiliser Quarterback tout votre GVP avant, au cas où seul un reformatage de toutes les partitions vous permettrait de récupérer la main...

Avec un programme du genre Workshop sauver, dans une partition bien tranquille, ou pour les pères peinards, sur disquette, le bloc d'amorce d'une autre partition. Maintenant tu peux triturer ce bloc d'amorce, et tu verras que selon l'importance des âneries écrites, les effets vont du simple NoDOS pour la partition concernée et seulement elle, jusqu'au plantage complet du système avec impossibilité de démarrer, même si la partition modifiée n'est pas DH0:.

Tu as ainsi vraiment l'illusion que la plupart des fichiers sont perdus ! Mais ce n'est qu'une illusion.

Pour miraculer

Ne se rendre ni à la grotte de Lourdes, ni à celle du Yéti. D'abord, reprendre la main, par la méthode expliquée au début, par les Shell et GOMF. Puis simplement remettre le bloc d'amorce modifié dans sa prime candeur, grâce à l'exemplaire sauvegardé avant ! Et tout est rentré dans l'ordre.


[Retour en haut] / [Retour aux articles]