LFS之了解GRUB

自己这次装LFS可以说是非常顺利的,只出现了3个问题,并顺利解决。其中最后一个,也是比较打击人的问题就是GRUB这个了。

  自己出现的问题是:error 17 :cannot mount selected paratition
  后来发现自己还是在root (hd0,0)这出错了。
  应该是root (hd0,1)
  然后是setup (hd0) –意思是写入hd0块硬盘
  这些弄好了后,然后才是修改fstab。
  要区分好的是:在GRUB下和LINUX对硬盘的标识是有差别的。具体差别百度下吧,很容易的说。

  不过我最后解决这个GRUB的问题是重新编译了下内核,在内核编译前的那个选项里,手册里说是选上XFS就行了,我自己特意补充选了下面所有和XFS有关的,然后再编译,再GRUB,就成功引导了。呵呵~希望对你有帮助,祝你成功。

 

 

  附上一点和GRUB有关的资料:(资料地址:http://docs.huihoo.com/lfs/lfs-4.0/clfs/grub.html)
等几分钟后,就进入 GRUB 的控制台了。在这里输入:

find /boot/grub/stage1

这个命令是看看你在哪些分区上有 /boot/grub/stage1 这个文件。有这个文件才能设置成根分区。下面是我的结果:

(hd0,5)
(hd1,3)
(hd1,4)

要注意的是,这里的 hd1 是我的 /dev/hdc。(hd1,3) 是我的 /dev/hdc4。 GRUB 所使用的硬盘/分区命名约定与Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 “hda5″。而 GRUB 把这个分区称作 “(hd0,4)”。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。

下面把 LFS 的分区作为根分区,这个命令也是在 GRUB 的控制台下输入的:

root (hd1,3)

最后,把设置写到我第一块硬盘的 MBR(还是在 GRUB 的控制台下输入):

setup (hd0)

上面这一步要尤其注意,我第一次是用setup (hd1)的,结果不能启动了:( ,在这个命令后,你能看到一些信息。如果一切正常,就退出控制台:

quit

好了,看一下你的 /boot/grub/menu.lst 文件里设置的参数对不对,然后就重启动,你可以看到 LFS 的图片了。这时应该能正常地进入你的所有操作系统。上面我所做的只是 GRUB 的基本用法,还有一些高级的用法,如果你感兴趣的话,可以看看它的 info 页,有些比较有用的比如:map(能启动第二个硬盘上的 windows),stage1.5(能在启动的时候直接给出内核和根分区)。好了,我就不多说了,自己探索一下,体验 LFS 的乐趣!

 

 

 

超越C++原创文章,转载请注明来源并保留原文链接

本文链接:http://www.beyondc.cn/lfss-understanding-of-grub.html

你可能感兴趣的:(c,linux,windows,百度)