当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-11-08 15:16 
头像

注册: 2009-11-04 13:34
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
如题,先安装了win7之后再使用grub4来引导硬盘上光盘镜像ubuntu-10.04-dvd-amd64.iso ,成功安装了ubuntu10.04,可是问题来了:

开机先出现的是grub4dos引导菜单,从ubuntu开始,最后才到win7(虽然可以到ubuntu下修改grub.cgf配置set default= “0”改成“4”成为优先启动win7),就算可以把windows7启动项移到第一项去,这样要进入win7还是一样要经过两个启动菜单,不爽哈我的想法是先启动win7,利用bcdedit编辑通过bootmgr来引导grub4dos菜单再进入ubuntu,有什么方法可以实现这个么??

我要达到的效果是:
开机-->
windows7 Professional(这样就直接进入win7了,这个爽)
grubdos4(这里进入引导ubuntu的二级菜单)
结束

:em01 各位大虾能否支招一下小弟!!!!
============================================================================
解决方法如下:

此方法不需要更改win7的bootmbr,注意安装ubuntu时在最后一步打开高级(选项),去掉安装引导选项(可避免日后liunx分区或者硬件改变而引起windows系统无法启动的问题)。
步骤:
1、C盘下新建文件boot.ini,写入以下内容:
[boot loader]
timeout=3
[operating systems]
C:\g2ldr.mbr="Grub4DOS for Linux"

2、再新建文件menu.lst在D盘,内容为:
timeout=0
default 0
title Ubuntu10.04,Linux 2.6.32-X-generic
root (hdx,y) 【本机为(hd0,8) 】
kernel /vmlinuz root=UUID=xxxx-xxxx-xxxx-xxxx-xxxx【本机为efdec932-995b-447d-9712-7aeea7d86f49】 ro quiet splash
initrd /initrd.img
quiet
补充:一般可用sudo blkid 命令查看Ubuntu的根分区UUID,还有分区情况,也可以推算出root (hdx,y)。
此配置文件还可以通过添加命令来实现多重引导,如硬盘安装Ubuntu等。

3、将修改过的g2ldr.mbr(看下面的附录说明)拷贝到C盘下,

4、将原Grub4DOS下的grldr更名为g2ldr并拷贝到D盘下(原则上放在C盘里就可以,但本机找不到,所以放到D盘,menu.lst同理)。

最后,重启即可
============================================================================
附录说明:

以下内容非原创,小弟正是受此内容启发而将步骤具体化:
安装有win7和linux双系统的朋友,一般是用grub4dos来引导linux的。引导的基本过程是,用win7引导grldr.mbr,再通过grldr.mbr引导glrdr,grldr根据menu.lst启动linux系统。
但是,一些破解版的win7,一般在系统盘根目录上会生成一个名为grldr的文件。如果用grub4dos的grldr来替代这个grldr,则会导致破解失败。如果在系统盘存在着名为menu.lst的文件,则会导致win7无法启动。
我们当然可以把grub4dos的grldr和menu.lst放在其它的盘,但是,grldr.mbr会全盘搜索grldr,它首先会在活动的主分区搜索,搜到grldr后即停止而不会继续探索。所以把grldr放到别的盘并无意义。
解决的办法其实很简单:
从网上下载UltraEdit,有绿色破解版下载,百度或者谷歌一搜即得。
用UltraEdit打开grldr.mbr,点搜索-替换,勾选“查找ASCII”,其它的都不要勾选。在“查找什么”栏填入“grldr”,“替换为”填写你自己想要填写的名字,比如:“g0ldr"
这个自己取的名字有一个要点,原来的grldr为五个小写的英文字母,所以你所填写的新名字,可以是字母加数字的组合,但一定要是五个,不可多也不可少。否则会改变原文件的结构,从而导致失败。
改好后,点击“全部替换”,再点确认。点击保存或者另存为。
然后把grub4dos的grldr文件改名为g0ldr。
再用你修改过的grldr.mbr就可以引导g0ldr了,而对于grldr它会视而不见的。

grldr启动的时候会搜索menu.lst文件,再根据这个文件启动指定的操作系统。如果你不希望它找的是menu.lst文件,同样的办法可以用UltraEdit,打开grldr后,搜索menu.lst并替换为你想要替换的名字,比如:m0nu.lst

明白了以上的方法,我们可以进行多种发挥,比如,我们修改grldr.mbr,把里面的grldr修改为ntldr,然后用这个grldr.mbr,就可以全盘搜索ntldr,再通过ntldr引导启动xp系统。
我们把win7的引导文件bootmgr改名,改为五个字的,比如mtldr,修改grldr.mbr,同样的可以用grldr.mbr引导启动任意盘的win7系统。


附件:
grub4dos-0.4.4-2009-06-20.zip [809.5 KiB]
被下载 1779 次
Win7下引导Ubuntu10.04.zip [121.29 KiB]
被下载 107 次


最后由 ziymin 编辑于 2010-11-21 23:31,总共编辑了 2 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-08 15:17 
头像

注册: 2009-11-04 13:34
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
等高人来指点一下小弟,感谢在先! :em11


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-08 15:50 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
重写一下mbr就行。

要详细的就
http://sourceforge.net/projects/bootinfoscript/文件先复制到桌面,终端运行:
代码:
sudo bash ~/桌面/boot_info_script055.sh

