XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?[已解决]

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?[已解决]

#1

帖子 xuchux » 2010-01-05 20:59

本帖最后由 kusem 于 2010-1-5 20:57 编辑

呃,现在重新弄了一次,写详细点。
XP和win7安装在一个阵列里(SCSI*3,分三个区),XP在第一个分区,WIN7在第三个分区。
拔下阵列卡,单独安装Ubuntu在80G硬盘上,已经确保单盘启动时可以进入Ubuntu。
现在插上阵列卡,设置阵列卡第一项启动,80G为第二项。
开机无疑是bootmgr引导。
在win7用bcdedit引导GRUB4DOS。重启可以再bootmgr看到添加的GRUB4DOS,可是不能进入Ubuntu,按Esc退到menu.lst菜单,选择自己添加的Ubuntu 9.10后也不进入,显示
kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash

file non found
menu.lst的内容是:
debug off
hiddenmenu
default 0
timeout 0
fallback 1

title Ubuntu 9.10
root (hd1,0)
kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
quiet

title commandline
commandline

title reboot
reboot

title halt
halt
设置安装Ubuntu的硬盘第一项启动,进入/boot/grub复制grub.cfg出来,内容如下:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 443cbfd1-e925-4d86-8ef2-ab5e39b0c866
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a10b310-b776-40fa-a219-2cb01e1afc44
linux /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a10b310-b776-40fa-a219-2cb01e1afc44
linux /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro single
initrd /initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (loader) (on /dev/sdb1)" {
insmod fat
set root=(hd1,1)
search --no-floppy --fs-uuid --set dcc7-567f
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
用wingrub看了/boot在(hd1,0)
现在依旧不知道怎么引导Ubuntu。
咳,新手难免问题多多,麻烦大家帮帮忙,谢谢!
=================================================

用了ptptptptpt大的g2ldr搜索启动搞定的

代码: 全选

menuentry "Search and boot ubuntu 9.10 (/grub/core.img)" {
  insmod ext2
  insmod reiserfs
  insmod xfs
  insmod jfs
  search --set -f /grub/core.img
  multiboot /grub/core.img
}
ptptptptpt大的帖的传送门viewtopic.php?f=139&t=245472
上次由 xuchux 在 2010-01-06 8:57,总共编辑 2 次。

代码: 全选

只萌扎马尾得女生!
Maps
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#2

帖子 O_O_BOT » 2010-01-05 21:01

irc <wowoto> say: 又是一个系统狂人~@~似乎是分享贴@处女贴
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#3

帖子 O_O_BOT » 2010-01-05 21:02

irc <PCTUBUNTU> say: 这么麻烦 何必这样折腾这台电脑呢
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#4

帖子 xuchux » 2010-01-05 21:02

O_O_BOT 写了:irc <wowoto> say: 又是一个系统狂人~@~似乎是分享贴@处女贴
呃,不是的,是求救帖,我是新手,不知道去哪找高手帮忙,所以来这里问问。

代码: 全选

只萌扎马尾得女生!
Maps
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#5

帖子 xuchux » 2010-01-05 21:04

又是一个系统狂人~@~似乎是分享贴@处女贴
呃,不是的,是求救帖,我是新手,不知道去哪找高手帮忙,所以来这里问问。

代码: 全选

只萌扎马尾得女生!
Maps
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#6

帖子 smallapple » 2010-01-05 21:04

kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash

多了一个 /
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#7

帖子 xuchux » 2010-01-05 21:13

smallapple 写了:kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash

多了一个 /
果然细心,谢谢大哥!

代码: 全选

只萌扎马尾得女生!
Maps
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#8

帖子 xuchux » 2010-01-05 21:20

smallapple 写了:kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash

多了一个 /
删除了,依旧不进入...

代码: 全选

只萌扎马尾得女生!
Maps
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#9

帖子 smallapple » 2010-01-05 21:27

是不是有/boot单独分区的?

title Ubuntu 9.10
root (hd1,0)
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet

title Ubuntu 9.10
uuid 8a10b310-b776-40fa-a219-2cb01e1afc44
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#10

帖子 xuchux » 2010-01-05 21:28

smallapple 写了:是不是有/boot单独分区的?

title Ubuntu 9.10
root (hd1,0)
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet

title Ubuntu 9.10
uuid 8a10b310-b776-40fa-a219-2cb01e1afc44
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet
应该是单独分区吧,我在手动分区是添加/boot (105M),在wingrub可以看到/boot在(hd1,0)

