Показать полную графическую версию : [решено] Как загрузчик ОС определяет: возобновление работы или обычная загрузка.
Petya V4sechkin
06-02-2009, 17:17
И как он это проверяет?
Простой эксперимент: загнал систему в Hibernate, потом загрузился с другого диска и посмотрел содержимое Hiberfil.sys. В начале файла символы HIBR. Если виндусовый загрузчик видит эту метку, то пытается использовать Hiberfil.sys.
Поиск по запросу hiberfil.sys hibr (http://www.google.ru/search?q=hiberfil.sys+hibr) дает много ссылок, например статью KB834093 (http://support.microsoft.com/kb/834093/ja) или тему на iXBT (http://forum.ixbt.com/topic.cgi?id=22:40706).
Хорошо, а что с линуксовым загрузчиком? Он же обычно грузится перед ntldr. Почему тогда он не отображается при включении после спящего режима/гибернации?
А что если линуксовый загрузчик видит метку hibr в Hiberfil.sys и без вопросов передает управление виндусовому Ntldr?
Можешь проверить, если хочешь.
А что если линуксовый загрузчик видит метку hibr в Hiberfil.sys и без вопросов передает управление виндусовому Ntldr?
Можешь проверить, если хочешь. »
К сожалению, лениво линукс устанавливать) Откуда знаю? Раньше пользовался.
Сомнения остаются: он может и не монтировать виндовые разделы (а уж тем более если поддержка ntfs отключена) Да, загрузчик-то этим и не занимается. В общем, я не буду спорить, хотя тема мне тоже интересна и непонятна :)
Ничего себе глюк сейчас был - 6 или 7 раз подряд одно и то же сообщение отправилось...
Простой эксперимент: загнал систему в Hibernate, потом загрузился с другого диска и посмотрел содержимое Hiberfil.sys. В начале файла символы HIBR. Если виндусовый загрузчик видит эту метку, то пытается использовать Hiberfil.sys. »
Petya V4sechkin, т.е. секрет спящего режима раскрыт? :)
Загрузчик Выни (ntldr) юзает файл hiberfil.sys до того, как начинает юзать boot.ini. При каждой загрузке системы, загрузчик проверяет наличие файла и "флага активности" или метки (назови как хошь) в самом начале файла (hibr). Если файл есть и стоит метка, что система находится в спячке, то загрузчик далее ищет информацию "самого кибернейта" и грузит в память содержимое файла hiberfil.sys, минуя собсно файл boot.ini. Если загрузчик не обнаруживает данной метки то он переходит к юзанию boot.ini, даже если инфа кибернейта есть в файле hiberfil.sys в полном объеме. Эта метка собсно и удаляется, если при выходе из спячки грузиться по F8 и выбрать меню "Удалите данные восстановления бла-бла-бла..." т.е. удалив эту метку получаем соответственно обычную загрузку.
Если метка есть, но нет самой инфы кибернейта то система предложит удалить метку, ссылаясь на несоответствие конфигурации бла-бла-бла...
Ясно!
Вообщем, можно считать, что на поставленый вопрос: как Windows "даёт знать" загрузчику, что она "уснула", т.е. в спящем режиме ? »
ответ найден. Всем участникам обсуждения: спасибо! :oszone: Особо - Petya V4sechkin и Vadikan за полезные ссылки. Теперь тему можно считать решённой.
P.S. Правда с Linux вопрос не решён.
Правда с Linux вопрос не решён. »
Поидее, если загрузчиком стоит Linux-овый загрузчик, то он обойден быть не может, скорее всего, прямой переход к Windows после "спячки" реализован силами Linux-а, скорее всего.
Но:
он может и не монтировать виндовые разделы (а уж тем более если поддержка ntfs отключена) Да, загрузчик-то этим и не занимается. В общем, я не буду спорить, хотя тема мне тоже интересна и непонятна »
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.