fanet 发表于 2013-5-13 11:29:52

在windows多系统中安装grub2-2.00启动器

本帖最后由 fanet 于 2013-12-15 21:54 编辑

grub2是现在linux版本中的流行启动器。它可以启动各种系统,也可直接硬盘装系统。一直以来它只支持在linux系统中安装,这是它在windows系统不能广泛应用的主要原因吧,目前这方面的探索论坛里有一些主题。
这里不仔细讨论linux下的安装方式,我依据个人使用grub的经验,提供两个windows下的安装方案:
方法1>用bootice安装grub2到mbr。
pauly兄的bootice最新版本1.06,经测试安装grub2-2.00成功。适合bios+mbr磁盘结构,
但由于保留扇区容量的限制,目前只支持把grub2模块放在fat,exfat, ext分区上,不支持ntfs分区搜索grub2模块
step1,用bootice安装grub2引导代码到硬盘MBR。占用63个扇区。安装到u盘的要自行检查U盘前面的保留扇区是否够用!用diskgenius可以调整保留扇区数。
step2,将附件grub2模块考到硬盘fat,exfat,ext分区(例如X:),解压到根目录。
step3,修改菜单配置文件X:\boot\grub\grub.cfg,关于启动菜单的隐藏,需修改set timeout=1部分为set timeout=0.
         唤出菜单用shift键。但我更乐意将时间设置为set timeout=1,这样可以用上下方向键,esc键等大部分键hold菜单。
重启,
grub2装在u盘上做启动是非常好用的维护工具。

方法2>自定制gr2ldr,用bootmgr的BCD菜单加载启动。
在linux下用# grub-mkimage --output=./core.img -c config.cfg --format=i386-pc biosdisk part_msdos fat ntfs ext2 search_fs_file
自定制core.img嵌入以下config.cfg文件,
/////////////////////////////////////////
set cfgfile="/boot/grub/grub.cfg"
search.file $cfgfile root
set prefix=($root)/boot/grub
//////////////////////////////////////////
在安装的grub目录,找到lnxboot.img用cat合并两个文件(lnxboot.img+core.img)即可得gr2ldr引导文件。
附件gr2ldr支持bios+part_msdos分区结构,支持ntfs,fat,ext文件格式自动搜索grub2模块放置分区.
step1,修改BCD菜单,加入gr2ldr启动项。gr2ldr可以放在任意目录下,但建议放在C:\boot\下;
step2,将附件grub2模块考到硬盘fat,ntfs,ext分区(例如X:),解压到根目录。
step3,修改菜单配置文件X:\boot\grub\grub.cfg,还有一个子菜单,都是我在用的cfg.你可以作为样板菜单参照修改,涵盖的例子比较全,如如何启动img,iso文件。
重启,
这种方法用在win8中切换系统,可以开启快速启动,不易出错。
通常我喜欢在磁盘的末端设一个fat32系统维护分区,大小约300m,将grub2模块存放于此,再放一些维护工具如dos,pe,slitaz映像文件(img,iso),都可以直接grub2启动.为了安全,把这个分区设置为隐藏.

题外,如何用grub2从硬盘安装windows7/8/8.1系统:
step1,将下载的windows7/8系统iso,解压到你的某个数据盘根目录例如E:/
step2,添加grub2菜单配置项(已加入子菜单中),
menuentry "Setup Windows 7/8 "--unrestricted {
        set isofile="/setup.exe"
        search -f --set=root $isofile
        ntldr /bootmgr
}
step3,重启,选择菜单"Setup Windows 7/8 ",安装win7/8………。接下来跟光盘安装一样,不会有盘符错乱,也不用管winx86,x64,通通ok!安装完后就可以把step1的解压给删了,
step4,用前面的方法恢复grub2引导。
多系统安装如此简单。
//////////////////////////////
12.12修改:grub2模块文件合并了分卷压缩,配置文件引入了环境变量,用于保存上次启动的系统。

666666 发表于 2014-5-6 18:25:49

好教程,多谢分享,看来比GRUB2DOS省事。

fanet 发表于 2014-5-6 08:01:32

grub2-2.02已经有了windows版本,参见 ftp://alpha.gnu.org/gnu/grub/

2011mysuperdos 发表于 2014-5-21 17:06:02

这个教程是我看过,最详细最易懂的grub2教程,太感谢了

Methane 发表于 2014-3-31 14:49:01

楼主高人,特地申请个号来膜拜一下。

ali88home 发表于 2014-2-17 10:09:19

不错的好方法,试下收藏了,感谢!

fanet 发表于 2013-5-19 13:10:36

ruixing 发表于 2013-5-18 20:26
多谢回复,试着做了,不能启动,用你做的可以成功启动,我是在虚拟机中有UBUNTU镜像启动,在终端先转到虚 ...

没有看到你详细制做过程,也不知道能不能进rescue,不好判断,

ruixing 发表于 2013-5-18 20:26:39

fanet 发表于 2013-5-16 21:19 static/image/common/back.gif
就是连接两个文件吧,dos,linux下都有这命令,winhex也能合并两文件,
我是在linux下制做的,其它方法没 ...

