gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:24:04 27 4
gpt4 key购买 nike

我想问一下是 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自己做保护模式切换,不依赖bootloader

检查: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 - GRUB 是否切换到保护模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4821911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com