+ -
当前位置:首页 → 问答吧 → [已解决]崩溃了,grub无法引导,error 15:file not found

[已解决]崩溃了,grub无法引导,error 15:file not found

时间:2009-04-19

来源:互联网

宿主系统为光盘版的lfs6.2,整个过程中没出过什么大错,小错都自行解决

在做到创建网络脚本时断电,之后重新挂载虚拟内核,继续下面章节,没遇到什么大错

可是到最后grub引导总是出错,出错提示是error 15:file not found

磁盘分区结构为一块sda分为三个区

sda1为boot分区(ext3 256M)

sda2为swap分区(swap 512M)

sda3为根分区(ext3 other all)

下面是个人认为grub重新设置后就不会出问题的步骤,大家帮看看还少什么或者是什么地方错了

安装grub
mkdir -v /boot/grub
cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub

相关内核文件copy到boot目录
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.16.27

cp -v System.map /boot/System.map-2.6.16.27

cp -v .config /boot/config-2.6.16.27

配置完grubshell
root (hd0,0)
setup (hd0,0)

设置引导选项列表
cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst

# By default boot the first menu entry.
default 0

# Allow 30 seconds before booting the default.
timeout 30

# Use prettier colors.
color green/black light-green/black

# The first entry is for LFS.
title LFS 6.2
root (hd0,0)
kernel /boot/lfskernel-2.6.16.27 root=/dev/sda1
EOF
上传的图像
kk.png (2.6 KB, 19 次查看)
bb.png (10.9 KB, 21 次查看)

作者: godsad   发布时间: 2009-04-19

你把/boot独立出来,那么grub下就应该是/lfskernel-2.6.16.27

作者: newper   发布时间: 2009-04-19

引用:
作者: newper
你把/boot独立出来,那么grub下就应该是/lfskernel-2.6.16.27
lfskernel-2.6.16.27放在grub下?我试试

T T 还是一样

作者: godsad   发布时间: 2009-04-19

我弄LFS的时候,是在一块SD卡上弄的,用lfs的livecd弄的时候,显示的是/dev/sda1,真正的grub里的menu.lst文件里写的是 root=/dev/hdd1,而不是sda。写sda启动不了,在boot里测试了几次才弄对。不知道适不适合你的情况。

作者: anchk   发布时间: 2009-04-20

引用:
作者: godsad
宿主系统为光盘版的lfs6.2,整个过程中没出过什么大错,小错都自行解决

在做到创建网络脚本时断电,之后重新挂载虚拟内核,继续下面章节,没遇到什么大错

可是到最后grub引导总是出错,出错提示是error 15:file not found

磁盘分区结构为一块sda分为三个区

sda1为boot分区(ext3 256M)

sda2为swap分区(swap 512M)

sda3为根分区(ext3 other all)

下面是个人认为grub重新设置后就不会出问题的步骤,大家帮看看还少什么或者是什么地方错了

安装grub
mkdir -v /boot/grub
cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub

相关内核文件copy到boot目录
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.16.27

cp -v System.map /boot/System.map-2.6.16.27

cp -v .config /boot/config-2.6.16.27

配置完grubshell
root (hd0,0)
setup (hd0,0)

设置引导选项列表
cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst

# By default boot the first menu entry.
default 0

# Allow 30 seconds before booting the default.
timeout 30

# Use prettier colors.
color green/black light-green/black

# The first entry is for LFS.
title LFS 6.2
root (hd0,0)
kernel /boot/lfskernel-2.6.16.27 root=/dev/sda1
EOF
改成这样是是,
title LFS 6.2
root (hd0,0)
kernel /boot/lfskernel-2.6.16.27 root=/dev/sda3

作者: zpcat   发布时间: 2009-04-20

可以进入GRUB的命令行模式
手工输入命令试试
输的时候用用TAB键,就知道是哪个地方有问题了。

作者: trublemaker   发布时间: 2009-04-20

引用:
作者: trublemaker
可以进入GRUB的命令行模式
手工输入命令试试
输的时候用用TAB键,就知道是哪个地方有问题了。
真怪哎~~~kernel /boot/lfskernel-2.6.16.2按TAB也显示error 15:file not found

现在初步可以确定grub没有正确加载sda1,不过奇怪的是同在sda1的menu.lst却能正确加载

作者: godsad   发布时间: 2009-04-20

可以这样
root (hd0, -->tab
会列出所有的分区
然后看你的LINUX分区在哪个上

kernel / <tab> 选boot目录,看有没有,
如果没有就是你的LFS没有做好。
有的话 /boot/ <tab>会列出文件,看看有没有你的内核
没有就找原因,觉得可能是你文件名错了,grub加载分区和内核加载是不一样的。

作者: trublemaker   发布时间: 2009-04-20

额~~~原来是这样kernel /grub/lfskernel-2.6.16.2

作者: godsad   发布时间: 2009-04-20

引用:
作者: trublemaker
可以这样
root (hd0, -->tab
会列出所有的分区
然后看你的LINUX分区在哪个上

kernel / <tab> 选boot目录,看有没有,
如果没有就是你的LFS没有做好。
有的话 /boot/ <tab>会列出文件,看看有没有你的内核
没有就找原因,觉得可能是你文件名错了,grub加载分区和内核加载是不一样的。
呵呵,谢谢了!我刚刚装完了LFS,启动就遇到了这个问题!

作者: xiaodouding   发布时间: 2009-05-02