|
本帖最后由 2011hiboy 于 2014-8-20 21:20 编辑
2011hiboy全部共享资料:立刻去 提取码 0da0
聊几句闲话:
这个帖子在grub2区发表是不是比较好呢? 呵呵,不管了,先在UEFI区发吧...
Grub2引导有不少人是会的,但是教程还是比较少的,也很少有教制作Grub2的合盘的,我大约是上个月完成引导方面和部分菜单的制作的,但是因为各种事耽误到现在才发布...
会制作Grub2合盘的话,那么以后启动电脑就方便了,多系统,不管是BIOS系统还是UEFI系统都可以通过Grub2管理了,挺方便的....
Grub2正文部分(想DIY的仔细看)
Grub2引导是可以定制的,建议下载ubuntu-13.04然后VMware虚拟机安装,然后使用 “grub-mkimage” 定制(n多过程需自行摸索,我下发提供点命令帮助哦..)。
提供bootconfig.cfg写法(放置于HOME文件夹):
search.file /boot/grub/grub.cfg root
set prefix=($root)/boot/grub/
提供g2ldr生成命令写法:
sudo grub-mkimage -d /boot/grub/i386-pc -c bootconfig.cfg -o core.img -O i386-pc biosdisk part_msdos fat exfat ntfs ext2 iso9660 udf configfile search help reiserfs font linux chain
sudo cat /boot/grub/i386-pc/lnxboot.img core.img > g2ldr
我把自定义Grub2的步骤简单说一下:
bootconfig.cfg这个文件中的路径就是你能够自定义的。
而之后的g2ldr、g2ldr.mbr都由2部分组成:bootconfig.cfg+必要的模块。
我上面给出的命令包含了这两个部分。当然完成这些操作的环境是:ubuntu-13.04
我做好的成品合盘:
这是传统BIOS的Grub2合盘,简单的放置了2个DOS工具。之后的命令大家多多完善啊,我个人精力是有限的...
这是UEFI启动菜单,里面有启动efi文件的写法,大家照抄就可以了,这样就可以启动任意efi了...挺好使的
下载使用:
PMF镜像包:点击下载
::1、用Diskgenius 4.3 还原镜像文件到分区(UEFI恢复完毕即可使用)
::2、BIOS模块主引导
使用BOOTICE--->选择目标磁盘--->主引导记录--->恢复MBR--->选择g2ldr.mbr 恢复即可。
::3、完成制作
ZIP压缩包:点击下载
::1、了能够让UEFI支持请解压到FAT/FAT32分区
::2、BIOS模块主引导
使用BOOTICE--->选择目标磁盘--->主引导记录--->恢复MBR--->选择g2ldr.mbr 恢复即可。
::3、完成制作
ISO启动镜像(基于Grub2,BIOS、UEFI双支持):点击下载
::供欣赏和制作参考
注意:
如果不需要使用Grub2的主引导,那么请使用g2ldr文件来启动grub2.
后话:
大家可以以这个合盘为基础增加DOS工具,增加PE,增加UEFI系统的启动菜单,简单的来说下Grub2引导过程:
BIOS:
开机--->按照指定的顺序启动U盘--->启动U盘主引导--->主引导搜索指定位置的Grub.cfg--->加载Grub.cfg菜单,有用户自行选择启动项
UEFI
开机--->查找指定U盘内计算机默认引导文件:\efi\boot\bootx64.efi (grub2.efi改名)--->搜索指定位置的Grub.cfg--->加载Grub.cfg菜单,有用户自行选择启动项
大家如需自行定制Grub2的话需具备 ubuntu 系统,并且需要BIOS和UEFI版本的各一个,然后使用 grub-mkimage 定制。
Grub2的一些典型菜单写法(自行看说明摸索的,希望对大家有点用处啊):
重启写法
menuentry "重启"{
reboot
}
关机写法
menuentry "关机"{
halt
}
从主引导启动
#最后一句或者 chainloader (hd0)+1
menuentry "启动主引导记录 " {
set root=(hd0)
chainloader +1
}
从某个分区启动
#从第一磁盘的第一分区启动
#最后一句或者 chainloader (hd0,1)+1
menuentry "启动分区引导记录 1" {
set root=(hd0,1)
chainloader +1
}
#从存在bootmgr文件的那个分区启动
menuentry "启动分区引导记录 2" {
search --file /bootmgr --set=root
chainloader +1
}
最后一句或者 chainloader (hd0,1)+1
启动某个引导文件:
menuentry "启动 G4D"{
search --file /grldr --set=root
insmod ntldr
ntldr /grldr
}
启动efi件:
menuentry "启动EFI SHELL" {
echo "正在启动EFI SHELL,请等待...."
search --file /rdtobot/efi_file/boot/bootx64.efi --set=root
chainloader ($root)/rdtobot/efi_file/boot/bootx64.efi
}
启动IMG文件:
menuentry "启动 MHDD" {
search --file /neyan/grub/memdisk --set=root
linux16 /neyan/grub/memdisk
initrd16 /rdtobot/MHDD.img
}
启动ISO文件:
menuentry "列出操作系统" {
search --file /neyan/grub/memdisk --set=root
linux16 /neyan/grub/memdisk iso
initrd16 /rdtobot/LSTSYS.iso
}
子菜单写法:
submenu "我是一级菜单" {
menuentry "我是二级菜单1" {
echo "我是运行结果1"
}
menuentry "我是二级菜单2" {
echo "我是运行结果2"
}
}
|
评分
-
查看全部评分
|