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

Fsutil et le dirty bit

14 réponses
Avatar
Claude LaFrenière
Bonjour à tous :)

La commande fsutil dirty set X: permet d'activer le "dirty bit"
sur le volume X: lequel sera par la suite vérifié par chkdsk...

Est-il possible de désactiver ce "dirty bit" et comment?

1- je ne vois pas comment avec fsutil
2- je sais qu'il est possible de désactiver la vérification avec chkntfs
mais ce n'est pas ce que je veux...

et je n'arrive pas à trouver dans le registre... :-(
(ouais, Je sais © Jean Gabin, j'aurais dû demander avant...!)

Dois-je me taper un chkdsk ou y a-t-il un autre moyen de virer le "dirty bit" ?

Merci.

P.S.

Ça m'apprendra à expérimenter sur mon PC
plutôt que sur celui d'un cobaye!
(L'un d'entre vous par exemple! :-O !!! )

:D

--
Claude LaFrenière :-{mvp} [climenole et ses ami-nimaux]
http://climenole.wordpress.com/ <<-- NE CLIQUEZ PAS SUR CECI!

«My Principal Design Was To Inform, Not To Amuse Thee.»
Lemuel Gulliver, The Travels (IV:12)

4 réponses

1 2
Avatar
Michel_D
"Pierre TORRIS" a écrit dans le message de news:
Claude LaFrenière a écrit dans ce message
<news:ytlov2keglxg$.15ywfei5f8m8s$ :

Bonjour à tous :)

La commande fsutil dirty set X: permet d'activer le "dirty bit" sur le
volume X: lequel sera par la suite vérifié par chkdsk...



[ ... ]


Sinon, le bit serait inscrit directement sur le volume. Voici par
exemple le cas d'une FAT32 :
http://www.geocities.com/thestarman3/DOS/DirtyShutdownFlag.html



Et sur du ntfs c'est inscrit dans le métadata $Volume.


Avatar
Claude LaFrenière
Bonjour *Michel_D* :

"Pierre TORRIS" a écrit dans le message de news:
Claude LaFrenière a écrit dans ce message
<news:ytlov2keglxg$.15ywfei5f8m8s$ :

La commande fsutil dirty set X: permet d'activer le "dirty bit" sur le
volume X: lequel sera par la suite vérifié par chkdsk...


Sinon, le bit serait inscrit directement sur le volume. Voici par
exemple le cas d'une FAT32 :
http://www.geocities.com/thestarman3/DOS/DirtyShutdownFlag.html


Et sur du ntfs c'est inscrit dans le métadata $Volume.


Correct: cependant une fois ce bit activé celui-ne peut être désactivé
(sauf en faisant un chkdsk) et les métadonnées de $Volume sont inaccessible
sauf erreur de ma part.

Merci à tous de vous être intéressés à cette question un peu "tordue".

:)
--
Claude LaFrenière :-{mvp} [climenole et ses ami-nimaux]
http://climenole.wordpress.com/ <<-- NE CLIQUEZ PAS SUR CECI!

«My Principal Design Was To Inform, Not To Amuse Thee.»
Lemuel Gulliver, The Travels (IV:12)



Avatar
Michel_D
"Claude LaFrenière" a écrit dans le message de news:ytlov2keglxg$.15ywfei5f8m8s$
Bonjour à tous :)

La commande fsutil dirty set X: permet d'activer le "dirty bit"
sur le volume X: lequel sera par la suite vérifié par chkdsk...

Est-il possible de désactiver ce "dirty bit" et comment?

1- je ne vois pas comment avec fsutil
2- je sais qu'il est possible de désactiver la vérification avec chkntfs
mais ce n'est pas ce que je veux...

et je n'arrive pas à trouver dans le registre... :-(
(ouais, Je sais © Jean Gabin, j'aurais dû demander avant...!)

Dois-je me taper un chkdsk ou y a-t-il un autre moyen de virer le "dirty bit" ?

Merci.

P.S.

Ça m'apprendra à expérimenter sur mon PC
plutôt que sur celui d'un cobaye!
(L'un d'entre vous par exemple! :-O !!! )



Bon, comme j'ai pas tout le fil je répond ici.

Je pense qu'il est possible de modifier la valeur du "dirty bit" sur une
partition NTFS directement soit avec l'utilitaire MS debug.exe sous dos
ou soit avec l'utilitaire MS dskprobe.exe sous windows (démonter le
volume par précaution) le tout étant de savoir ou modifier la valeur.

Donc le Metadata $volume est le 4ème inode dans la $MFT et
la taille normale d'un inode est de 1024 octets soit 2 secteurs.

Pour savoir ou commence la $MFT il faut récupérer
le "virtual cluster number" (VCN), cette info est situé dans le BPB
autrement dit dans le bootsecteur de la partition à l'offset 0x0030 puis
on détermine le "logical cluster number" (LCN) en multipliant le VCN
par le nombre de secteurs par cluster (offset 0x0D) ensuite on rajoute le
numéro de secteur (offset 0x01C) qui correspond au début de la partition.

