2012-02-06 6 views
2

Я узнаю, что когда компьютер запускается, он находится в реальном режиме.
И ядро ​​отвечает за режим переключения от реального к защищенному.
Хорошо, мой вопрос - загрузчик Grub работает в реальном режиме или в защищенном режиме?Grub run, в каком режиме?

+0

Есть ли ответ здесь: http://stackoverflow.com/questions/97946/grub-and-getting-into-real-mode-low-level-assembler-question? Включая ссылку в ответ, я имею в виду. – AzP

+0

Нет, я уже прошел через это ... Я не получаю точный ответ! – Vikram

+0

Возможно, то же самое здесь: http://stackoverflow.com/questions/4821911/does-grub-switch-to-protected-mode – AzP

ответ

4

AFAIK, Grub запускается в реальном режиме, как и любое другое программное обеспечение, загруженное при загрузке. Он переключается в защищенный режим на время его запуска (обнаружение HD, отображение меню и т. Д.) И переключает назад в реальный режим перед загрузкой и запуском ОС, таких как Linux, которые не поддерживают протокол multiboot.

2

Для получения подробного ответа см. http://duartes.org/gustavo/blog/post/kernel-boot-process, но в основном Grub не переключается в защищенный режим при запуске Linux. Он загружает часть ядра в режиме реального времени в малой памяти и позволяет самому сделать это (в соответствии с требованиями Linux Boot Protocol, http://lxr.linux.no/#linux+v2.6.25.6/Documentation/i386/boot.txt)

Однако Grub также поддерживает спецификацию Multiboot Specification, которая запускает загруженную ОС в защищенный режим. Это делается для ядер, отличных от Linux, таких как современные доморощенные ОС, для которых производители не хотят беспокоиться о переходе в защищенный режим.