[求助]8.10+D版vista双系统的启动问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

[求助]8.10+D版vista双系统的启动问题

#1

帖子 xcjjzh » 2008-11-06 23:06

我的系统先装的是盗版的vista ultimate,然后用vista loader2.0破解的,c盘下有grldr文件。我用u盘安装的方式把ubuntu8.10装到了一个新的分区中,并且安装的时候没有安装grub,现在我能进vista,而且vista的正版认证依然能通过,但是找不到ubuntu的入口。我用easybcd来加了一个linux的启动项,但却进不去。用easybcd安了一个grub,但在grub命令行下输入kernel /boot/vmlinuz-2.6.27-7-generic ro quiet splash的时候,都出现bad file or directory这样的提示……
哪位高手能帮我解决一下问题,不胜感激!
kyhgq
帖子: 19
注册时间: 2008-05-31 20:14

Re: [求助]8.10+D版vista双系统的启动问题

#2

帖子 kyhgq » 2008-11-06 23:16

你的grub命令里不是应该加上ubuntu所在的分区吗?
比如在sda3分区,你应该写kernel (hd0,2)/boot/vmlinuz-2.6.27-7-generic ro quiet splash吧

这是我的menu.lst里的,你可以参考(我装在了sd5分区):
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=b5188944-8062-4316-bb2a-2be7c7def36a ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

Re: [求助]8.10+D版vista双系统的启动问题

#3

帖子 xcjjzh » 2008-11-07 10:30

kyhgq 写了:你的grub命令里不是应该加上ubuntu所在的分区吗?
比如在sda3分区,你应该写kernel (hd0,2)/boot/vmlinuz-2.6.27-7-generic ro quiet splash吧

这是我的menu.lst里的,你可以参考(我装在了sd5分区):
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=b5188944-8062-4316-bb2a-2be7c7def36a ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
这个我用过的,没有用啊~我准备的三个命令是:
root (hd0,8)
kernel /boot/vmlinuz-2.6.27-7-generic ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
但是执行下第二条的时候就出现了bad file or directory这个错误,那么第三个也就没有必要再用了
而且很奇怪的是,我先装过一遍,而且是用grub作的引导,但是里有个vista的选项选了进不去,后来我恢复了mbr用bootmgr来引导,但是奇怪的是vista的正版认证并没有被损坏……
所以现在我想请教的就是,如何将我的ubuntu的入口加到vista的BCD中去。我现在的ubuntu里面是没有安装grub作引导的,引导用的是vista有bootmgr
xuco
帖子: 794
注册时间: 2008-01-30 19:19

Re: [求助]8.10+D版vista双系统的启动问题

#4

帖子 xuco » 2008-11-08 0:25

title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 283871b4-6ef4-4e32-b95b-2f31a4779f71
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=283871b4-6ef4-4e32-b95b-2f31a4779f71 ro locale=zh_CN quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Home Edition
root (hd0,0)
savedefault
makeactive
chainloader +1
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#5

帖子 billbear » 2008-11-08 2:36

本来不想说盗版 vista 的事的。
而且很奇怪的是,我先装过一遍,而且是用grub作的引导,但是里有个vista的选项选了进不去,后来我恢复了mbr用bootmgr来引导,但是奇怪的是vista的正版认证并没有被损坏……
"vistaloader" 并没有改写 mbr,所以你恢复 vista 的 mbr 不会破坏 vistaloader。
所谓 "vistaloader" 本身是一个变种的 grub4dos,它把自己安装在了 vista 分区的引导扇区,覆盖了原来 vista 分区引导扇区里寻找 bootmgr 的代码。“恢复了mbr用bootmgr来引导”是不确切的,真正的过程是,mbr---vista 分区引导扇区的 vistaloader引导代码---继续加载 c:\ 下的变种 grldr---根据 grldr 里的内置菜单,先欺骗 vista,再 chainloader bootmgr.
变种 grldr 的内置菜单大约是这样的:
acpi
find --set-root /bootmgr
chainloader /bootmgr
你可以用 vi 查看 grldr 看到这个内置菜单,在文件的较末尾处。 acpi 这一句就是欺骗 vista 的。

由于 vistaloader 就是 grub4dos,而且它在 vista 的 bootmgr 之前先行加载,所以可以直接用它来引导 ubuntu。你不需要 easybcd。
grub4dos 的一个特性是在它所安装在的分区的根目录如果存在 menu.lst 文件,就优先使用它,而不执行内置菜单。
所以你要做的只是在 c:\ 自建一个 menu.lst,先把内置菜单里 vista 的引导命令抄过去,再写自己的其它 title:

default 0
timeout 5

title vista
acpi
find --set-root /bootmgr
chainloader /bootmgr

title ubuntu
该怎么写就怎么写

title other menu entries
...


另外,不安装 grub 是不推荐的,为了不影响 mbr,你可以把 grub 安装在 linux 分区引导扇区,这样,/boot/grub/menu.lst 会自己维护,不管怎么升级内核你都不用自己写菜单,而你的 c:\menu.lst 里只要写成
title ubuntu
root (grub所在分区)
chainloader +1

就是 grub4dos 调用 gnu grub。
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

Re: [求助]8.10+D版vista双系统的启动问题

#6

帖子 xcjjzh » 2008-11-08 11:35

billbear, Thank you very much!
你说的没错,
所谓 "vistaloader" 本身是一个变种的 grub4dos,它把自己安装在了 vista 分区的引导扇区,覆盖了原来 vista 分区引导扇区里寻找 bootmgr 的代码。
所以你要做的只是在 c:\ 自建一个 menu.lst,先把内置菜单里 vista 的引导命令抄过去,再写自己的其它 title:

default 0
timeout 5

title vista
acpi
find --set-root /bootmgr
chainloader /bootmgr

title ubuntu
该怎么写就怎么写

title other menu entries
...
我在c盘的根目录下写menu.lst是有效果的,而且我U盘安装ubuntu的时候就是用的这个,但是我在网上找的信息说vistaloader2.x中的grub已经脱离了dos,所以虽然我可以写menu.lst,但是并没有选择菜单出现,我没有选择的余地。我重装了一次ubuntu,安装了grub,按你上面的来写,结果还是进入了vista,我把vista的入口写在了后面,开机就停住没了反应,并没有出现让grub来引导gnu grub的菜单,我的grub安装在那个ubuntu的分区中。所以我也不知道怎么回事……

非常感谢你的耐心解答!
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#7

帖子 billbear » 2008-11-08 12:02

现在的问题是什么?我没太搞清你现在的状况。
是不是自建 menu.lst 里的 vista 项能够正常工作,而 ubuntu 还是不能引导?
把你的两个 menu.lst 贴上来看看。
也贴一下 sudo fdisk -l 的输出。
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

Re: [求助]8.10+D版vista双系统的启动问题

#8

帖子 xcjjzh » 2008-11-08 12:59

我现在的问题是能进vista,不能进ubuntu,所以最后那个命令是不能用的
我的C盘里的menu.lst是这样的

代码: 全选

default 0 
timeout 5

title vista
acpi
find --set-root /bootmgr
chainloader /bootmgr

title ubuntu
root (hd0,8)
chainloader +1
我的ubuntu在第9个分区,grub也装在那个分区了,现在就是C盘有个变种的grub。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#9

帖子 billbear » 2008-11-08 13:16

xcjjzh 写了:我现在的问题是能进vista,不能进ubuntu,所以最后那个命令是不能用的
你不是能起 ubuntu 安装盘吗?或者你描述一下你的分区细节。上一张 vista 下的分区图也行。
你确定是 (hd0,8) 吗?有没有单独的 /boot?
在启动菜单按 c 进入 grub4dos 命令行,
find /boot/grub/stage2
是什么
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

Re: [求助]8.10+D版vista双系统的启动问题

#10

帖子 xcjjzh » 2008-11-08 14:28

我确定是(hd0,8),这是以前在ubuntu下看过了,vista下的分区图我贴上来了。
我现在的状况是,就像我没装ubuntu一样,一开机就进入了vista,也就是硬盘里有ubuntu,但找不到入口进入
开机没有任何菜单
网上说vistaloader2.x已经把grub从dos下分离出来了,所以什么菜单什么的都没有,按c也就不行了
附件
screenshot.jpg
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#11

帖子 billbear » 2008-11-08 21:39

不是吧,我看着像 (hd0,2)
好像是个主分区。
你是说 c:\menu.lst 不能产生菜单?但是你说,
我在c盘的根目录下写menu.lst是有效果的,而且我U盘安装ubuntu的时候就是用的这个
把你那个 vistaloader 产生的 grldr 贴上来我看看。
真是那样的话,用 easybcd 做一个 grub 也行,进入 grub 命令行,你还是老老实实
find /boot/grub/stage2
看看,不是 (hd0,8) 的。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#12

帖子 billbear » 2008-11-08 21:45

另, swap 真大 :em09
头像
xcjjzh
帖子: 14
注册时间: 2007-10-22 23:10

Re: [求助]8.10+D版vista双系统的启动问题

#13

帖子 xcjjzh » 2008-11-09 0:39

是(hd0,8)没错的,grldr我附在下面了。
c盘下面的menu.lst有用,但是不会有菜单~
用easybcd做的grub运行root (hd0,8)的时候会出现说文件系统格式为ext2fs,而换成别的就会成ntfs,所以这点来看也是没有错的,是8
另, swap 真大
看过的人都这么说,其实根本用不上,因为我的内存就是2G……
附件
grldr.zip
(93.36 KiB) 已下载 18 次
头像
TeliuTe
论坛版主
帖子: 7668
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: [求助]8.10+D版vista双系统的启动问题

#14

帖子 TeliuTe » 2008-11-09 0:45

学习一下..
查看分区,可以用安装盘启动到live cd,用系统菜单里的分区编辑器看看
另外不知在live cd中是否能查出该分区的uuid,试试用它来启动
附件
pedit.png
pedit.png (6.62 KiB) 查看 1392 次
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [求助]8.10+D版vista双系统的启动问题

#15

帖子 billbear » 2008-11-09 13:57

这样写 easybcd 的 menu.lst 试试
title vista
find --set-root --ignore-floppies /boot/grub/stage2
configfile /boot/grub/menu.lst

看看能否找到并使用 ubuntu 的 menu.lst。 你 ubuntu 装了 grub 的吧。
据说 8.10 使用了 uuid 命令,所以找到 ubuntu 菜单以后大概还不能启动,因为 grub4dos 不理解这个新命令,你可以按 e 编辑,类似于 4 楼提供的,
uuid 283871b4-6ef4-4e32-b95b-2f31a4779f71
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=283871b4-6ef4-4e32-b95b-2f31a4779f71 ro locale=zh_CN quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
按 d 把 第一行
uuid 283871b4-6ef4-4e32-b95b-2f31a4779f71
删掉

然后按 b 启动。
回复