grub2载入界面提示错误:file not found

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
funglin
帖子: 71
注册时间: 2010-03-21 12:37

grub2载入界面提示错误:file not found

#1

帖子 funglin » 2010-03-28 11:01

系统装是32位的ubuntu9.10,电脑开机,路过BIOS自检,进入Grub2载入界面:

GRUB loading.
error : file not fuond

之后,进入Grub1.97 beta4操作系统选择列表,所有选项都是一闪一闪的,包括ubuntu9.10和xp

硬盘本身有XP系统,ubuntu9.10是装在最后的分区,其中/boot分区是独立的120MB大小。在实际使用中一切正常,我不知道GRUB2找不到什么文件。根据小苹果的教程,我用LiveDVD重装GRUB2,即:

sudo –i
mount /dev/sda12 /mnt
mount /dev/sda11 /mnt/boot
grub-install --root-directory=/mnt /dev/sda

重装Grub2之后,还是提示错误。是不是我用的命令不对呢?该不会是传说中的1024柱面问题吧?

我的160G硬盘参数: 310101 柱面, 16 磁头, 63 扇区/磁道, 512 字节/扇区
那么,1024柱面*16磁头*63扇区/磁道*512字节/扇区 = 528,482,304 字节=504MB

疑惑中,望高人赐教。谢谢。
上次由 funglin 在 2010-03-28 12:53,总共编辑 1 次。
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
funglin
帖子: 71
注册时间: 2010-03-21 12:37

Re: grub2提示错误:file not found

#2

帖子 funglin » 2010-03-28 11:05

贴上我的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,12)
search --no-floppy --fs-uuid --set ea119770-417e-449f-a6d1-f434770acf76
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=3
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-20-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod reiserfs
set root=(hd0,11)
search --no-floppy --fs-uuid --set 3a067de1-edf4-4922-b453-9b20ccd555f1
linux /vmlinuz-2.6.31-20-generic root=UUID=ea119770-417e-449f-a6d1-f434770acf76 ro quiet splash
initrd /initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-20-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod reiserfs
set root=(hd0,11)
search --no-floppy --fs-uuid --set 3a067de1-edf4-4922-b453-9b20ccd555f1
linux /vmlinuz-2.6.31-20-generic root=UUID=ea119770-417e-449f-a6d1-f434770acf76 ro single
initrd /initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod reiserfs
set root=(hd0,11)
search --no-floppy --fs-uuid --set 3a067de1-edf4-4922-b453-9b20ccd555f1
linux /vmlinuz-2.6.31-14-generic root=UUID=ea119770-417e-449f-a6d1-f434770acf76 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 reiserfs
set root=(hd0,11)
search --no-floppy --fs-uuid --set 3a067de1-edf4-4922-b453-9b20ccd555f1
linux /vmlinuz-2.6.31-14-generic root=UUID=ea119770-417e-449f-a6d1-f434770acf76 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+)" {
set root=(hd0,11)
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 "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 06d07950d07946c9
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 ###
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: grub2提示错误:file not found

#3

帖子 smallapple » 2010-03-28 11:21

应该是缺少什么模块吧,要菜单上按c,在 grub> 命令行下试试
insmod ext2
insmod ntfs
insmod reiserfs
insmod gfxterm
insmod vbe
loadfont /usr/share/grub/unicode.pf2
看哪个模式块 no found
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: grub2提示错误:file not found

#4

帖子 wangdu2002 » 2010-03-28 11:22

LiveCD,fsck修复文件系统。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
funglin
帖子: 71
注册时间: 2010-03-21 12:37

Re: grub2提示错误:file not found

#5

帖子 funglin » 2010-03-28 12:48

smallapple 写了:应该是缺少什么模块吧,要菜单上按c,在 grub> 命令行下试试
insmod ext2
insmod ntfs
insmod reiserfs
insmod gfxterm
insmod vbe
loadfont /usr/share/grub/unicode.pf2
看哪个模式块 no found
我用纸笔记下,在命令行输入 insmod reiserfs 然后回车,无反应,其它的也都无反应。“无反应”是指不是这个问题吧。

以前装过ubuntu9.10,无任何问题,今次就是在/boot分区上应用了 reiserfs 文件系统。还有不同的是:

我在安装的过程中,用命令把D盘、E盘、F盘都mount了上来,我是用硬盘安装方式的,那个4G多的DVD文件是存放在F盘的。而且还边安装边上QQ。以前安装9.10的时候都是断网的,以前无问题。
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: grub2提示错误:file not found