忘了说,我一共有4个盘(阵列卡算一个),用liveCD启动安装,在手动分区里看到80G那个盘是/dev/sdc。
上次由 xuchux 在 2010-01-05 21:31,总共编辑 1 次。

代码: 全选

只萌扎马尾得女生!
Maps
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#11

帖子 smallapple » 2010-01-05 21:31

那估计不是 (hd1,0)了,试试uuid那个,或用 find 命令

title Ubuntu 9.10
find --set-root /vmlinuz-2.6.31-14-generic
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#12

帖子 xuchux » 2010-01-05 21:38

smallapple 写了:那估计不是 (hd1,0)了,试试uuid那个,或用 find 命令

title Ubuntu 9.10
find --set-root /vmlinuz-2.6.31-14-generic
kernel /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
quiet
用这个也不行,显示
find --set-root /vmlinuz-2.6.31-14-generic
Error 15 : find not found

代码: 全选

只萌扎马尾得女生!
Maps
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#13

帖子 smallapple » 2010-01-05 21:46

那个 uuid 的也不行吗?
有列阵的,不知道会不会影响分区的的识别。
把timeout改为3
选择 commandline
命令行下
root (
按Tab 键,看看能识别出分区不。
头像
xuchux
帖子: 38
注册时间: 2010-01-05 19:21

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#14

帖子 xuchux » 2010-01-05 21:52

smallapple 写了:那个 uuid 的也不行吗?
有列阵的,不知道会不会影响分区的的识别。
把timeout改为3
选择 commandline
命令行下
root (
按Tab 键,看看能识别出分区不。
嗯,UUID不行,显示Error 24。
grub手册说error24是启动的设备不能为grub读取到。

等会试试tab看能不能设别分区。

代码: 全选

只萌扎马尾得女生!
Maps
semy
帖子: 16
注册时间: 2008-11-13 1:08

Re: XP+WIN7+Ubuntu双硬盘安装如何用grub4dos设置启动?

#15

帖子 semy » 2010-01-05 22:02

xuchux 写了:本帖最后由 kusem 于 2010-1-5 20:57 编辑

呃,现在重新弄了一次,写详细点。
XP和win7安装在一个阵列里(SCSI*3,分三个区),XP在第一个分区,WIN7在第三个分区。
拔下阵列卡,单独安装Ubuntu在80G硬盘上,已经确保单盘启动时可以进入Ubuntu。
现在插上阵列卡,设置阵列卡第一项启动,80G为第二项。
开机无疑是bootmgr引导。
在win7用bcdedit引导GRUB4DOS。重启可以再bootmgr看到添加的GRUB4DOS,可是不能进入Ubuntu,按Esc退到menu.lst菜单,选择自己添加的Ubuntu 9.10后也不进入,显示
kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash

file non found
menu.lst的内容是:
debug off
hiddenmenu
default 0
timeout 0
fallback 1

title Ubuntu 9.10
root (hd1,0)
kernel /boot//vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
quiet

title commandline
commandline

title reboot
reboot

title halt
halt
设置安装Ubuntu的硬盘第一项启动,进入/boot/grub复制grub.cfg出来,内容如下:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 443cbfd1-e925-4d86-8ef2-ab5e39b0c866
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a10b310-b776-40fa-a219-2cb01e1afc44
linux /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro quiet splash
initrd /initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a10b310-b776-40fa-a219-2cb01e1afc44
linux /vmlinuz-2.6.31-14-generic root=UUID=443cbfd1-e925-4d86-8ef2-ab5e39b0c866 ro single
initrd /initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (loader) (on /dev/sdb1)" {
insmod fat
set root=(hd1,1)
search --no-floppy --fs-uuid --set dcc7-567f
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
用wingrub看了/boot在(hd1,0)
现在依旧不知道怎么引导Ubuntu。
咳,新手难免问题多多,麻烦大家帮帮忙,谢谢!

首先,新版的ubuntu系统使用的是Grub2,跟原先的有些不同。
而你先看到grub4dos,就证明默认是先启动window分区表,也就是说你需要找到另一个硬盘的分区表,所以,你找到grub2的core.img文件,载入它就可以找到ubuntu的默认启动了。
你可以在menu.lst文件加入

title grub2
find --set-root /boot/grub/core.img
kernel /boot/grub/core.img
boot

(有/boot分区的改为
find –set-root /grub/core.img
kernel /grub/core.img)
你确定你有/boot分区吗?
回复