把RESULTS.txt文件内容贴上来看看。


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
4 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-08 17:57 
头像

注册: 2009-11-04 13:34
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
onshoestring 写道:
重写一下mbr就行。

要详细的就
http://sourceforge.net/projects/bootinfoscript/文件先复制到桌面,终端运行:
代码:
sudo bash ~/桌面/boot_info_script055.sh

把RESULTS.txt文件内容贴上来看看。


问题就在于这个bootmgr如何写,小弟完全菜鸟0级,哎。。。。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-08 18:01 
头像

注册: 2006-10-10 9:40
帖子: 1122
送出感谢: 1
接收感谢: 0 次
谁让你不用grub做主。。。直接grub引导想先进哪个进哪个


_________________
焚我娇躯 熊々欲火 生不知欢 死焉知苦
海盗行侠 惟面神故 汁丸汤条 皆归尘土
怜我世人 惑患实多 怜我世人 惑患实多


页首
 用户资料  
 
6 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-08 18:04 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
要重写win7的mbr。

用bcdedit添加启动项到grldr。
或用boot.ini添加启动项到grldr。

c:\要有grldr和menu.lst

menu.lst菜单内容如下:
引用:
title Ubuntu
find --set-root /boot/grub/core.img
kernel /boot/grub/core.img
boot


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
7 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04?
帖子发表于 : 2010-11-09 9:16 
头像

注册: 2009-11-04 13:34
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
onshoestring 写道:
要重写win7的mbr。

用bcdedit添加启动项到grldr。
或用boot.ini添加启动项到grldr。

c:\要有grldr和menu.lst

menu.lst菜单内容如下:
引用:
title Ubuntu
find --set-root /boot/grub/core.img
kernel /boot/grub/core.img
boot


非常感谢onshoestring大哥,刚上班,回去再试下!


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-11-21 23:32 
头像

注册: 2009-11-04 13:34
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
恭喜一下,又有收获了,哈哈 :em04


页首
 用户资料  
 
9 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-11-22 16:10 

注册: 2010-02-16 23:36
帖子: 37
送出感谢: 0 次
接收感谢: 0 次
谢了 我也需要这东西


页首
 用户资料  
 
10 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-11-23 22:51 
头像

注册: 2010-10-10 4:10
帖子: 51
送出感谢: 0 次
接收感谢: 0 次
我是安装时用了EasyBCD..
在选择安装引导时把引导安装到另一个分区里不装在C盘..这样安装好后到win7下运行EasyBCD添加一个ubuntu的启动项就好了..


页首
 用户资料  
 
11 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-12-14 14:06 

注册: 2010-09-29 16:23
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
Mark


页首
 用户资料  
 
12 楼 
 文章标题 : Re: [求助]能否用windows7的bootmgr来引导grub4dos启动ubuntu10.04? 已解决
帖子发表于 : 2010-12-14 22:26 

注册: 2010-09-29 16:23
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
今天终于成功使用Bootmgr 引导Grub2 启动Ubuntu了,不是wubi 安装的,是将Ubuntu 安装到了一个独立分区,借助wubi 的一些文件完成的。拷贝wubi 的三个关键文件:wubildr 、wubildr.mbr 和wubildr.cfg 以及Ubuntu 分区的grub 目录里的grub.cfg 文件到Windows 分区(活动的主分区)的根目录之下,修改wubildr.cfg ,删除有"/ubuntu/winboot/root.disk"的语句,并将"set root(loop0)"改成"set root(hd0,2)",((hd0,2)是我的Ubuntu 的分区),其他涉及root.disk 或者swap.disk 的语句全都可以删掉,保留一下内容即可:

set show_panic_message=true

set root=(hd0,2)
if [ -e /boot/grub/grub.cfg ]; then
if configfile /boot/grub/grub.cfg; then
set show_panic_message=false
fi
else
if [ -e /grub/grub.cfg ]; then
if configfile /grub/grub.cfg; then
set show_panic_message=false
fi
fi
fi

if [ ${show_panic_message} = true ]; then
echo "It is not possible to boot from the Ubuntu image."
echo "Please verify that the Ubuntu installation was not removed."
echo "If that is not the case, please check that the Windows filesystem"
echo "is not corrupted: reboot into Windows and run: chkdsk /r"
echo "Then try again."
fi

修改完wubildr.cfg 之后,修改BCD就行了,比如使用bcdedit 命令添加Ubuntu 引导项:


bcdedit /store X:\boot\bcd /create {45c374b2-8460-11df-8950-0024814b7667} /d "Ubuntu 10.10" /application bootsector
bcdedit /store X:\boot\bcd /set {45c374b2-8460-11df-8950-0024814b7667} device boot
bcdedit /store X:\boot\bcd /set {45c374b2-8460-11df-8950-0024814b7667} path \wubildr.mbr
bcdedit /store X:\boot\bcd /displayorder {45c374b2-8460-11df-8950-0024814b7667} /addfirst

X为Windows分区的盘符。
修改完这两个文件就OK了,启动计算机,出现Bootmgr 引导项选择菜单,选择Ubuntu 10.10 ,进入Grub2 引导菜单,选择Ubuntu 即可进入Ubuntu 。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译