Fedora 6 安装记
DAY 1(11月28日):安装fedora。安装的版本是最新出的Fedora Core 6,使用DVD安装。安装在IDE硬盘的一个20G的空间里,使用默认的分区方式,把grub安装在MBR里。安装过程没有大的波折,时间大概是1个小时多几分钟。只是在分区的时候我按了个什么键它就关机了。只有重新开始。浪费了我14分钟。但是安装完后要重新启动,启动后就直接进入叉P,没有grub的引导界面,没有进入fedora。
先说明一下硬盘信息:2个硬盘,一个是sda(串口),160G,一个hdb(IDE并口),40G。叉P装在sda上,fedora安装到hdb上。我用叉P的磁盘管理进行分区,把hdb分成两个区,然后把第一个分区删除,准备让fedora安装在第一个分区上。但是很奇怪的是安装完后我发现第二个fat32的分区被认作hdb1,在硬盘上的第一个分区“/boot”却成了hdb2了。fedora只是把未使用的空间分为两个区,一个是“/boot”,另外一个是“/”,没有swep区。且root区的格式甚是奇怪。
根据多年前安装redhat 7.3的经验,需要把lilo的第一个扇区保存下来,然后保存在ntloader(ntldr)的分区下,修改boot.ini就可以了。于是想找一个备份MBR的程序在叉P下面备份一下,但是死活找不到。NT4下有个程序叫bootsave的,但是在MS里也没有。google“MBR 备份”有一大堆说“很多程序都可以备份MBR……”,但是没有一个网站给出一个程序。于是只好另想方法。我曾经down了几个光盘版的linux,如knoppix和Ubuntu等,于是使用Kubuntu启动,然后dd之,然后修改boot.ini等……可惜的是dd时使用了“of=/dev/hdb2",只是导出了一堆的“00”,无功而返。
DAY 2:今天想到了dd的错误,于是把它修正回“of=/dev/hdb”,终于导出了MBR。拷贝、修改,启动。但是在选择了相应项以后,只在左上角显示“GRUB”就不动了。google不到相应的解决办法,于是索性把sda拔了下来,只连接串口的hdb。果然顺利进入到fedora。但是重新接上sda后启动,就直接由hdb的GRUB引导,GRUB不能找到叉P的引导ntldr,只是显示了grub.conf的两个命令就死掉了:
rootnoverify (hd1,0)
chainloader +1
这两个命令是安装grub时候我增加sda引导后自动生成的。这种情况也不是很感意外。但是还是觉得头疼。于是进去修改grub.conf。主要参考的文章是下面第2篇。先增加“makeactive”和“boot”两条命令。然后把“rootnoverify”改成“root”。最后加上“map”命令才成功。最后的grub.conf文件大概是这样:
title DOS
map (hd0) (hd1)3
map (hd1) (hd0)3
root (hd1,0)2
chainloader (hd1,0) +1
makeactive1
boot1
然后grub可以引导叉P了(红色数字表示修改的顺序)。原理大概是叉P不能由第二个硬盘引导,必须先map映射交换一下。现在我把hdb的数据线拔下,使用sda的ntldr引导,它能直接引导叉P,但是再插上IDE后选择linux后就还是死翘翘。我猜想其中的原因是两个硬盘都有MBR,计算机BIOS能记住上一次引导的硬盘(能自动识别引导分区并置成active?),grub把引导的硬盘认作hd0,把另外一个硬盘认作hd1。当首先使用IDE口硬盘hdb引导的时候,grub.conf文件中硬盘的顺序是对的,于是可以正确认出两个硬盘和引导系统。但是如果由串口的硬盘的ntldr首先引导时,串口的硬盘sda对grub来说时hd0,并口的硬盘hdb则是hd1了。那么grub中的硬盘定义就刚好反过来了。
DAY3:今天又修改了一下grub.conf。后来发现,其实只要加上map命令就可以了,不需要加入其它命令。
title DOS
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader +1
但是我还是没有修改好能在ntldr下面引导到linux或者grub的方法,只能在屏幕的左上角显示出GRUB这个字。怎么办?
请参考:
1。系统引导管理器GRUB,为初学者指南(linuxSir)
2。系统引导管理器GRUB学习笔记(linuxSir)