Pour le détail du Metadata $Volume voir le lien ci-dessous :
http://linux-ntfs.sourceforge.net/ntfs/files/index.html

PS : Il faudra peut-être répéter l'opération sur la $MFTMirror (info situé
à l'offset 0x0038) et penser à sauvegarder la zone qui sera modifié
pour un retour en arrière.

Pour info détail d'un bootsecteur de partition NTFS :
begin
read-only hex 3 "JMP instruction" //00
char[8] "SystemID" //03
uint16 "Bytes per sector" //0B
uint8 "Sectors per cluster" //0D
uint16 "Reserved sectors" //0E
hex 3 "(always zero)" //10

read-only hex 2 "(unused)" //13
hex 1 "Media descriptor" //15
read-only hex 2 "(unused)" //16
uint16 "Sectors per track" //18
uint16 "Heads" //1A
uint32 "Hidden Sectors" //1C
read-only hex 4 "(unused)" //20
section "NTFS Section"
read-only hex 4 "(always 80 00 80 00)" //24
int64 "Total sectors" //28
move -8
hex 8 "Total sectors (hex)" //28
int64 "Start C# $MFT" //30
int64 "Start C# $MFTMirr" //38
uint32 "Clust per MFT rec" //40
uint32 "Clust per index block"//44
endsection
uint32 "Serial number (int)" //48
move -4
hex 4 "Serial number (hex)" //48
goto 0x1FE //boot load code follows //4C
read-only hex 2 "Signature (55 AA)" //1FE
end

Avatar
Daniel92
*Michel_D* écrit dans
http://groups.google.com/groups?threadm=ytlov2keglxg%24.15ywfei5f8m8s%24.dlg%4040tude.net

----------------------------------------------------
*Claude LaFrenière* avait demandé :
Bonjour à tous :)

La commande fsutil dirty set X: permet d'activer le "dirty bit"
sur le volume X: lequel sera par la suite vérifié par chkdsk...

Est-il possible de désactiver ce "dirty bit" et comment?

1- je ne vois pas comment avec fsutil
2- je sais qu'il est possible de désactiver la vérification avec chkntfs
mais ce n'est pas ce que je veux...

et je n'arrive pas à trouver dans le registre... :-(
(ouais, Je sais © Jean Gabin, j'aurais dû demander avant...!)

Dois-je me taper un chkdsk ou y a-t-il un autre moyen de virer le "dirty bit" ?




Bon, comme j'ai pas tout le fil je répond ici.

Je pense qu'il est possible de modifier la valeur du "dirty bit" sur une
partition NTFS directement soit avec l'utilitaire MS debug.exe sous dos
ou soit avec l'utilitaire MS dskprobe.exe sous windows (démonter le
volume par précaution) le tout étant de savoir ou modifier la valeur.

Donc le Metadata $volume est le 4ème inode dans la $MFT et
la taille normale d'un inode est de 1024 octets soit 2 secteurs.

Pour savoir ou commence la $MFT il faut récupérer
le "virtual cluster number" (VCN), cette info est situé dans le BPB
autrement dit dans le bootsecteur de la partition à l'offset 0x0030 puis
on détermine le "logical cluster number" (LCN) en multipliant le VCN
par le nombre de secteurs par cluster (offset 0x0D) ensuite on rajoute le
numéro de secteur (offset 0x01C) qui correspond au début de la partition.

Pour le détail du Metadata $Volume voir le lien ci-dessous :
http://linux-ntfs.sourceforge.net/ntfs/files/index.html

PS : Il faudra peut-être répéter l'opération sur la $MFTMirror (info situé
à l'offset 0x0038) et penser à sauvegarder la zone qui sera modifié
pour un retour en arrière.

Pour info détail d'un bootsecteur de partition NTFS :
begin
read-only hex 3 "JMP instruction" //00
char[8] "SystemID" //03
uint16 "Bytes per sector" //0B
uint8 "Sectors per cluster" //0D
uint16 "Reserved sectors" //0E
hex 3 "(always zero)" //10

read-only hex 2 "(unused)" //13
hex 1 "Media descriptor" //15
read-only hex 2 "(unused)" //16
uint16 "Sectors per track" //18
uint16 "Heads" //1A
uint32 "Hidden Sectors" //1C
read-only hex 4 "(unused)" //20
section "NTFS Section"
read-only hex 4 "(always 80 00 80 00)" //24
int64 "Total sectors" //28
move -8
hex 8 "Total sectors (hex)" //28
int64 "Start C# $MFT" //30
int64 "Start C# $MFTMirr" //38
uint32 "Clust per MFT rec" //40
uint32 "Clust per index block"//44
endsection
uint32 "Serial number (int)" //48
move -4
hex 4 "Serial number (hex)" //48
goto 0x1FE //boot load code follows //4C
read-only hex 2 "Signature (55 AA)" //1FE
end
----------------------------------------------------


Merci pour ces infos,

est-ce que tu as d'autres références internet intéressantes sur ce
sujet de l'organisation physique/logique d'un disques ?

Daniel92 .

1 2