[英]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.