REDACTION EN COURS
cette méthode propose de remplacer des secteur illisibles ou incorrects d'une disquette par des rustines qui vont bien
Il faut d'abord échapper à windows
*avec un ordinateur msdos*
phase préalable: extraire les secteurs lisibles par tout moyen convenable
Si vous disposés d'un ordinateur Msdos, windows 9x ou Me:
3) créez les quatre fichiers de commande:
tout.bat
set liste=(0 1 2 3 4 5 6 7 8 9 A B C D E F)
for %%cent in %liste% do call dizaine.bat %%cent %1
dizaine.bat
for %%dizaine in %liste% do call unite %%dizaine %1 %2
unite.bat
for %%unite in %liste% do call %3 %1 %2 %%unite
lirsect.bat
@echo off
if %1%2%3 == B40 pause
echo>debug.in L100,0,%1%2%3,1
echo>>debug.in d100L200
echo>>debug.in q
debug < debug.in > %1%2%3.lst
lancez la commande:
tout lirsect.bat
quand arrive la pause, interrompre par ^C
le résultat est un ensemble de 2880 fichiers .lst nommés 000, 001 jusqu'à B3F
chercher les secteurs illisibles
à l'aide de
fgrep
fgrep "Erreur" *.lst
utiliser les utilitaires de réparation
passer à la phase utltime plus bas et applique chkdsk ou autre à la disquette copiée.
changer un secteur invalide d'une des FAT
...
changer le secteur de boot
...
recréer un secteur de directory (à partir de la fat)
...
faire réapparaitre des fichiers effacés
...
phase ultime: recréer un fichier image de la disquette:
ce programme (laconique) est écrit en
turboPascal
var
fi:text;
fo:file of char;
i,j,k:integer;
ili,ic:integer;
lu,nx:string;
a2:string;
n:integer;
c:char;
err:integer;
const al:string[16]='0123456789ABCDEF';
const tot:longint=0;
label fin;
begin
assign(fo,'image');rewrite(fo);
for i:=1 to 16 do
for j:=1 to 16 do
for k:=1 to 16 do
begin
if al[i] + al[j]+al[k]='B40' then goto fin;
assign(fi,al[i] + al[j]+al[k]+'.lst');reset(fi);
write(chr(13),chr(10),al[i],al[j],al[k],' ',tot);
repeat
readln(fi,lu);
if lu[1]='E' then writeln(lu);
until not (lu[1] in ['-','E']);
for ili:=1 to 32 do
begin
for ic:=0 to 15 do
begin
a2:=copy(lu,12+3*ic,2);
val('$'+a2,n,err);
c:=chr(n);
write(fo,c);
inc(tot);
end;
readln(fi,lu);
end;
close(fi);
end;
fin:
close(fo);
write(' ',tot);readln;
end.
et enfin écrire l'image sur une nouvelle disquette
l'outil s'appelle avec
rawwrite, il existe en de multiples versions, ligne de commande ou avec interface graphique sous Windows.
pour la lecture notre ambassadeur signale:
Alors pourquoi ne pas regarder directement du côté de "dd for windows",
par le même auteur :
http://www.chrysocome.net/dd
...
PS :
je fais le malin, mais j'ai rien compris..., dit il