无忧启动论坛

标题: grub 启动Linux 怎么做啊?? [打印本页]

作者: 2010fanfan    时间: 2012-6-27 14:08
标题: grub 启动Linux 怎么做啊??
问题是这样的:

装过Ubuntu,后边又装的window xp;
以前是grub直接写入的mbr中的,现在装完xp后,mbr刷新,grub没了,所以也启动不了Ubuntu了;

我也查了资料,但关于Ubuntu的启动菜单啊 什么的 我都没有备份,

就是 我想知道,如何通过grub4dos来引导启动在本机装好的Ubuntu啊??

大侠们帮忙啊!!!

[ 本帖最后由 2010fanfan 于 2012-6-27 16:29 编辑 ]
作者: 2010fanfan    时间: 2012-6-28 09:38
大侠们 帮帮忙 求助求助啊!!!!
作者: 不点    时间: 2012-6-28 10:05
先把 grub4dos 挂在 boot.ini 上,启动 grub4dos。然后进入 grub 命令行,手动寻找你的 ubuntu 的 grub2 的内核文件 core.img,找到之后,用 grub4dos 的kernel 命令来启动 core.img。当 core.img 启动以后,它应该可以自己找到 ubuntu 并启动 ubuntu。这本来不难。可是如果你每一步都不知道怎么做,那就麻烦了,我也不知道从哪里说起。与其等待别人答复,两天没有结果,不如自己搜索解决办法,说不定几个小时之内自己就能找到办法。
作者: 2010fanfan    时间: 2012-6-28 13:22
标题: 回复 #3 不点 的帖子
嗯,谢谢啦,万分感谢!!
其实,关于这个解决办法,我也试过几次,但都不成功,也是小弟太菜了,对grub的命令还不是很熟悉……
回去了,我一定试试,谢谢啦
作者: fujianabc    时间: 2012-6-28 15:06
如果ubuntu默认用的grub legacy的话,可以直接用grub4dos的configfile命令加载ubuntu的启动菜单配置文件
作者: 2010fanfan    时间: 2012-6-28 15:33
标题: 回复 #5 fujianabc 的帖子
这个还真是不清楚呢,不过我的Ubuntu是12.04版的
我是想,找到Ubuntu并进入Ubuntu后,把grub安装到Ubuntu的分区内,
让windows的ntloader来引导grub,grub来引导Ubuntu,这样避免了再次装windows时,
Ubuntu找不到引导的问题……
只不过现在还不怎么熟悉利用grub4dos来找到Ubuntu,惭愧了.......
作者: 不点    时间: 2012-6-28 16:06
12.04 应该是 grub2,你用 google 在网上搜 core.img,应该找得到相关信息。
作者: 2010fanfan    时间: 2012-6-28 16:38
标题: 回复 #7 不点 的帖子
确实找到了相关信息,谢谢啦,回去试试先。。。。

不过,弱弱的问一下,莫非你就是传说中
发起并维护 grub4dos 的  不点?
作者: 青青草    时间: 2012-6-28 16:44
标题: 回复 #8 2010fanfan 的帖子
不是传说中,而是现实中!不是不点大师还会是谁呀?
作者: 2010fanfan    时间: 2012-6-28 16:49
标题: 回复 #9 2011phzhc 的帖子
哇,膜拜中.......
作者: 不点    时间: 2012-6-28 17:14
标题: 回复 #10 2010fanfan 的帖子
感谢。言多必失,如有得罪之处,请多原谅。
作者: 2010fanfan    时间: 2012-6-28 17:34
标题: 回复 #11 不点 的帖子
谢谢你的帮助
不点大师很厉害,我应该多学习才是……
作者: jianliulin    时间: 2012-6-29 14:27
用以下菜单可以启动ubuntu,不管它安装在那个分区,什么版本的内核

title [05] 启动ubuntu中文版\n
find --set-root --devices=h ls /boot/vmlinuz > (md)0x200+1
cat --locate=\x20 (md)0x200+1 > nul
cat --length=%?% (md)0x200+1 | set vmlinuz=
find --set-root --devices=h ls /boot/initrd  > (md)0x200+1
cat --locate=\x20 (md)0x200+1 > nul
cat --length=%?% (md)0x200+1 | set initrd=
uuid () > nul
kernel /boot/%vmlinuz% root=UUID=%?% ro quiet splash
initrd /boot/%initrd%

