Grub2启动盘的制作,支持BIOS和UEFI哦.....
本帖最后由 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 helpreiserfs 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/memdiskiso
initrd16 /rdtobot/LSTSYS.iso
}
子菜单写法:
submenu "我是一级菜单" {
menuentry "我是二级菜单1" {
echo "我是运行结果1"
}
menuentry "我是二级菜单2" {
echo "我是运行结果2"
}
}
①shutdown.exe -s -t 00关机,重启,这两种情况有彻底关机状态,其它都是快速关机。
②在efiBIOS里打开从外部装置引导启动(即允许),就只能在彻底关机或重启情况下才能进入grub2启动工具盘。
③在efiBIOS里关闭从外部装置引导启动(即禁用),也就是出厂的默认设置,在全部形式的关机情况下,用急救键启动机器,都能进入grub2启动工具盘。简单说就是,用“关机”按钮关闭电脑后,用急救键从usb盘启动机器。i 请问你那模版 里面的rdtobot可以删除吗? 少1个文件夹比较清爽 wuyouhou 发表于 2014-6-5 18:20
我使用的是EFI包!
终于解决了,而且实机测试成功:
##老版本的 cat.mod 模块,不能显示汉字;换成 v2.02~beta2-6 grub2 或更新版本的 cat.mod 模块,就显示汉字
##http://pan.baidu.com/s/1mgjv6Uc
##http://bbs.wuyou.net/forum.php?mod=viewthread&tid=322477
##version 2.02~beta2-6 grub2 2014.5.29
##parted_magic_amd64+x86_v2014.04.28-multiLanguage.ISO资料提取
##老版本的cat.mod模块_不能显示汉字_换成v2.02~beta2-6grub2或更新版本的cat.mod模块_就显示汉字
错怪楼主了,对不起楼主,请楼主原谅。楼主辛苦啦,谢谢你们!折磨我了,终于找出原因啦,疑难解决了。笑话大王啦,时代不同了,今非昔比呀。Windows8/8.1系统的关机和开机都不是昔日的开机关机,实质上是核心休眠和核心出眠;在此关机状态下,用EFI启动管理器工盘是无法启动电脑的,任你如何手段也启动不成;若是用EFI的WinPE文件做成的工具盘,此种状态下能够启动电脑,但是,新存进系统C盘里的文件,在重新开机回到正常系统时,就全部是废品或丢失,其所占用的空间还得用分区的属性里的工具晃一遍才能回来。
所以大家注意啦,要在原来系统里用重启的方式来启动工具盘,否则,要么工作不正常,要么机器启动不成。事情就又来了,既然能重新启动电脑,那么电脑就应该是没有毛病的了,工具盘的用途就窄小很多了,普通人们就是拿来作玩物了,哈哈。 请教版主,UEFI下,能用grub2启动WIN8PE.ISO(能在EFI下启动)吗?
如可以,grub.cfg 怎么编辑?谢谢。 本帖最后由 ggmm888 于 2013-6-24 21:43 编辑
多谢,确实bios环境成功运行菜单
1楼菜单
启动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
}
上面这个菜单在bios环境不能使用(当然把bootx64.efi修改为bootmgr来加载),有错误提示“Invalid signature” 签名无效,在UEFI环境在成功运行。
在bios环境,使用grub2.efi运行grldr后,可以启动PE成功了,感觉绕远了。
希望给个bios环境下,使用grub2.efi如何的启动PE菜单,多谢
1楼EFI菜单
启动IMG文件:
menuentry "启动 MHDD" {
search --file /neyan/grub/memdisk --set=root
linux16/neyan/grub/memdisk
initrd16 /rdtobot/MHDD.img
}
上面菜单无法使用
在UEFI环境下,那使用grub2.efi如何启动IMG文件 是个发展方向 wuyouhou 发表于 2014-6-9 00:44
终于解决了,而且实机测试成功:
##老版本的 cat.mod 模块,不能显示汉字;换成 v2.02~beta2-6 grub2 或 ...
终于解决了,而且实机测试成功:
##老版本的 cat.mod 模块,不能显示汉字;换成 v2.02~beta2-6 grub2 或更新版本的 cat.mod 模块,就显示汉字
##http://pan.baidu.com/s/1mgjv6Uc
##http://bbs.wuyou.net/forum.php?mod=viewthread&tid=322477
##version 2.02~beta2-6 grub2 2014.5.29
##parted_magic_amd64+x86_v2014.04.28-multiLanguage.ISO资料提取
##老版本的cat.mod模块_不能显示汉字_换成v2.02~beta2-6grub2或更新版本的cat.mod模块_就显示汉字
我是实机啊,不是用虚拟机啊。连菜单都未见,启动第一步就说是无效的系统。折磨我了。
本帖最后由 wuyouhou 于 2014-3-25 16:55 编辑将U盘做成EFI的GPT盘,用ZIP压缩包来做盘后,并将机器设置成UEFI式外设备启动,64位GPT,最终结果是,不能启动U盘,报告英文无效的系统。我的机器是sonyVAIO的svf15218scw去年新机器。我的过程应该是没有毛病,因为我对启动已经是熟悉了,也反复复查了。所以,我的判断是,只能是grub2有毛病。 多谢楼主分享,拿来用了,谢谢 这个和Winly那个版本仅是定制不同吗? ddianxing 发表于 2013-6-17 09:53 static/image/common/back.gif
这个和Winly那个版本仅是定制不同吗?
w2inly的那个呀?我没有比较过,不过我想既然都是grub2,那么相差应该不会大多的吧。
研究Grub2的启动,主要是因为想了解Grub2的启动过程,很早就看到BOOTICE里面支持Grub2的主引导
但是那时候我不知怎样使用,写了主引导不知道core.img和boot.img为何物,百度、谷歌都没有得到答案,对grub2比较迷茫。
现在对grub2的引导过程和引导文件制作总算有着比较清晰地了解,就将做好的东西发出来,包含了
BIOS和UEFI部分,可以单独提取各部分使用,在使用的过程中,可以来提问,相互交流制作与使用中遇到的问题
对于BIOS来说Grub2我觉得没有G4D好使,但是对于UEFI来说,Grub2引导就太好使了,因为计算机默认引导只有一个,修复不同的efi系统需要不同的工具,有了grub2,那就是几个efi文件引导的问题.... 2011hiboy 发表于 2013-6-17 13:42 static/image/common/back.gif
对于BIOS来说Grub2我觉得没有G4D好使,但是对于UEFI来说,Grub2引导就太好使了,因为计算机默认引导只有一个 ...
grub2在uefi上其实就相当于另一个efi shell fujianabc 发表于 2013-6-17 16:02 static/image/common/back.gif
grub2在uefi上其实就相当于另一个efi shell
计算机uefi引导grub2就是引导grub2.efi文件,从而有了下面的菜单。可以看成是一个efishell,也可以看成是一个efi程序吧。不过用grub2来管理efi的系统的确方便的说。 没有条件实验,暂时只有把UEFI 深深的藏在心里了{:3_144:} 快雪时晴 发表于 2013-6-17 21:16 static/image/common/back.gif
没有条件实验,暂时只有把UEFI 深深的藏在心里了
有同感,呵呵。 快雪时晴 发表于 2013-6-17 21:16 static/image/common/back.gif
没有条件实验,暂时只有把UEFI 深深的藏在心里了
why?
VMware 9.02software easily @ your service ...
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=276545&extra=page%3D1
peterpanheaven 发表于 2013-6-18 04:00 static/image/common/back.gif
why?
VMware 9.02software easily @ your service ...
手头PC都弱不禁风,无力塞个VM9:dizzy: 请问版主 BCD 要 引导 GRUB2 要 如何写? 很好的工具盘,支持楼主!
如果能更方便的编译、安装Grub2就更好了;使用BootICE安装Grub2核心后,没有相应的Boot\grub2文件夹及相关的配置,也是无法使用Grub2的,是一大遗憾…… 2012acer669 发表于 2013-6-18 16:24 static/image/common/back.gif
很好的工具盘,支持楼主!
如果能更方便的编译、安装Grub2就更好了;使用BootICE安装Grub2核心后,没有相 ...
Grub2是提取的ubuntu-13.04里面的可以说是比较新的了,定制也是在ubuntu里面进行定制的。至于那些文件夹文件,就使用我准备的就可以了,提取自ubuntu-13.04里面的。 zqjiang 发表于 2013-6-18 15:40 static/image/common/back.gif
请问版主 BCD 要 引导 GRUB2 要 如何写?
我这里测试的时候bcd引导不起来g2ldr,说什么错误....我晕了....所以我使用grub2引导BIOS启动文件和efi文件。 好东西,慢慢吸收学习 2011hiboy 发表于 2013-6-18 18:14 static/image/common/back.gif
我这里测试的时候bcd引导不起来g2ldr,说什么错误....我晕了....所以我使用grub2引导BIOS启动文件和efi文 ...
按照你合盘的样子可以引导efi文件
看来bcd目前是无法引导g2ldr了 ZIP压缩包合盘成功,可以BIOS、UEFI双启动,更绝的是两套菜单,非常适用。要是再提供g2ldr.mbr 文件和UEFI启动microsoft启动模块,就更加方便菜鸟,启动无敌了!!!!!! zqjiang 发表于 2013-6-18 19:06 static/image/common/back.gif
按照你合盘的样子可以引导efi文件
看来bcd目前是无法引导g2ldr了
bcd可以引导BIOS启动的g2ldr,bcd不支持直接引导g2ldr ,需要引导g2ldr的g2ldr.mbr文件。 支持 2011cwj6958 发表于 2013-6-22 13:03 static/image/common/back.gif
bcd可以引导BIOS启动的g2ldr,bcd不支持直接引导g2ldr ,需要引导g2ldr的g2ldr.mbr文件。
我说的是不可以引导 EFI 启动的g2ldr 可惜啊 zqjiang 发表于 2013-6-22 18:04 static/image/common/back.gif
我说的是不可以引导 EFI 启动的g2ldr 可惜啊
efi版的grub2.efi可以直接用主板启动,也没必要让bootmgr来加载 谢谢谢谢谢谢 感谢楼主讲解,不过传统bios和mbr方式还没弄明白那,先收着 zqjiang 发表于 2013-6-22 18:04 static/image/common/back.gif
我说的是不可以引导 EFI 启动的g2ldr 可惜啊
g2ldr的引导功能比 bcd的强大的多,直接修改grub.cfg文件。比配置bcd文件方便的多,引导EFI 启动的bcd也很方便。 fujianabc 发表于 2013-6-22 20:02 static/image/common/back.gif
efi版的grub2.efi可以直接用主板启动,也没必要让bootmgr来加载
嗯
先 启动 efi版的grub2.efi ,再来加载 bootmgr 很方便的 2011cwj6958 发表于 2013-6-22 22:02 static/image/common/back.gif
g2ldr的引导功能比 bcd的强大的多,直接修改grub.cfg文件。比配置bcd文件方便的多,引导EFI 启动的bcd也很 ...
不错
先 启动 efi版的grub2.efi ,再来加载 bootmgr 很方便的 本帖最后由 ggmm888 于 2013-6-24 20:00 编辑
只能看到1楼的菜单不能运行菜单,错误提示
linux16
initrd16
上面两个文件找不到,无法加载程序
vmware9.0.2.35902虚拟机EFI测试,没有条件使用真机测试。 ggmm888 发表于 2013-6-24 19:45 static/image/common/back.gif
只能看到1楼的菜单不能运行菜单,错误提示
linux16
这两条是16位命令,只支持bios环境。EFI不支持16位 ggmm888 发表于 2013-6-24 20:39 static/image/common/back.gif
多谢,确实bios环境成功运行菜单
1楼菜单
看#28楼正解。
UEFI要是能运行DOS程序那还不是爽歪歪....