LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: reaver

LFS6.2 --8.4章节GRUB错误

[复制链接]
发表于 2009-8-29 10:21:32 | 显示全部楼层
呵呵,前面问题排除后,剩下的可能性就是路径问题了。

grub 中的路径 与 系统中的路径是两个概念,/ 不一定相同:
grub 命令行中的路径写全应当类似这样 find [color="Red"](hd1,0)/boot/grub/stage1,
如果前面执行过 root (hd1,0),则 find [color="Red"]/boot/grub/stage1 与上面命令相同,
机器硬启动过程中,进入 grub 命令行,与在操作系统环境下进入 grub 命令行,对路径处理是一样的,
grub 能以只读方式直接访问自己支持的文件系统,不需要 操作系统 执行 mount 动作。

所以,您应当检查下,[color="Red"](hd1,0)/boot/grub/stage1 对应的操作系统中的文件是否存在。

另,grub 可看成两部分,引导程序(真正的 bootloader) 及 运行于 操作系统 中的支持部分,在 grub 命令行中执行安装操作 实际上 就是在安装真正的引导程序,
所以,您可以直接安装现有系统的 grub 引导程序到新硬盘,用其启动机器后。

真正的 grub 引导程序包括,boot/grub 目录下的 stage1 *stage1.5* stage2 及引导 stage1 的一小段直接驻留于硬盘物理扇区上的程序(通常这部分安装于 MBR 及硬盘第一个扇区后的几个扇区,[color="Red"]这也是为什么 grub 无法安装在不分区硬盘上的原因,但 lilo 只需要写 446 字节即可 无此限制)。
回复 支持 反对

使用道具 举报

发表于 2009-8-29 12:12:33 | 显示全部楼层
有人玩Grub2没?

模块化架构, 支持VESA, 启动时可以选择漂亮的背景
回复 支持 反对

使用道具 举报

发表于 2009-8-29 12:28:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-31 09:23:09 | 显示全部楼层
我想我明白版主的意思了,我也大概有些明白问题出在哪了,我的移动硬盘上没有任何系统,只是做为一个存储设备挂载在了宿主系统上,制作开始的时候就很想知道这样到底能不能成功,我分析是这样:我的文件类型是没有问题,grub可以识别到,于是我用宿主系统安装grub到移动硬盘上,然后选择USB起动,加载内核的时候就出现一个类似于死循环的过程,我觉得是不是内核缺少移动硬盘部分的驱动,不认盘上的文件系统- -!我想如果我从“/”开始CP到宿主机器上的新分区,应该就没有问题了。主要我这初学者很多基础的东西还不扎实,所以让大家费心了,我会继续实验直到成功的:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-1 16:28:26 | 显示全部楼层
我又来打扰大家了,我将移动硬盘上的LFS除了sources文件,全盘CP到了我在本机上新划分出来的磁盘上,本想会一切顺利。。结果grub依然setup时报错:
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 2: Bad file or directory type
我都快哭了 到底为什么呢- -!
回复 支持 反对

使用道具 举报

发表于 2009-9-3 21:19:27 | 显示全部楼层
試 chroot 到移動硬盤上再裝,行不?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-4 09:40:38 | 显示全部楼层
恩 我试试 这次我不卸载默认的挂载点了 直接chroot感觉应该还是不行,我现在在另外一台与之前的宿主系统一样的环境上做 但是我换了稍微低版本的内核,想看看行不行,这边的半成品我也继续研究,但愿有个好结果- -!还是谢谢版主对我的帮助:)我会将进展继续跟贴的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-7 16:22:23 | 显示全部楼层
为了找到失败的原因,我在本机再次用新磁区制作了LFS,想看看是不是会出现之前的错误,结果很令人郁闷:
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no

Error 2: Bad file or directory type
老错误,我索性换了内核和initrd然后直接重启 然后从grub里引导LFS的核心 然后倒是开始启动了 内核加载也成功了 init也执行了 然后在文件系统检查那里报错 就过不去了。。。我感觉我有点胡整。但是我觉得这里的文件系统错误和grub报的错的根源是一样的吧,我真的不知道该怎么办了。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-9 09:37:34 | 显示全部楼层
出现了这样一种情况,我的一个朋友,在他的机器上按照youbest兄的速成手册制作 很快完成了,gurb也能成功安装,我CP他的东西过来,chroot然后从新安装grub,和我之前出现的错误是一样的
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 2: Bad file or directory type
但是同样的这种情况下,我重启后,从内核直接引导,朋友的就能成功引导,而我的不行- -! 请大家帮我分析分析。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表