Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chkdsk sous Windows XP

3 réponses
Avatar
Dominique Ottello
Bonjour,

Sous Windows 98DE, je sais qu'il faut modifier (Merci JCB), dans le
fichier Msdos.sys, la ligne AutoScan=, pour ne pas lancer Scandisk
automatiquement.

Existe-t-il une possibilité similaire, pour Chkdsk, sous Windows XP Home

Voilà pourquoi :

Lors d'une énième relance de XP, message de test avec Chkdsk des
partitions C: puis D: avec un délai bien trop court pour lire tout ce
qui était affiché et d'arriver à voir qu'il faut appuyer sur une touche
dans les six secondes pour ne pas lancer Chkdsk. Résultat, je ne sais
pas exactement ce qui s'est passé, mais les fichiers Win.in et
System.ini, entre autres (je n'ai pas eu le temps de lire pour les
autres), ont été trouvés en erreur et purement et simplement supprimés ;
ce que j'ai pu vérifier par la suite.

Heureusement, prudent comme je suis, restauration des partitions C: et
D: par Drive Image avec des images datant de moins de deux heures.

Reboot et rebelote, demande de chkdsk sur C: et D:, mais là, un homme
averti en valant deux, j'ai le temps d'appuyer deux fois sur une touche
pour ne pas lancer chkdsk et, à priori, tout se passe bien par la suite.
Tous les essais de boot sur XP par la suite ont toujours voulu lancer
chkdsk.

Voulant en avoir le coeur net, j'effectue :
- Boot sur disquette Partition Magic 8 et vérification de toutes les
partirions : pas de problème.
- Boot sous DOS et lancement de NDD sur toutes les partitions : pas de
problèmes
- Boot sous W98DE et lancement de NDD sur toutes les partitions : pas de
problèmes
- Boot sous W98DE et lancement Disk Fixer de FixIt Utilities : pas de
problèmes
- Boot sous XP et ça recommence avec des prétendues erreurs sur C: et D:

Je reboot sous XP en mode sans échec et lance chkdsk c: puis d: en mode
console. Chkdsk ne trouve pas d'erreurs mais, ce qui est bizarre, c'est
qu'au boots suivants sous XP, il n'y a plus de demandes de lancement de
chkdsk.

C'est comme si il y avait des drapeaux (flags en anglicisme) mémorisants
non pas des erreurs disque mais qu'il faille lancer chkdsk et que seul
le lancement de celui-ci faisait tomber lesdits drapeaux.

--
= Dominique Ottello = dominique@ottello.net == Paris = France =
Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant

3 réponses

Avatar
Eric Rossé
Le Tue, 09 Sep 2003 17:40:35 +0200, Dominique Ottello écrivait:

Existe-t-il une possibilité similaire, pour Chkdsk, sous Windows XP Home



Normalement, chkntfs /x <volume>. Exemple: chkntfs /x c:

C'est comme si il y avait des drapeaux (flags en anglicisme) mémorisants
non pas des erreurs disque mais qu'il faille lancer chkdsk et que seul
le lancement de celui-ci faisait tomber lesdits drapeaux.



C'est un effet ce type de mécanisme, sauf que les flags sont normalement
effacés à l'arrêt normal de windows.
Avatar
Dominique Ottello
Eric Rossé écrivait :

>C'est comme si il y avait des drapeaux (flags en anglicisme) mémorisants
>non pas des erreurs disque mais qu'il faille lancer chkdsk et que seul
>le lancement de celui-ci faisait tomber lesdits drapeaux.

C'est un effet ce type de mécanisme, sauf que les flags sont normalement
effacés à l'arrêt normal de windows.



Merci, mais sait-on où se trouvent ces flags ?
Dans la BDR ?
Dans un fichier ?

--
= Dominique Ottello = = Paris = France Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Avatar
Dominique Ottello
"Jean-Claude BELLAMY" écrivait :

Ce flag est LOGIQUEMENT dans le secteur de boot de la partition.
Il est situé :
- à l'offset 0x50 dans le cas d'une NTFS
- à l'offset 0x25 dans le cas d'une FAT

Ce flag est mis à 1 au démarrage de Windows, puis effacé seulement si l'OS a
été fermé normalement.



Merci.

C'est d'ailleurs ce que je viens juste d'aller voir sur ton site où tu
as écrit :
« L'octet situé à l'offset 025 est utilisé par Windows NT pour indiquer
une partition à contrôler par chkdsk au redémarrage.
Le bit 0 à 1 indique que le disque doit être vérifié, et
Le bit 1 à 1 indique qu'en plus une analyse de surface doit être
déclenchée. Cet octet est remis à 0 lors d'un arrêt normal du PC.»

Mais alors, je suis dubitatif car l'octet à l'offset 0x25 des secteurs
de boot de mes partitions, toutes en FAT32X, n'est pas à zéro :
C : 0x1F (Windows 98)
D : 0x3F (Windows XP)
E : 0x24 (Logique)
F : 0x21 (Logique)
G : 0x2A (Logique)
H : 0x4C (Logique)
et pourtant, lors du boot vers Windows XP Home, il n'y a pas de
lancement de chkdsk.

De plus, si on effectue un OU entre toutes ces valeurs, le seul bit qui
reste à zéro est le MSB (Bit 7)

Exemple avec le secteur de boot de C:

Copié/collé depuis HexWorkshop

À lire avec une police à espacement fixe