[ 本帖最后由 jianliulin 于 2012-6-29 14:29 编辑 ]
作者: 2010fanfan    时间: 2012-6-30 10:23
标题: 回复 #11 不点 的帖子
看了些资料,经过这一大晚上的折腾…… 终于搞定了 哈哈……
不过,我有些问题还是不明白,还望 不点大师 指点一下啊 ,谢谢!

1.我用grub4dos引导在menu.lst是这样写的
title ubuntu
find --set-root /grub/core.img
kernel /grub/core.img
boot
这样的没问题,可以引导

但是,我看到资料说在Linux下,用下面的命令备份Linux的引导扇区,在把它放到C盘根目录,
然后boot.ini中添加记录,c:\bootsect.lnx="linux"
我是这样做了,但是启动不了Ubuntu,一直都没有反应,不知道为什么?
dd if=/dev/sd85 of=/mnt/WinD/bootsect.lnx bs=512 count=1
我确定我的引导程序在 /dev/sda8(这是boot分区)中,挂载的winD也是fat32格式的 ,可就是不行啊 ???

2.还有一个问题就是:
因为安装xp后,把Linux中安装在mbr的grub给刷新了,所以现在Linux是没有grub的 ,这样我用grub4dos 充当Linux的引导,用上边第一种方法是可以引导的,

可是我想在Linux下,安装grub, 我进入到Ubuntu后,终端执行 sudo grub-install /dev/sda8 可就是不行(/dev/sda8是boot分区),提示什么 “……把grub安装到一个不识别的磁盘或未格式化的分区……,这样做是不安全的……”
可我这样执行 sudo grub-install /dev/sda  这样是可以安装grub的,可是这样就又写到mbr中了啊 ,难道不能指定grub的安装分区吗??郁闷了……

因为对grub不是很熟悉,可能上边的话,说的不对,还请指点啊……,希望不点大师有时间,可以帮忙解决一下,谢谢啦……
作者: 2010fanfan    时间: 2012-6-30 10:28
标题: 回复 #13 jianliulin 的帖子
你好,你说的这个方法我试过了,可不行啊,不能引导??
我把它添加到grub4dos的menu.lst中,可不能引导,
不知道我的方法对不对呢???
作者: 不点    时间: 2012-6-30 20:04
标题: 回复 #14 2010fanfan 的帖子
启动软件有很多,比如,有 grub legacy,grub2,syslinux,grub4dos,以及其他一些开源的、闭源的启动软件。每一种启动软件又有 n 种不同的安装、使用途径和方法。这样,总共的启动方式是非常多的。有人喜欢这样,有人喜欢那样,各有优点,各有习惯。怎么选择呢?

选择自己熟悉的方法,选择自己会用的方法,选择自己掌握了的方法。如果你已经掌握了某种方法,当你向别人推荐的时候,你也不要让人家难以接受。就是说,不要强迫别人。

有人希望软件都统一起来,比如都用 linux,或者都用 windows。但这不容易。该统一时,它就会统一。不该统一时,它就是百花齐放的状态。

所以,没有哪个是最好的。当诸侯混战的时候,人们往往希望出现一个强者,从而走向统一。而当统一之后,又有人希望打破一潭死水的局面。目前,Windows 垄断就属于一种统一,而ARM,平板,这多样化,就是 “非统一化”的思想和实践。

而启动软件确实很多,所以人们往往希望能够出现一个最好的,一个能够把其他软件(或方法)都 “比下去” 的软件(或方法)。然而时候不到,因此仍旧会维持百花齐放的状态。

我的答复或许不是你希望的。但是,我试图说明的是,本来就很难找到一个“完美的” “统一的” 软件和方法。如果一样东西并不存在,却要去找它,那样很累,也很难找得到。
作者: 2010fanfan    时间: 2012-6-30 21:30
标题: 回复 #16 不点 的帖子
嗯,能到达目标,实现想要的结果就好,途径是多元的,掌握自己的方法。。。。
谢谢 不点大师 的指点,懂了好多




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3