linux – GRUB是否切换到保护模式?

前端之家收集整理的这篇文章主要介绍了linux – GRUB是否切换到保护模式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想询问是否是GRUB在启动过程中将cpu切换到保护模式,或者是 Linux内核.还有我想问的是 – 内核本身(vmlinuz)是一个ELF还是二进制格式?谢谢.

解决方法

GRUB确实会使您处于保护模式.

GRUB Multiboot Specification (version 0.6.96) Section 3.2告诉你这个

‘CR0’

Bit 31 (PG) must be cleared. Bit 0 (PE) must be set. Other bits are all undefined.

CR0 Register mapping告诉你系统应该处于保护模式.

Linux不是一个多引导内核,并不依赖于一些引导程序在PM中进行切换,它遵循Linux Boot Protocol.但是linux是自己保护的模式,而不依赖于引导加载程序

检查:http://lxr.linux.no/#linux+v2.6.39/arch/x86/boot/main.c

这里调用go_to_protected_mode();当然后调用protected_mode_jump(),然后进行CR0的填充(设置位0)

(另一位说分页被禁用)

编辑

我可以想到的是,GRUB can detect linux boot protocol(GRUB2和legacy也应该),并在内存上加载linux,但不切换到保护模式.看看这个链接http://www.gnu.org/software/grub/manual/grub.html#GNU_002fLinux和本链接页面的第16节.

猜你在找的Linux相关文章