[已解决] 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
[已解决] 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
win+ubuntu双系统,由于后来重装winxp搞的原grub失效。
起初看到简单的方法是找个grub4dos,然后找个读linux文件格式的工具,把menu.lst拷过来就ok。结果发现找了几个工具都认不出原来的linux分区。
接着找了张livecd(是Kubuntu的,不知道有没有影响),拷贝那个grub下的menu.list回去到grub4dos那里,失败。
然后在grub4dos那个启动菜单下按c进入命令行,root (hd0, "tab" ... 是能看到linux那个分区的(是6),但是root (hd0,6)后setup(hd0)出错说找不到stage1。进livecd系统以后mount了那个分区后/boot/grub/stage1是有的。但是在这个终端下用sudo grub,find /boot/grub/stage1找不到。
之后google半天找到这个:http://skies123.gofreeserve.com/2009/01 ... in-ubuntu/
我的grub版本是0.97,文件格式ext2,用里面的方法3:
sudo mount /dev/sdaX /mnt
sudo grub-install /dev/sda –root-directory=/mnt
提示的却不是OK而是...or not a block device。
折腾很长时间了,求助大家了
起初看到简单的方法是找个grub4dos,然后找个读linux文件格式的工具,把menu.lst拷过来就ok。结果发现找了几个工具都认不出原来的linux分区。
接着找了张livecd(是Kubuntu的,不知道有没有影响),拷贝那个grub下的menu.list回去到grub4dos那里,失败。
然后在grub4dos那个启动菜单下按c进入命令行,root (hd0, "tab" ... 是能看到linux那个分区的(是6),但是root (hd0,6)后setup(hd0)出错说找不到stage1。进livecd系统以后mount了那个分区后/boot/grub/stage1是有的。但是在这个终端下用sudo grub,find /boot/grub/stage1找不到。
之后google半天找到这个:http://skies123.gofreeserve.com/2009/01 ... in-ubuntu/
我的grub版本是0.97,文件格式ext2,用里面的方法3:
sudo mount /dev/sdaX /mnt
sudo grub-install /dev/sda –root-directory=/mnt
提示的却不是OK而是...or not a block device。
折腾很长时间了,求助大家了
上次由 einstl 在 2009-03-14 10:58,总共编辑 1 次。
- old_fish
- 帖子: 12
- 注册时间: 2009-03-07 22:13
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
我感觉应该是:
1)用live CD进入ubuntu,运行grub,执行命令:
root (hd0,6) //如果linux的分区确实是6的话
setup (hd0)//这是把grub引导程序写入MBR
2)修改/boot/grub/menu.lst,添加:
title windows XP
root (hd0,0)
makeacttive
chainloader+1
1)用live CD进入ubuntu,运行grub,执行命令:
root (hd0,6) //如果linux的分区确实是6的话
setup (hd0)//这是把grub引导程序写入MBR
2)修改/boot/grub/menu.lst,添加:
title windows XP
root (hd0,0)
makeacttive
chainloader+1
-
- 帖子: 7
- 注册时间: 2009-03-09 21:45
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
你把menu.list内容贴出来给大家看看
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
title Ubuntu 8.10, kernel 2.6.27-8-generic
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
title Ubuntu 8.10, kernel 2.6.27-8-generic (recovery mode)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro single
initrd /boot/initrd.img-2.6.27-8-generic
title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro single
initrd /boot/initrd.img-2.6.27-7-generic
title Ubuntu 8.10, memtest86+
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
;;;;;;;;;;;;;;;
后来试了试把前面加上root (hd0,6) 也不行的,提示Error 2 : "Bad file or directory type"
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
title Ubuntu 8.10, kernel 2.6.27-8-generic (recovery mode)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro single
initrd /boot/initrd.img-2.6.27-8-generic
title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro single
initrd /boot/initrd.img-2.6.27-7-generic
title Ubuntu 8.10, memtest86+
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
;;;;;;;;;;;;;;;
后来试了试把前面加上root (hd0,6) 也不行的,提示Error 2 : "Bad file or directory type"
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
;;;;;;;;old_fish 写了:我感觉应该是:
1)用live CD进入ubuntu,运行grub,执行命令:
root (hd0,6) //如果linux的分区确实是6的话
setup (hd0)//这是把grub引导程序写入MBR
2)修改/boot/grub/menu.lst,添加:
title windows XP
root (hd0,0)
makeacttive
chainloader+1
这样的话到setup那句话的时候就报错了
提示找不到/grub/stage1
-
- 帖子: 7
- 注册时间: 2009-03-09 21:45
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
我这两天也在搞grub4dos启动,根据我的经验,楼主可以这样操作:
1.COPY三个文件(grldr,grub.exe,menu.lst)到C盘根目录
2.编辑C盘下boot.ini文件,增加一行 C:\GRLDR="Ubuntu"(冒号里随便写什么)
3.编辑你的menu.lst
在缺少root的地方增加root即可
我看你的menu.lst里部分内容是这样的:
title Ubuntu 8.10, kernel 2.6.27-8-generic
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
那么在title后加一行变成这样:
title Ubuntu 8.10, kernel 2.6.27-8-generic
root (hd*,*)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
注,root (hd*,*)是指你的系统所在位置,第一个硬盘的第一个分区为root (hd0,0),以此类推
这样修改后我想应该可以从grub4dos启动了
1.COPY三个文件(grldr,grub.exe,menu.lst)到C盘根目录
2.编辑C盘下boot.ini文件,增加一行 C:\GRLDR="Ubuntu"(冒号里随便写什么)
3.编辑你的menu.lst
在缺少root的地方增加root即可
我看你的menu.lst里部分内容是这样的:
title Ubuntu 8.10, kernel 2.6.27-8-generic
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
那么在title后加一行变成这样:
title Ubuntu 8.10, kernel 2.6.27-8-generic
root (hd*,*)
uuid 066e64f2-034b-4248-86be-e980661bfd6d
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=066e64f2-034b-4248-86be-e980661bfd6d ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiet
注,root (hd*,*)是指你的系统所在位置,第一个硬盘的第一个分区为root (hd0,0),以此类推
这样修改后我想应该可以从grub4dos启动了
- bigsun
- 帖子: 301
- 注册时间: 2009-01-11 16:05
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
也遇到了这个问题,情况是这样的,要重新分区安装arch,原来装的是xp,gentoo双系统,当在win下把最后的ntfs分区调整大小,添加了两个新分区后,进不了系统,好像提示grub error 17之类的。要重新安装grub,就遇到上述问题einstl 写了:;;;;;;;;old_fish 写了:我感觉应该是:
1)用live CD进入ubuntu,运行grub,执行命令:
root (hd0,6) //如果linux的分区确实是6的话
setup (hd0)//这是把grub引导程序写入MBR
2)修改/boot/grub/menu.lst,添加:
title windows XP
root (hd0,0)
makeacttive
chainloader+1
这样的话到setup那句话的时候就报错了
提示找不到/grub/stage1
解决办法是:用fdisk将两个新分区删除,再安装grub,正常没报错,然后再用fdisk添加两个分区hda9,hda10。安装arch。
好奇怪的问题。
grub 0.97
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
可是我当初重装win的时候并没有改变分区大小,还有没提示grub error 17bigsun 写了:也遇到了这个问题,情况是这样的,要重新分区安装arch,原来装的是xp,gentoo双系统,当在win下把最后的ntfs分区调整大小,添加了两个新分区后,进不了系统,好像提示grub error 17之类的。要重新安装grub,就遇到上述问题einstl 写了:;;;;;;;;old_fish 写了:我感觉应该是:
1)用live CD进入ubuntu,运行grub,执行命令:
root (hd0,6) //如果linux的分区确实是6的话
setup (hd0)//这是把grub引导程序写入MBR
2)修改/boot/grub/menu.lst,添加:
title windows XP
root (hd0,0)
makeacttive
chainloader+1
这样的话到setup那句话的时候就报错了
提示找不到/grub/stage1
解决办法是:用fdisk将两个新分区删除,再安装grub,正常没报错,然后再用fdisk添加两个分区hda9,hda10。安装arch。
好奇怪的问题。
grub 0.97
ps. 最近有时候ubuntu论坛等不上去……不知为何
-
- 帖子: 389
- 注册时间: 2007-12-31 11:40
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
用live CD进入ubuntu用分区编辑器查看/分区所在,另一方法把boot文件复制到C盘然后:
root (hd0,0)
setup (hd0)
root (hd0,0)
setup (hd0)
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
能看到分区6为原linux系统分区,但是setup的时候出错,find /boot/grub/stage1也找不到1234qw 写了:用live CD进入ubuntu用分区编辑器查看/分区所在,另一方法把boot文件复制到C盘然后:
root (hd0,0)
setup (hd0)
是不是stage那个文件坏了,难道只能重装系统了?
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
你的 ubuntu 是什么版本,8.10?
livecd 又是什么版本,8.04?
找的 grub4dos 又是什么版本,0.4.3?
8.04 的 livecd 不能用来修复 8.10 的 grub
grub4dos 0.4.3 也不能读取 8.10 的 ext 分区
这都是由于 8.10 使用了与以往不同的 ext 格式
livecd 又是什么版本,8.04?
找的 grub4dos 又是什么版本,0.4.3?
8.04 的 livecd 不能用来修复 8.10 的 grub
grub4dos 0.4.3 也不能读取 8.10 的 ext 分区
这都是由于 8.10 使用了与以往不同的 ext 格式
你受到了误导。你不必从 linux 分区拷贝任何文件。如果已经拷贝了 menu.lst,现在把它们删除,确保只有 linux 分区里有唯一的 menu.lst,然后到 http://download.gna.org/grub4dos/ 下载最新的 grub4dos,目前是 grub4dos-0.4.4-2009-03-07.zip ,解开后只需要里面的一个文件, grldr,放在 c 盘根目录,如果有旧版本的 grldr,请用新版覆盖,然后在 boot.ini 里添加 c:\grldr=ubuntu 就可以了。如果没有改动过 linux 分区里的文件,应该就能启动了。起初看到简单的方法是找个grub4dos,然后找个读linux文件格式的工具,把menu.lst拷过来就ok。结果发现找了几个工具都认不出原来的linux分区。
-
- 帖子: 14
- 注册时间: 2008-11-17 22:01
Re: 求助——修复grub出现error 15, 但/boot/grub/stage1确实还在
搞定了!把menu.lst删掉,把grldr换成新的就好了。非常感谢billbear 写了:你的 ubuntu 是什么版本,8.10?
livecd 又是什么版本,8.04?
找的 grub4dos 又是什么版本,0.4.3?
8.04 的 livecd 不能用来修复 8.10 的 grub
grub4dos 0.4.3 也不能读取 8.10 的 ext 分区
这都是由于 8.10 使用了与以往不同的 ext 格式
你受到了误导。你不必从 linux 分区拷贝任何文件。如果已经拷贝了 menu.lst,现在把它们删除,确保只有 linux 分区里有唯一的 menu.lst,然后到 http://download.gna.org/grub4dos/ 下载最新的 grub4dos,目前是 grub4dos-0.4.4-2009-03-07.zip ,解开后只需要里面的一个文件, grldr,放在 c 盘根目录,如果有旧版本的 grldr,请用新版覆盖,然后在 boot.ini 里添加 c:\grldr=ubuntu 就可以了。如果没有改动过 linux 分区里的文件,应该就能启动了。起初看到简单的方法是找个grub4dos,然后找个读linux文件格式的工具,把menu.lst拷过来就ok。结果发现找了几个工具都认不出原来的linux分区。
开始自己没把ubuntu是810而livecd是804的问题提出来真是不应该,原来以为这东西无所谓的……