|
发表于 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 字节即可 无此限制)。 |
|