00000000 EB58 904D 5357 494E 342E 3100 0208 2000 .X.MSWIN4.1... .
00000010 0200 0000 00F8 0000 3F00 FF00 3F00 0000 ........?...?...
00000020 4BF5 7F00 F01F 0000 0000 0000 0200 0000 K...............
00000030 0100 0600 0000 0000 0000 0000 0000 0000 ................
00000040 8000 2967 F4BF 3C53 4353 495F 3138 5F43 ..)g..<SCSI_18_C
00000050 0000 4641 5433 3220 2020 33C9 8ED1 BCF4 ..FAT32 3.....
00000060 7B8E C18E D9BD 007C 884E 028A 5640 B408 {......|
00000070 CD13 7305 B9FF FF8A F166 0FB6 C640 660F
00000080 B6D1 80E2 3FF7 E286 CDC0 ED06 4166 0FB7 ....?.......Af..
00000090 C966 F7E1 6689 46F8 837E 1600 7538 837E .f..f.F..~..u8.~
000000A0 2A00 7732 668B 461C 6683 C00C BB00 80B9 *.w2f.F.f.......
000000B0 0100 E82B 00E9 4803 A0FA 7DB4 7D8B F0AC ...+..H...}.}...
000000C0 84C0 7417 3CFF 7409 B40E BB07 00CD 10EB ..t.<.t.........
000000D0 EEA0 FB7D EBE5 A0F9 7DEB E098 CD16 CD19 ...}....}.......
000000E0 6660 663B 46F8 0F82 4A00 666A 0066 5006 f`f;F...J.fj.fP.
000000F0 5366 6810 0001 0080 7E02 000F 8520 00B4 Sfh.....~.... ..
00000100 41BB AA55 8A56 40CD 130F 821C 0081 FB55
00000110 AA0F 8514 00F6 C101 0F84 0D00 FE46 02B4 .............F..
00000120 428A 5640 8BF4 CD13 B0F9 6658 6658 6658
00000130 6658 EB2A 6633 D266 0FB7 4E18 66F7 F1FE fX.*f3.f..N.f...
00000140 C28A CA66 8BD0 66C1 EA10 F776 1A86 D68A ...f..f....v....
00000150 5640 8AE8 C0E4 060A CCB8 0102 CD13 6661
00000160 0F82 54FF 81C3 0002 6640 490F 8571 FFC3
00000170 4E54 4C44 5220 2020 2020 2000 0000 0000 NTLDR .....
00000180 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000190 0000 0000 0000 0000 0000 0000 0000 0000 ................
000001A0 0000 0000 0000 0000 0000 0000 0D0A 4E54 ..............NT
000001B0 4C44 5220 6D61 6E71 7565 FF0D 0A45 7272 LDR manque...Err
000001C0 2E20 6469 7371 7565 FF0D 0A50 7265 7373 . disque...Press
000001D0 657A 2075 6E65 2074 6F75 6368 6520 706F ez une touche po
000001E0 7572 2072 6564 826D 6172 7265 720D 0A00 ur red.marrer...
000001F0 0000 0000 0000 0000 00AC BBC9 0000 55AA ..............U.

Mais peut-être me suis-je trompé dans ma procédure batch sur disquette
pour sauvegarder les secteurs de boot de toutes mes partitions.

La voici :

@echo off
Rem Sauvegarde du secteur de boot dans BOOT_X.DAT
Rem X donnant la lettre de la partition
if "%1"=="" goto Syntaxe
Set H_D=0
if %1==C Set H_D=2
if %1==D Set H_D=3
if %1==E Set H_D=4
if %1==F Set H_D=5
if %1==G Set H_D=6
if %1==H Set H_D=7
if %1==I Set H_D=8
if %1==J Set H_D=9
if %1==K Set H_D
if %1==L Set H_D
if %1==M Set H_D
if %1==N Set H_D
if %1==O Set H_D
if %1==P Set H_D
if %1==Q Set H_D
if %1==R Set H_D
if %1==S Set H_D
if %1==T Set H_D
if %1==U Set H_D
if %1==V Set H_D!
if %1==W Set H_D#
if %1==X Set H_D$
if %1==Y Set H_D%
if %1==Z Set H_D&
if %H_D%==0 goto ErrDisk
if not exist %1:nul goto ErrnoHD
echo Sauvegarde du secteur de boot de %1:
Rem Création du fichier de commandes debug
echo l 100 %H_D% 0 1 > DebugCmd.txt
echo n BOOT_%1.DAT >> DebugCmd.txt
echo r cx >> DebugCmd.txt
echo 200 >> DebugCmd.txt
echo w >> DebugCmd.txt
echo q >> DebugCmd.txt
debug < DebugCmd.txt > nul
del DebugCmd.txt
echo Sauvegarde effectuée dans BOOT_%1.DAT
goto fin
:ErrDisk
echo.
echo Paramètre disque %1 invalide
echo Doit être compris entre C et Z et en majuscule
echo.
goto fin
:ErrnoHD
echo.
echo Le disque %1: n'existe pas
echo.
goto fin
:syntaxe
echo.
echo Syntaxe : saveboot Lettre_du_disque
echo Exemple : saveboot C
echo.
:fin
Set H_D

--
= Dominique Ottello = == Paris = France Aujourd'hui, l'idéal du progrès est remplacé par l'idéal de l'innovation :
il ne s'agit pas que ce soit mieux, il s'agit seulement que ce soit nouveau,
même si c'est pire qu'avant et cela de toute évidence. Montherlant