[0.4.9][AUTOCHK] Don't check any volume on boot CORE-14638

This will avoid triggering a FAT repair on
unclean FAT volumes.

If dosfstools.fsck works fine in Linux, its
usage on ReactOS triggers worse corruption
than unclean shutdown.

'autochk during OS startup' has been added during 0.4.9-dev-xxxx.
Given I've no time for debugging this, I
kill it off. This is just a workaround of course.

For now the best chances to repair a FAT FS corruption after non-clean-shutdown
is to mount that FS within 2k3sp2 and give the MS chkdsk an attempt to repair it.
Success is not guaranteed, but it works surprisingly often.
The earlier you do that after non-clean-shutdown,
the better your chances for success will be.

The workaround was picked from
0.4.13-dev-169-g ab69736a1d
0.4.10-dev-379-g 3b6faba11a (partially, just enough to support the early-bailout)
This commit is contained in:
Joachim Henze 2022-01-09 06:40:26 +01:00
parent c716c57fd6
commit 614334a8a1
2 changed files with 12 additions and 1 deletions

View file

@ -341,6 +341,17 @@ _main(int argc,
NTSTATUS Status;
WCHAR DrivePath[128];
/*
* Parse the command-line: optional command switches,
* then the NT volume name (or drive letter) to be analysed.
* If "*" is passed this means that we check all the volumes.
*/
if (argc <= 1)
{
/* Only one parameter (the program name), bail out */
return 1;
}
// Win2003 passes the only param - "*". Probably means to check all drives
/*
DPRINT("Got %d params\n", argc);

View file

@ -1418,7 +1418,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI Miniport", 0x000000
; Session Manager stuff
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","BootExecute", 0x00010000, \
"autocheck autochk *"
"autocheck autochk"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","GlobalFlag", 0x00010003, 0x00000000
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","ObjectDirectories",0x00010000, \
"\Windows", \