簡體   English   中英

GRUB是否切換到保護模式?

[英]Does GRUB switch to protected mode?

我想問一下,在啟動過程中是否將GRUB切換到保護模式,或者它是Linux內核。 而且我想問一下 - 內核本身(vmlinuz)是ELF還是純二進制格式? 謝謝。

GRUB 不會放棄你的保護模式。

GRUB多引導規范(版本0.6.96)第3.2節告訴你這一點

'CR0'

必須清零位31(PG)。 必須設置位0(PE)。 其他位都是未定義的。

CR0寄存器映射告訴您系統處於保護模式。


Linux不是多引導內核,並且不依賴於某些引導加載程序來切換PM,它遵循Linux引導協議 但是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可以檢測到linux啟動協議 (GRUB2,也應該是遺留)並在內存中加載linux,但不會切換到保護模式。 請查看此鏈接: http//www.gnu.org/software/grub/manual/grub.html#GNU_002fLinux和此鏈接頁面的第16部分。

根據http://www.moses.uklinux.net/patches/lki-1.html Linux內核是一個ELF二進制文件。 我很確定是Linux切換到保護模式,而不是啟動加載程序。 本頁同意: http//oss.sgi.com/LDP/HOWTO/Kernel-HOWTO/linux_boot_process.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM