无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 41837|回复: 54

[原创] 在windows多系统中安装grub2-2.00启动器

    [复制链接]
发表于 2013-5-13 11:29:52 | 显示全部楼层 |阅读模式
本帖最后由 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模块文件合并了分卷压缩,配置文件引入了环境变量,用于保存上次启动的系统。

memdisk.7z

12.62 KB, 下载次数: 774, 下载积分: 无忧币 -2

启动iso,img需要的文件

gr2ldr.7z

31.74 KB, 下载次数: 1167, 下载积分: 无忧币 -2

grub2-2.00

boot.7z

1.15 MB, 下载次数: 1206, 下载积分: 无忧币 -2

grub2模块文件

评分

参与人数 4无忧币 +20 收起 理由
2011wuchen + 5 很给力!
nsdsyw2010 + 5 很给力!
Debian + 5 赞一个!
peterpanheaven + 5 實用!!

查看全部评分

发表于 2014-5-6 18:25:49 | 显示全部楼层
好教程,多谢分享,看来比GRUB2DOS省事。
回复

使用道具 举报

 楼主| 发表于 2014-5-6 08:01:32 | 显示全部楼层
grub2-2.02已经有了windows版本,参见 ftp://alpha.gnu.org/gnu/grub/
回复

使用道具 举报

发表于 2014-5-21 17:06:02 | 显示全部楼层
这个教程是我看过,最详细最易懂的grub2教程,太感谢了
回复

使用道具 举报

发表于 2014-3-31 14:49:01 | 显示全部楼层
楼主高人,特地申请个号来膜拜一下。
回复

使用道具 举报

发表于 2014-2-17 10:09:19 | 显示全部楼层
不错的好方法,试下收藏了,感谢!
回复

使用道具 举报

 楼主| 发表于 2013-5-19 13:10:36 来自手机 | 显示全部楼层
ruixing 发表于 2013-5-18 20:26
多谢回复,试着做了,不能启动,用你做的可以成功启动,我是在虚拟机中有UBUNTU镜像启动,在终端先转到虚 ...

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

使用道具 举报

发表于 2013-5-18 20:26:39 | 显示全部楼层
fanet 发表于 2013-5-16 21:19
就是连接两个文件吧,dos,linux下都有这命令,winhex也能合并两文件,
我是在linux下制做的,其它方法没 ...

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

使用道具 举报

 楼主| 发表于 2013-5-16 21:19:27 | 显示全部楼层
ruixing 发表于 2013-5-16 21:01
G2LDR是怎么制作出来的?,我现在有提取这两个镜像,能详细说明下吗?

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

使用道具 举报

发表于 2013-5-16 21:01:16 | 显示全部楼层
G2LDR是怎么制作出来的?,我现在有提取这两个镜像,能详细说明下吗?
回复

使用道具 举报

发表于 2013-5-16 12:59:12 | 显示全部楼层
顶下
回复

使用道具 举报

发表于 2013-5-13 11:32:44 | 显示全部楼层
谢谢!学习了!
回复

使用道具 举报

发表于 2013-5-14 20:23:58 | 显示全部楼层
分卷解压错误,用什么解压的。我把BOOT.7Z.001.ZIP改成PART01.7Z 。另一个包改为PART02.7Z报错
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

发表于 2013-5-14 21:53:12 | 显示全部楼层
fanet 发表于 2013-5-14 20:51
你重命名错了,7z分卷压缩的原文件名为boot.7z.001

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

使用道具 举报

发表于 2013-5-19 15:46:39 | 显示全部楼层
把所需文件复制到主文件下制作成功,谢谢兄弟的耐心
回复

使用道具 举报

发表于 2013-6-9 20:09:59 | 显示全部楼层
学习ING,BUT,一头雾水中。。。。
回复

使用道具 举报

发表于 2013-8-25 21:40:11 | 显示全部楼层
这么好文章,怎么这么少人顶呢,,替楼主悲哀,,,

点评

话说无忧歧视第一贴,你看一直贴一个“新人贴”的标签在那。好歹我也混到了少校了。我就不刷贴了,觉得好用的就顶贴,帮加个分吧!  发表于 2013-8-26 13:53
回复

使用道具 举报

发表于 2013-10-17 21:17:38 | 显示全部楼层
下载试用中.............顶一个
回复

使用道具 举报

发表于 2013-10-23 22:05:10 | 显示全部楼层
帮顶,顺问一下UEFI+GPT如何用
回复

使用道具 举报

发表于 2013-10-23 22:54:26 来自手机 | 显示全部楼层
学习,基本已经理清脉络了似乎。慢慢摸索,有时间自己实验一下。
回复

使用道具 举报

发表于 2013-10-31 17:01:36 | 显示全部楼层
下载试用中,顶一个
回复

使用道具 举报

发表于 2013-11-4 13:24:58 | 显示全部楼层
楼主"用bootice安装grub2到硬盘MBR",怎么操作?

点评

打开程序bootice,看一下就明白了,标签“物理磁盘管理-->主引导记录-->选中grub 2.00-->安装/配置”。请务必注意选对磁盘!  发表于 2013-11-4 16:47
回复

使用道具 举报

发表于 2013-11-4 17:53:04 | 显示全部楼层
谢谢楼主!已安好了。还请教一个问题,我在其它分区安装系统也能启动吗?

点评

当然可以,想装多少个都行,要自己修改启动菜单。安装新的windows后,windows会改写mbr,用"bootice安装grub2到硬盘MBR"来恢复启动,  发表于 2013-11-4 22:59
回复

使用道具 举报

发表于 2013-11-5 21:36:12 | 显示全部楼层
谢谢楼主!diskgenius怎么调整U盘保留扇区数?不好意思,菜鸟问题多。

点评

这个,涉及到另一个软件的使用方法。 最简单的方法用diskgenius重新分区U盘,直接设置第一个分区的起始扇区; 或者调整第一个分区的大小,把前面空出你要的空间来。  发表于 2013-11-6 14:09
回复

使用道具 举报

发表于 2013-11-9 07:40:12 | 显示全部楼层
感谢楼主的指点!
回复

使用道具 举报

发表于 2013-11-18 22:57:36 | 显示全部楼层
太好了!太感谢了!
回复

使用道具 举报

发表于 2013-11-30 20:36:07 来自手机 | 显示全部楼层
有没有合成好的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 不能启动。  详情 回复 发表于 2013-12-3 08:30
哦,那试试那个cdboot.img。 不过网上提到做成可引导的grub2引导的iso,通过cat cdboot.img + core.img合成的?  详情 回复 发表于 2013-12-1 23:02
把它(cdboot.img)做光盘的引导,模块文件放在根目录,应该可以得grub2的引导光盘。  发表于 2013-12-1 21:00
模块文件里面有一个cdboot.img,是不是你要的?  发表于 2013-12-1 20:55
回复

使用道具 举报

发表于 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合成的?
回复

使用道具 举报

发表于 2013-12-2 23:18:25 | 显示全部楼层
又学习到一个 有用的,谢谢楼主分享
回复

使用道具 举报

发表于 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
不能启动。
回复

使用道具 举报

发表于 2013-12-3 08:39:28 来自手机 | 显示全部楼层
麻烦就麻烦在要在linux下生成core.img,关键在于模块的加入,究竟该加那些模块,资料大多是英文,只要加入能访问grub核心文件目录所在介质的模块,就容易了,使用insmod命令插入相应模块(或理解为驱动),就可以访问其他文件系统上的东西了!
回复

使用道具 举报

发表于 2013-12-3 19:51:04 | 显示全部楼层
本帖最后由 wuyouman01 于 2013-12-3 19:53 编辑

编译grub2太麻烦了,终于找到一个grub2cd.bin,把前面512字节去掉应该是core.img了,接下来生成g2ldr就好办了。
Grub2.rar (331.33 KB, 下载次数: 53)
回复

使用道具 举报

发表于 2014-1-10 15:09:27 | 显示全部楼层
efi时代 该学习grub2了
回复

使用道具 举报

发表于 2014-2-15 16:47:23 | 显示全部楼层
内容介绍很详细,很实用,我也试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 06:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表