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
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.
Le Tue, 09 Sep 2003 17:40:35 +0200, Dominique Ottello écrivait:
Existe-t-il une possibilité similaire, pour Chkdsk, sous Windows XP Home
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.
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.
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
Eric Rossé <eric.rosse@wanadoo.fr> é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 = dominique@ottello.net = Paris = France Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
>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
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)
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
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)
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 = 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
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)
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