多谢回复,试着做了,不能启动,用你做的可以成功启动,我是在虚拟机中有UBUNTU镜像启动,在终端先转到虚拟硬盘目录,因在虚拟硬盘中复制了LNXBOOT.IMG ,且放置了CONFIG.CFG。一步一步复制你给的命令,得到一个35.6K大小gr2ldr,不知哪出错了???

fanet 发表于 2013-5-16 21:19:27

ruixing 发表于 2013-5-16 21:01 static/image/common/back.gif
G2LDR是怎么制作出来的?,我现在有提取这两个镜像,能详细说明下吗?

就是连接两个文件吧,dos,linux下都有这命令,winhex也能合并两文件,
我是在linux下制做的,其它方法没有测试过,命令如下:
# cat lnxboot.img core.img>gr2ldr

ruixing 发表于 2013-5-16 21:01:16

G2LDR是怎么制作出来的?,我现在有提取这两个镜像,能详细说明下吗?

姚委员 发表于 2013-5-16 12:59:12

顶下

月光海洋 发表于 2013-5-13 11:32:44

谢谢!学习了!

ruixing 发表于 2013-5-14 20:23:58

分卷解压错误,用什么解压的。我把BOOT.7Z.001.ZIP改成PART01.7Z 。另一个包改为PART02.7Z报错

fanet 发表于 2013-5-14 20:51:29

本帖最后由 fanet 于 2013-5-14 20:53 编辑

ruixing 发表于 2013-5-14 20:23
分卷解压错误,用什么解压的。我把BOOT.7Z.001.ZIP改成PART01.7Z 。另一个包改为PART02.7Z报错

你重命名错了,7z分卷压缩的原文件名为boot.7z.001

ruixing 发表于 2013-5-14 21:53:12

fanet 发表于 2013-5-14 20:51 static/image/common/back.gif
你重命名错了,7z分卷压缩的原文件名为boot.7z.001

谢谢了,WINRAR用得多,犯错误了

ruixing 发表于 2013-5-19 15:46:39

把所需文件复制到主文件下制作成功,谢谢兄弟的耐心

2012imwu 发表于 2013-6-9 20:09:59

学习ING,BUT,一头雾水中。。。。

zbss 发表于 2013-8-25 21:40:11

这么好文章,怎么这么少人顶呢,,替楼主悲哀,,,

2012fy8li 发表于 2013-10-17 21:17:38

下载试用中.............顶一个

yang77 发表于 2013-10-23 22:05:10

帮顶,顺问一下UEFI+GPT如何用

shan 发表于 2013-10-23 22:54:26

学习,基本已经理清脉络了似乎。慢慢摸索,有时间自己实验一下。

nsdsyw2010 发表于 2013-10-31 17:01:36

下载试用中,顶一个

nsdsyw2010 发表于 2013-11-4 13:24:58

楼主"用bootice安装grub2到硬盘MBR",怎么操作?

nsdsyw2010 发表于 2013-11-4 17:53:04

谢谢楼主!已安好了。还请教一个问题,我在其它分区安装系统也能启动吗?

nsdsyw2010 发表于 2013-11-5 21:36:12

谢谢楼主!diskgenius怎么调整U盘保留扇区数?不好意思,菜鸟问题多。

nsdsyw2010 发表于 2013-11-9 07:40:12

感谢楼主的指点!

knifeflying 发表于 2013-11-18 22:57:36

太好了!太感谢了!

wuyouman01 发表于 2013-11-30 20:36:07

有没有合成好的core.img或grub2cd.bin下载,麻烦丢个过来

wuyouman01 发表于 2013-12-1 23:02:01

wuyouman01 发表于 2013-11-30 20:36
有没有合成好的core.img或grub2cd.bin下载,麻烦丢个过来

哦,那试试那个cdboot.img。
不过网上提到做成可引导的grub2引导的iso,通过cat cdboot.img + core.img合成的?

evnious 发表于 2013-12-2 23:18:25

又学习到一个 有用的,谢谢楼主分享

wuyouman01 发表于 2013-12-3 08:30:40

wuyouman01 发表于 2013-11-30 20:36
有没有合成好的core.img或grub2cd.bin下载,麻烦丢个过来

我用mkisofs制作的:
mkisofs -v -V Uefi -R -J-no-emul-boot -b cdboot.img -udf -boot-load-size 4 -boot-info-table -o winpe.iso bootg2
不能启动。

my9823 发表于 2013-12-3 08:39:28

麻烦就麻烦在要在linux下生成core.img,关键在于模块的加入,究竟该加那些模块,资料大多是英文,只要加入能访问grub核心文件目录所在介质的模块,就容易了,使用insmod命令插入相应模块(或理解为驱动),就可以访问其他文件系统上的东西了!

wuyouman01 发表于 2013-12-3 19:51:04

本帖最后由 wuyouman01 于 2013-12-3 19:53 编辑

编译grub2太麻烦了,终于找到一个grub2cd.bin,把前面512字节去掉应该是core.img了,接下来生成g2ldr就好办了。

就差一个grub2_efi了 - -。

zqjiang 发表于 2014-1-10 15:09:27

efi时代 该学习grub2了

cnstars 发表于 2014-2-15 16:47:23

内容介绍很详细,很实用,我也试试
页: [1] 2
查看完整版本: 在windows多系统中安装grub2-2.00启动器