#6

帖子 smallapple » 2010-03-28 12:57

无反应是正常的,不正常的就会有file no found
之后出现菜单,再进系统是不是都正常?
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: grub2载入界面提示错误:file not found

#7

帖子 wangdu2002 » 2010-03-28 16:13

今次就是在/boot分区上应用了 reiserfs 文件系统
/boot其实不用单独分出来的,和/共用分区就行了。。。实在要分出来,/boot分区最合适的文件系统是ext2,小分区,没有日志是最快速的。 :em09
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
funglin
帖子: 71
注册时间: 2010-03-21 12:37

Re: grub2提示错误:file not found

#8

帖子 funglin » 2010-03-28 17:36

smallapple 写了:无反应是正常的,不正常的就会有file no found
之后出现菜单,再进系统是不是都正常?
进入U9.10系统后,一切正常,我现在就是用9.10下的火狐来回复的。就是开机提示错误,感觉不爽。算了吧。

我是用grub4dos硬盘安装的(适用于fedora发行版的办法),安装之前需要sudo umount -l /isodevice才能分区。
而我又只有一块硬盘,那个4G多的DVD文件是存放在F盘的。在安装过程中,我用命令把F盘又mount了回来。也就是说:我把存放ISO的F盘又mount回来了。也许是这个原因导致的吧。
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: grub2载入界面提示错误:file not found

#9

帖子 smallapple » 2010-03-28 18:18

把这个改下
/boot/grub/grubenv
/boot 单独分区改为
/grub/grubenv
试试,其他看不出啥问题。
iso 分区mount的应该和grub没啥关系
funglin
帖子: 71
注册时间: 2010-03-21 12:37

Re: grub2载入界面提示错误:file not found

#10

帖子 funglin » 2010-03-28 19:30

smallapple 写了:把这个改下
/boot/grub/grubenv
/boot 单独分区改为
/grub/grubenv
试试,其他看不出啥问题。
iso 分区mount的应该和grub没啥关系
不好意思,我已经把/boot分区用GPart格式化了,重装Grub2后,只有XP选择了,貌似修复不了 :em20 :em20
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
头像
onshoestring
论坛版主
帖子: 4666
注册时间: 2009-09-06 5:53

Re: grub2载入界面提示错误:file not found

#11

帖子 onshoestring » 2010-03-28 19:33

内核和grub文件都在/boot分区。
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: grub2载入界面提示错误:file not found

#12

帖子 smallapple » 2010-03-28 19:36

下手可真快 :em06

格前有把内核拷出来吗?
funglin
帖子: 71
注册时间: 2010-03-21 12:37

Re: grub2载入界面提示错误:file not found

#13

帖子 funglin » 2010-03-28 20:01

wangdu2002 写了:
今次就是在/boot分区上应用了 reiserfs 文件系统
/boot其实不用单独分出来的,和/共用分区就行了。。。实在要分出来,/boot分区最合适的文件系统是ext2,小分区,没有日志是最快速的。 :em09
感觉可能是 reiserfs 的原因,我已经把/boot分区用GPart格式化成ext2,那个软件如果可以无损转换就好了。重装Grub2后,再没有提示错误了,可是:只有XP选择,没有ubuntu选项了

格前没有把内核拷出来,没有经验啊!貌似用的是ubuntu9.10最新的内核,最近刚更新的,不是安装时默认的那个。有没有命令把它装回去啊?
新版flash 10.1.102.65 中文不乱码(源自html5的压力,Adobe终于给力了)
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: grub2载入界面提示错误:file not found

#14

帖子 smallapple » 2010-03-28 20:14

两办法试试
1、找另外一台有 9.10 的,把两内核 vmlinux-xxx-generic initrd.img-xxx-generic 拷过来放 /boot 分区下,再用 grub>命令行

代码: 全选

>set root=hd0,11
>linux /vmlinuz-xxx-generic root=/dev/sda12
>initrd /initrd.img-xxx-generic
>boot
启动后再重装内核
2、把 9.10 的iso 中 casper 目录下的两内核 vmlinuz 和 initrd.lz 复制到 /boot 分区下再grub>命令行下

代码: 全选

>set root=hd0,11
>linux /vmlinuz root=/dev/sda12 single
>initrd /initrd.lz
>boot
看能否启动到 recovery mode 介面,选 net root 进入,命令行在线安装新内核 apt-get install linux-image-xxx-generic。
回复