- 论坛徽章:
- 0
|
在硬盘上安装fc4,顺便提到了修改grub的配置文件,还分析了在不同时期中设备号的不同表示.
系统配置:
ide1--------------------40g 2个区(fat32)
sata1-------------------80g 3个区(ntfs,extended(fat32),ext3)
用wingrub的tools->partition list查看结果如下:
(hd0,0) d fat32
(hd0,1) - extended
(hd0,4) j fat32
(hd1,0) c ntfs
(hd1,1) - extended
(hd1,2) - ext3
(hd1,4) e fat32
c盘上安装winxp系统,e盘上安装有fc4的4个iso文件,并遵照网上一些文章的指示在空闲分区(hd1,4)上创建linux目录下面放有iso文件中的isoimage/vmlinuz 和 initrd.img文件,作为启动内核.
Xp系统是某位dx做的镜像,xp的引导器有一项grub的入口点,这样我省了安装grub这一项,所以省了不少时间,J 在后面会用到这个grub来引导fc4的安装内核.
接下来就是改写grub的menu.lst文件,在c:ootgrub下找到该文件,加上一下几句.
title fc4setup
root (hd1,4)
kernel (hd1,4)/linux/vmlinuz
initrd (hd1,4)/linux/initrd.img
保存,重启………………….
进入xp的引导容器界面,选择fc4setup启动的那一项,问题出来了,系统提示
error16:file not found
分析: 使用wingrub的唯一目的是查找正确的grub分区变量和分区的对应关系,难道有错吗?随后打开menu.lst查看原有内容,因为xp和iso文件的两分区在同一sata设备上,所以分区变量前半段应该相同,但是原有内容是hd0,难道wingrub出错? 但是ntfs分区也应该在hd1才是,但是为什么他不设hd1呢?只有一种办法可以解释:xp系统启动前是bios管理设备,他的设备应该是有cmos设置决定的,哪个硬盘为主启动盘哪个就是hd0,依此类推.进了xp后,情况有些变化,ide设备号要比sata设备号小.
修改menu.lst:
……
title fc4setup
root (hd0,4)
kernel (hd0,4)/linux/vmlinuz
initrd (hd0,4)/linux/initrd.img
……
重启,一切正常,启动linux内核后他自己找到安装镜像文件iso,进入安装界面,进入后会问你安装源在哪个设备里,这是的sata硬盘又会变成scsi设备,他会给你多个可能的分区给你选择,一个一个试总会找到的.再以后就和光盘安装一样,分区,选择语言,时区等等.
我的linux自带的grub虽然没有覆盖mbr,但是linux将自己的根分区设置成了活动分区,所以系统启动后会直接进入这个分区的grub容器,如果想经过这个grub启动xp,那么应该修改/boot/grub/menu.lst文件:
在最后加上:
title winxp
root noverify(hd0,0) 这句试装载(hd0,0)分区的引导容器
makeactive 这句可加可不加,如果下次想使用(hd0,0)引导的话
chainloader +1
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/10690/showart_51191.html |
|