LINUX系统还是比较常用的,于是我研究了一下LINU文件,在这里拿出来和大家分享一下,希望对大家有用。安装上一个LINUX系统不是难事,往扩展分区里装就是正解(建议看看老刀的精华帖)。
倒是设定引导程序的位置让很多菜鸟为难,一个是往MBR上装,一个是往LINUX系统所在的分区的第一个扇区里装,各发行版本的LINUX系统在安装GRUB时都会出现这两个选项。根据我的实际经验,往MBR上装绝对没问题(不要相信所谓的LINUX系统教程上的内容,要自己试),GRUB的多启动菜单绝对会出来,后面的那种方法我试过(安装FC1、FC4、MDK10时),系统安装完后,只见到WINDOWS的多启动菜单,GRUB愣是不出来。不过MBR是各个系统的必争之地,尤其是WINDOWS一旦重装,MBR记录就被覆盖,GRUB也就没了,也难怪各种书籍上建议不要往MBR上装。建议在安装好WINDOWS后作好GHOST备分,重装系统就不要用安装光盘了,直接还原。放心,根据我的经验,GHOST还原不会影响MBR信息。GRUB进行多系统引导的功能很强,往MBR上安装好后就可以从引导菜单中引导出WINDOWS的多启动菜单,再启动各个版本的WINDOWS。
这次我在装有WINDOWS XP的笔记本上(只有内核版本为2.6的LINUX系统可以支持笔记本)又安装了FC4(Fedora Core 4)和RFDT5(Red Flag Desktop 5.0)。FC4比较专业,适用于学习LINUX系统的高级操作和开发;RFDT5是国内开发的,易用性和中文化比较出色,适用于LINUX系统的个人应用。安装时先在扩展分区尾部划出大块的空闲空间,约15GB,用于两个LINUX系统的安装。装完FC4,扩展分区尾部的空闲空间还有7GB多,接着RFDT5被装到这7GB的空间里。两个系统的GRUB都往MBR上装,当然留下来的只会是后来者。安装完后的分区表如下:请新手注意LINUX系统下硬盘分区的编号方式
分区编号 所属操作系统 文件系统格式 标签/挂载点
hda1(hd0,0) WINDOWS XP NTFS System
hda2(hd0,1) WINDOWS XP NTFS Security
hda5(hd0,4) WINDOWS XP VFAT VFAT
hda6(hd0,5) WINDOWS XP NTFS NTFS-1
hda7(hd0,6) WINDOWS XP NTFS NTFS-2
hda8(hd0,7) Fedora Core 4 EXT3 /boot
hda9(hd0,8) Fedora Core 4 EXT3 /home
hda10(hd0,9) Fedora Core 4 EXT3 /usr
hda11(hd0,10) FC4和RFDT5共用 SWAP 不适用
hda12(hd0,11) Fedora Core 4 EXT3 /
hda13(hd0,12) RFDT5 EXT3 /boot
hda14(hd0,13) RFDT5 EXT3 /
hda15(hd0,14) RFDT5 EXT3 /usr
hda16(hd0,15) RFDT5 EXT3 /home
注意:普通的MBR硬盘最多支持4个主分区,或最多3个主分区加一个扩展分区,在一个扩展分区中可划分的逻辑分区个数在理论上是无限的;而GTP(GUID分区表)硬盘最多可支持128个主分区,因此无须扩展分区。
虽然安装RFDT5的GRUB时,添加了FC4,引导位置指向FC4的根目录(/)挂载的分区hda12(hd0,11)。但RFDT5可以正常引导,而FC4无法引导,总是显示“找不到文件”。GRUB在引导时LINUX系统时要把该版本LINUX系统的内核挂载上,要找到FC4的/boot目录下vmlinuz-xxx和initrd.-xxx.img两个文件,同时GRUB还要知道根目录挂载的分区编号。要让GRUB的多启动菜单中出现能正常引导FC4的选项,就必须更改RFDT5的GRUB的配置文件,这个文件在hda13(hd0,12)分区下,路径为/boot/grub/grub.conf。更改LINUX系统中的配置文件都要用到vi编辑器。下面就来介绍如何更改:
在RFDT5系统中启动命令行终端;命令:vi /boot/grub/grub.conf 启动vi编辑器并打开grub.conf文件注意打开的文件内容中的这一部分:
以下语句均是正确的
title Red Flag Desktop 5.0 (2.6.9-5.34DT)
root (hd0,12)
kernel /vmlinuz-2.6.9-5.34DT ro root=LABEL=/1 vga=785 splash=silent resume2=swap:/dev/hda11
initrd /initrd-2.6.9-5.34DT.img
title Red Flag Desktop 5.0-2.6.9-5.34DT (Safe Mode)
root (hd0,12)
kernel /vmlinuz-2.6.9-5.34DT ro root=LABEL=/1 4
initrd /initrd-2.6.9-5.34DT.img
title Red Flag Desktop 5.0-2.6.9-5.34DT (Console Mode)
root (hd0,12)
kernel /vmlinuz-2.6.9-5.34DT ro root=LABEL=/1 3
initrd /initrd-2.6.9-5.34DT.img
title Microsoft Windows
rootnoverify (hd0,0)
chainloader +1
title Red Hat Fedora Core 4
root (hd0,7)
kernel /vmlinuz-2.6.11-1.1369_FC4 root=/dev/hda12
initrd /initrd-2.6.11-1.1369_FC4.img
很明显title后的语句就是GRUB菜单中的各个选项的名字,可以看出GRUB的引导菜单中共有5个要引导的对象。
对于LINUX系统,root语句指明GRUB的根文件系统要挂入的分区,注意GRUB的根文件系统与LINUX系统操作的根文件系统是没有任何关系的,只是为了挂入分区;kernel语句就是要把指明路径下的LINUX系统内核装载上,注意这个路径是针对按照GRUB的根文件系统来确定的,并非LINUX系统的根文件系统。
例如:FC4的内核vmlinuz-2.6.11-1.1369_FC4位于分区hda8(hd0,7)上,这个分区挂载在FC4的/boot目录上,在FC4中内核的路径为/boot/ vmlinuz-2.6.11-1.1369_FC4,实际上LINUX系统的内核就在LINUX的/boot目录下,但这个分区挂在GRUB的根文件系统(/)上后,路径就应为/ vmlinuz-2.6.11-1.1369_FC4,/下的内容就是hda8(hd0,7)中的内容而不是FC4的/所挂上的hda12(hd0,11)中的内容。因此,kernel 后的参数是/vmlinuz-2.6.11-1.1369_FC4,而不是/boot/ vmlinuz-2.6.11-1.1369_FC4,后面给root变量赋的值才是FC4的/挂上的分区编号,GRUB在引导过程中必须让内核启动后知道LINUX系统的位置。ro一般表示的是该分区以只读的方式挂载。
initrd语句要将initrd文件装载,这个文件的作用我还不是太明白,据说是提供什么可用的RAM盘。这个文件在启动LINUX系统时很重要,因此也要将其在GRUB的根文件系统中的路径指明,而这个文件总是和内核在同一路径下。
由于WINDOWS使用的是链式装载方式进行启动的,title下的引导语句就和LINUX系统不一样。由于涉及写块列表的知识,这个我就不太懂了。一般的GRUB配置文件中的关于引导WINDOWS的这一部分内容都和上面列出的部分完全一样。
理解了上面所讲的内容,那么要引导出FC4,就只要把root kernel initrd语句学着上面的例子写对就可以了,关键是路径和分区编号必须准确。当初我的FC4引导不出来,就是因为RFDT5的GRUB把它识别为了WINDOWS这种采用链式装载的系统,title下的语句是引导WINDOWS的写法。
在vi中更改文本,需知道vi的一些基本操作:
直接在命令行下输入vi加文件名就可以启动vi进入一般模式并打开文件,但在一般模式下无法进行编辑;只要按下I、o、a等字符,就可以进入编辑模式,对文本中的内容进行更改;编辑好后,按Esc键退出编辑模式,返回一般模式;在一般模式下按下:(即进行输入:的操作),这时光标会移动到画面的左下角,等待输入指令,输入q执行,退出不存盘;输入wq执行,存盘并退出;输入wq!执行,强制存盘并退出,这是在文件的权限不允许写入时采用的。
【编辑推荐】