Вопрос: Как вы запускаете chkdsk при каждой перезагрузке?


Некоторое время назад был вопрос, Запустить программу до появления экрана входа в систему, где я думал, что он имел в виду именно то, что он хотел запустить chkdsk при загрузке на основе картинки, но он действительно хотел запустить другую программу.

Ну, я ответил конкретно на chkdsk, и я подумал, что некоторые могут найти мое решение: «Как вы запускаете chkdsk при каждой перезагрузке?» интересно.


4
2017-07-26 14:09


Источник


Psh, вы должны сделать свой аватар более интересным. , , - surfasb


Ответы:


В принципе, если вы просто хотите запускать 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 или другие ОС уровня Pro, откройте gpedit.msc> Конфигурация компьютера> Настройки Windows> Сценарии> Завершение работы и добавьте этот Chkdsk_Reboot.bat в качестве сценария завершения работы.

После перезагрузки вы запустите команду chkdsk.

Я не уверен, что это будет работать для XP дома, так как у него нет gpedit.msc. Возможно, вы сможете создать эту структуру каталогов и добавить туда командный файл, но я не уверен, будет ли он работать, поскольку Home не использует групповую политику: C: \ WINDOWS \ System32 \ GroupPolicy \ Machine \ Scripts \ Shutdown

enter image description here


6
2017-07-26 14:14



Большинство людей хотят STOP chkdsk запускать при каждой загрузке, но все же хорошую информацию для тех, кто смотрит. Вот веселое дополнение, вы можете изменить свой командный файл на одну строку echo y > conf.txt && (chkdsk c: /f /x < conf.txt & del conf.txt) - Тогда он будет запускать chkdsk (и, в свою очередь, удалить conf.txt), если он успешно создает conf.txt в первую очередь. :) - Ƭᴇcʜιᴇ007
@ techie007 Без сомнения, САМЫЕ люди не захотят этого делать, если они не параноики. Причина, по которой я это делал, состояла в том, что у меня был сервер с испорченным пользовательским приложением, которое повредило бы его базу данных SQL. У нас были резервные копии на всякий случай, но запуск chkdsk / f исправил это очень быстро, поэтому я принял решение планировать перезагрузки, с моим решением. - KCotreau
Yucky .. :( Трудно понять, что приложение может быть настолько плохим, чтобы заставить SQL-сервер повреждать файловую систему. Опять же, yucky ...: P - Ƭᴇcʜιᴇ007
@ techie007 Просто его собственная база данных к счастью. В конце концов, мы смогли получить компанию, которая написала программное обеспечение только для его размещения, поскольку это было веб-приложение. С моим сервером все было в порядке со мной. - KCotreau
Как ни странно, у меня есть разработчик, который ПРЕДОСТАВЛЯЕТ разместить свою базу данных и приложение специально, потому что он ненавидит заниматься другие ИТ-специалисты, Да, он поездка. , , - surfasb


chkdsk уже настроен для запуска при каждой загрузке.

Взгляни на HKLM\SYSTEM\CurrentControlSet\Control\Session Manager и найдите многострочный (REG_MULTI_SZ), вызываемая BootExecute, Значение "autocheck autochk *" Говорит, что chkdsk будет работать при загрузке, однако вы не увидите его, потому что он работает на фоне, ища ошибки на диске.

Если chkdsk обнаруживает некоторую проблему с диском, тогда вы увидите синий экран с полным сканированием диска.

Редактировать:

Варианты выборки Autocheck, согласно Вот (раздел: «Запись Dirty bit vs Registy» 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: 

5
2017-07-26 14:17



Я не уверен, что он делает, но он явно не делает полного chkdsk / f или chkdsk / r. Даже более быстрый chkdsk / f берет LOT дольше, чем обычная загрузка. Autochk должна быть очень ограниченной версией chkdsk. - KCotreau
Здесь вы можете получить дополнительную информацию: support.microsoft.com/kb/831426/en-us - Diogo
Это полный chkdsk, просто скомпилированный как исполняемый файл native API. Это быстро завершается, потому что он смотрит на грязный флаг, Microsoft это вам скажет. - JdeBP
Я не понимал, что autocheck запускает chkdsk таким образом, но разве он не очищается после запуска? Вам все равно понадобится механизм, чтобы добавить его для каждой перезагрузки, чтобы удовлетворить вопрос. Я буду причиной, по которой я это сделал в ответ на мой ответ. - KCotreau
@JdeBP Он по-прежнему не делает ничего, чтобы исправить ошибки. - KCotreau