Некоторое время назад был вопрос:Запустить программу до появления экрана входа в систему, хотя я думал, что он имел в виду, что он хотел запустить chkdsk при загрузке, основываясь на картинке, но на самом деле он хотел запустить другую программу.
Ну, я ответил конкретно по chkdsk и подумал, что кому-то может показаться интересным мое решение вопроса «Как запускать chkdsk при каждой перезагрузке?».
решение1
По сути, если вы просто хотите запускать chkdsk /f или chkdsk /r каждый раз при загрузке, вы можете настроить его на запуск при завершении работы, а не пытаться заставить его работать в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
.
Вот как это сделать:
Создайте файл C:\WINDOWS\system32\confirm.txt с JUST y
внутри.
Затем создайте C:\WINDOWS\system32\Chkdsk_Reboot.bat со следующим кодом:
echo y > confirm.txt
chkdsk c: /f /x < confirm.txt
Теперь, если у вас XP Pro или другая операционная система профессионального уровня, откройте gpedit.msc>Конфигурация компьютера>Параметры Windows>Сценарии>Завершение работы и добавьте Chkdsk_Reboot.bat в качестве сценария завершения работы.
При следующей перезагрузке вам нужно будет запустить команду chkdsk.
Я не уверен, сработает ли это для XP Home, так как там нет gpedit.msc. Вы можете создать эту структуру каталогов и добавить туда пакетный файл, но я не уверен, сработает ли это, так как Home не использует групповую политику: C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown
решение2
chkdsk
уже настроен на запуск при каждой загрузке.
Посмотрите HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
и найдите многострочную ( REG_MULTI_SZ
) запись с именем BootExecute
. Значение " autocheck autochk *
" говорит о том, что она chkdsk
будет запущена при загрузке, однако вы ее не увидите, поскольку она работает в фоновом режиме, выполняя поиск ошибок на диске.
Если chkdsk
обнаружены какие-либо проблемы с диском, вы увидите синий экран с полным сканированием диска.
Редактировать:
Образцы опций автоматической проверки, согласноздесь(раздел: «Грязная часть против записи «Autochk» в реестре»):
Sample command Resulting registry entry
============== ========================
Chkdsk C: /F Autocheck autochk /p \??\C:
Chkdsk C:\mountpoint /F Autocheck autochk /p \??\VOLUME{GUID}
Chkntfs D: E: /X Autocheck autochk /k:D /k:E *
Chkntfs G: /C Autocheck autochk /m \??\G: