grub 2.0 g2ldr製做

原來一個虛擬機上的grub, 仍是1.99版的。一時閒來手賤,莫名奇妙的想升級成2.0版。 php

參照這個http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=245472&start=0把g2ldr升級一下。結果,grub不能正確識別root設備,而後進入修復模式。 html

查了半天,不得要領。最後找到bean大大最先的教程,參見2007年的這個貼子:http://bbs.znpc.net/forum.php?mod=viewthread&tid=3696。發現bean一開始是用g2hdr.bin做core.img的引導頭,後來的教程才改成用lnxboot.img做引導頭。 node

關於lnxboot.img,參見grub手冊,http://www.gnu.org/software/grub/manual/html_node/Images.html#Images,做用是讓grub的core.img看其來像linux內核,能夠被LILO等引導程序引導。 linux

嘗試一下,用g2hdr做引導頭,一舉成功。製做方法: ios

grub-mkimage -d /usr/lib/grub/i386-pc -O i386-pc -p "/boot/grub" -o ./core.img biosdisk part_gpt part_msdos fat ntfs exfat
cat /usr/lib/grub/i386-pc/g2hdr.img ./core.img > ./g2ldr

另外要注意的事項是2.0版的grub模塊都是到grub/i386-pc目錄下加載。因此要把除grub.cfg外的文件都移到grub/i386-pc目錄下。若是是efi版本的,模塊文件則要移到grub/x86_64-efi目錄下。 shell

相關文章
相關標籤/搜索