Grande pergunta. A resposta é que o VolumeDirty
bit está definido no volume, que (eu tenho que assumir) é verificado durante a inicialização. Provavelmente semelhante à maneira como é verificado quando uma unidade flash é inserida e o pop-up que diz Digitalizar ou Continuar sem Digitalizar .
Uma vez eu tentei criar uma maneira de programar um chkdsk para um servidor automatizado que tinha quase zero de manutenção, definindo o volumedirty
bit via script powershell ( dirtybitset = $true
), mas não funcionaria. Eu posso revisitar que, como aparece no meu link, há um ScheduleAutoChk que faz exatamente isso e trabalha em conjunto com o dirtybit.
Outras pesquisas aqui afirmam:
Every time Windows restarts, Autochk.exe is called by the Kernel to scan all volumes to check if the volume dirty bit is set. If the dirty bit is set.
Mais informações sobre autochk.exe
podem ser encontradas aqui para ajudar a explicar o que está acontecendo no site do Microsoft Technet e Wikipedia , onde a Wikipedia declara:
Once all the Boot and System drivers have been loaded, the kernel (system thread) starts the Session Manager Subsystem (smss.exe).
Before any files are opened, Autochk is started by smss.exe. Autochk mounts all drives and checks them one at a time to see whether or not they were cleanly unmounted. If autochk determines one or more volumes are dirty, it will automatically run chkdsk
Especificamente, aparece se você procurar no registro em:
HKLM\System\CurrentControlSet\Control\Session Manager
Existe um valor de BootExecute
que é alterado de autocheck autochk *
para algo como autocheck autochk /p \??\C: autocheck autochk *