PDA

Просмотр полной версии : Быстрая перезагрузка Windows


dinar_007
16.08.2006, 22:17
При манипулировании командными инструкциями Windows иногда возникает необходимость мгновенной перезагрузки системы с принудительным завершением всех запущенных приложений. Подобная ситуация, к примеру, может возникнуть при написании CMD-скрипта, автоматизирующего работу системы и отвечающего за ее гарантированную перезагрузку в случае выполнения какого-либо заданного условия без оглядки на диалоговые окна, выводимые некоторыми программами перед закрытием.

В случае Windows XP/2003 упомянутая задача легко решается применением консольной команды Shutdown с ключом /f (англ. to force - "принуждать"). Важно лишь помнить, что использование этого параметра может привести к потере несохраненных приложениями данных.

При наличии под рукой старушки Windows 2000 проблема решается применением сторонних консольных утилит. Например, с помощью забугорной PsShutdown (http://www.sysinternals.com/Utilities/PsShutdown.html) (120 кб) от Марка Руссиновича или отечественной Fast reboot (http://www.alter.org.ua/soft/win/fastreboot/index.php?lang=ru) (112 кб) от Александра Телятникова. Обе программы просты в обиходе и используют успевший стать стандартом де-факто ключ -f, за тем лишь приятным исключением, что Fast reboot оснащена инсталлятором, прописывающим утилиту в автозагрузку и переводящим ее в режим отслеживания нажатия комбинации Ctrl+Alt+Shift+Del. Как только зафиксируется данное сочетание клавиш, приложение мгновенно отправит Windows в перезагрузку, предварительно сохранив настройки пользовательского профиля и содержимое кэша на жесткий диск в целях обеспечения целостности файловой системы.

Помимо сохранения системных данных, Fast reboot умеет перед перезагрузкой останавливать указанные пользователем сервисы, требующие корректного завершения работы. Для этого необходимо к значению FastReboot в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run дописать строку --script <полный_путь_к_скрипту>, сообщающую утилите о местоположении файла с дополнительными инструкциями.

В качестве демонстрации приведем пример авторского скрипта C:\Utils\stop_crit_svc.bat, останавливающего перед перезагрузкой веб-сервер Apache и системные сервисы базы данных Oracle:

net stop "Apache"
net stop "OracleServiceRECOGN"
net stop "OracleOraHome81TNSListener"
Для его запуска нужно прописать в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run строку "FastReboot"="FReboot.exe -u --script C:\\Utils\\stop_crit_svc.bat".

Автор: Андрей Крупин

tclover
16.08.2006, 22:28
А вот старенькая, но не потерявшая актуальность статья )
http://bugtraq.ru/library/internals/shut.html
а вот сама программка (http://doci.nnm.ru/rulezzzzz/16.08.2006/bystryj_start_by_tanaka/)

Deem3n®
16.08.2006, 23:14
Более элегантный способ быстрой перезагрузки/выключения - прописать эти опции в контекстное меню My Computer (XP/2k3 only):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\[Reboot]\command]
@="shutdown -r -f -t 3"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\[Shutdown]\command]
@="shutdown -s -f -t 3"
или же назначить им горячие клавиши

TANZWUT
17.08.2006, 00:12
Как только зафиксируется данное сочетание клавиш, приложение мгновенно отправит Windows в перезагрузку, предварительно сохранив настройки пользовательского профиля и содержимое кэша на жесткий диск в целях обеспечения целостности файловой системы.

незнаю, кому как, мне часто приходится перезагружаца чтоб менять винты, постоянно копирую на них дистры и при помощи ghost32 v8.2 ставлю клон винды.. быстро лиш работает "спящий режим" (для тех кто низнает - настраиваеца в панели управления/электопитание)... есть ли какаянито перспектива если буду использовать енту тулзу? мне надо быстрая перезагрузка/загрузка и выключение винды... как говорится: время - деньги!

Cedrik
31.08.2006, 15:08
самому мона создать файл перезагрузки и ни канифолить мозги топику и всем остальным =)))
если не с 1-го то со 2-го раза точна мона допетрить как это делать =))))))))

Sn@k3
10.09.2006, 01:21
гы я обычно юзаю флаг -a, так как при включение компа завершаю сразу ненужный хлам(лом и зреестра удалить)
shutdoen.exe -a