|
之前自己整理了一部分,之后就没弄了,没时间了
1. grub2源码获取
1) grub2源码地址:ftp://alpha.gnu.org/gnu/grub/
2. linux下编译grub2源码
1) configure配置(BIOS模式)
$ ./configure --prefix=/share/grub2lib --with-platform=pc --target=i386
2) configure配置 (UEFI模式)
$ ./configure --prefix=/share/grub2lib --with-platform=efi --target=i386
$ ./configure --prefix=/share/grub2lib --with-platform=efi --target=x86_64
3. grub2打包
BIOS模式定制:
注意了,BIOS模式對應的是MBR分區表,那麼啟動扇區的扇區數量為63
因為啟動扇區數量為63,有時定制BIOS模式時定制的模塊可以不要太多,基本上取biosdisk part_msdos fat exfat ntfs這些模塊就可以了,還有下面給出的定制命令,其實也能直接用的,原因後面再講
grub-mkimage.exe -d I386-PC -p (hd0,1)/Grub2/BIOS -o Core.img -O i386-pc biosdisk part_msdos fat exfat ext2 ntfs normal iso9660 search_fs_file
UEFI模式的32Bit定制:
grub-mkimage.exe -d i386-efi -p (hd0,1)/Grub2/UEFI_i386-efi -o I386-EFI.EFI -O i386-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file
UEFI模式的64Bit定制:
grub-mkimage.exe -d x86_64-efi -p (hd0,1)/Grub2/UEFI_x86_64-efi -o X86_64-EFI.EFI -O x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file
grub-mkimage命令參數解釋(注意,大小寫,不能搞混,以及路徑用的是正斜杠 / ):
-d 表示在定制的模式時需要用到的文件所在的路徑,壹般不用給完整路徑,直接給出和模式對應的文件夾名稱就行了,在定制時會默認的路徑,在Windows下,我的Grub2包放在C盤,那麼路徑是C:\grub-2.02~beta2-for-windows,模式對應的路徑默認自然就是C:\grub-2.02~beta2-for-windows\i386-pc
-p 定制後對應的路徑,因為涉及Grub2的prefix变量值以及Grub2啟動路勁,所以這裡才是基本完成路徑定制,不過還有些問題我後面再講
-o (這裡是小o) 表示定制後輸出的文件名稱以及路徑,壹般只寫文件名稱就行,在Windows下,會直接輸出到Grub2包所在的路徑中
-O (這裡是大O)表示定制模式,後面接的自然就是包含的模塊,可以自己在模式對應的目錄裏面查找并選需要的模塊 |
|