在很多資料上介紹grub的引導過程時,都是:
bios->MBR->boot loader
boot loader是grub或者lilo。但是他是放在什么位置?很多資料上都沒有標明。
通過閱讀文檔http://www.iamting.com/user1/1032/archives/2006/3089.html。中制作grub引導軟盤的過程:
cd /boot/grub
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1
其實就是把stage1拷貝到軟盤的頭512字節當中——即MBR當中,然后再把stage2文件拷貝到頭512字節后。
因此可以推測:
對於grub來說,放在mbr的stage1的內容即是去讀取頭512字節的stage2的內容,這才是把boot loader載入內存。讓他去引導內核。