已有Windows7下硬盘安装CentOS 6.x

1 相关背景

         以CentOS 6.0为例。没有CentOS 6.0系统光盘,有U盘但不想用其制作Linux启动盘,原因是对U盘损伤极大,怎么办呢?还是硬盘安装吧。

         从哈工大FTP(ftp://run.hit.edu.cn)上下载的CentOS-6.0-i386-bin-DVD.iso,有4.4GB。由于FAT32文件系统支持的单个文件不能超过4GB的大小,因此是不能放在FAT32类型的文件系统中的,而Linux不能够识别NTFS文件系统,因此只能将其放入ext2(或ext3)类型的文件系统下面。下面详述其在已有Windows 7系统下硬盘安装CentOS 6.0的过程。最后介绍了Ext4文件系统和如何从ext3升级到ext4。

2 准备工作

       需要下列一些软件:

(1)    CentOS系统镜像文件:CentOS-6.0-i386-bin-DVD.iso

(2)    Acronis Disk Director Suite或Partition Magic,用来进行对硬盘的分区、格式化等:Acronis Disk Director Suite

(3)    EasyBCD,支持多种操作系统的多重引导:EasyBCD2.1.2

(4)    Ext2Fsd 在windows下复制文件到ext2(或ext3)文件系统中,由于ext2类型的文件系统在windows下是不能够识别的,即ext2类型的分区在windows下是隐藏不可见的,Ext2Fsd 可以通过设置显示ext2分区,从而能够把相应文件(主要是CentOS系统镜像)拷贝到ext2分区。本文用的Ext2Fsd是Ext2Fsd-0.51.exe安装版的,最好不要用解压之后就能使用的。

如果安装的系统镜像iso小于4GB,则只要格式化成FAT32文件系统即可,此时Ext2Fsd工具就不需要了。

3 布置安装所需环境

       假设目前的硬盘已有4个分区分别是:C、D、E和F。C、D、F分区不使用,只能用E分区安装CentOS。

       如果安装CentOS只划分一个分区,即只有/分区(其他的如/boot,/home都挂载在/下而不划分成单独的分区),只要把分区E(E盘)格式化为ex2(或ext3)即可。但如果要划分成多个独立的分区,如/,/boot,/home等都单独划分成分区的话,就要删除分区E成为Unallocated,类似图1的形式,在安装CentOS划分分区的界面时就会从Unallocated未划分成逻辑分区的部分划分出CentOS使用的分区。

 

图1 删除分区后

       本文为CentOS时划分4个分区,分别是/boot分区、/分区、/home分区和/swap分区。

3.1 划分分区

       首先用Acronis Disk Director Suite删除E分区,此时成为Unallocated(扩展分区),然后从刚删除的Unallocated中划分出一个大小约为5GB(保证大于CentOS系统镜像文件的大小)的逻辑分区,文件系统类型为ext2(或ext3),用来存放CentOS系统镜像文件,后面描述这个逻辑分区为“硬盘安装分区”。

       “硬盘安装分区”格式化之后,就需要复制文件到此分区了,可是windows不能识别出ext2类型的分区,即 在“我的电脑”中看不到这个分,此时就需要用到Ext2Fsd这个工具了,安装此工具时注意一个地方,如图2,图中三个选项都打勾。

 

图2 安装Ext2Fsd-0.51.exe

       安装之后出现如下界面,如图3:

 

图3 安装Ext2Fsd之后界面

       选中的分区就是准备的”硬盘安装分区”,那么对它进行配置,选择它单击右键,选择 “配置文件系统” ,如图4所示:

   

图4 配置“硬盘安装分区”

       所做配置如图所示,点击“启用”并“更改并退出”。继续选择这个磁盘单击右键,选择 “配置ext2卷属性” ,如图5所示:

 

图5 配置“硬盘安装分区”

       所做配置如图所示,盘符选择可随意,点击“保存并退出”。

       继续选择这个磁盘单击右键,选择 “磁盘及分区属性”,选择 “更改盘符/装配点”,出现图6

 

图6选择 “更改盘符/装配点”后

       选择 “添加” ,如图7:

 

图7 “添加”后

       按照上图配置,点击“加载并退出”。

       此时配置完毕,打开我的电脑就发现了E盘,并且可以正常打开,复制/粘贴/删除操作和windows下是一样的。注意此时E盘会出现一个lost+found的文件夹,请不要删除。

配置好”硬盘安装分区” 后, 拷贝下载的CentOS镜像文件到“硬盘安装分区”,即刚出现的E盘,并将镜像文件中的 images 文件夹和isolinux 文件夹提取出来: images 文件夹与镜像文件一起放到“硬盘安装分区”的根目录(原来镜像还要保留);isolinux 文件夹放到windows 7的系统盘即C盘的根目录下。如图8、图9所示:

 

图8 “硬盘安装分区内容”

 

图9  C盘的isolinux文件夹

 

图10 isolinux文件夹内容,注意initrd.img和vmlinuz

       至此,“硬盘安装分区”配置完毕。

3.2 制作多重引导程序

       安装EasyBCD 一路默认安装即可。启动界面如图11所示:

 

图11 EasyBCD启动界面

       点击 ,选择NeoGrub选项卡,出现如图12所示:

 

图12   点击NeoGrub选项卡

 

       注意到此时的 是不可用的,点击 后其变得可用,如图13:

 

图13 “Configure”按钮变得可用

       点击 ,之后会出现一个记事本打开的文本文件menu.lst,此文件即为操作系统的多重引导文件,如图14:

 

图14  点击“Configure”后出现的文本文件

在打开的文本文件中添加以下代码:

 

title CentOS 6.0

root (hd0,0)

kernel (hd0,0)/isolinux/vmlinuz

initrd (hd0,0)/isolinux/initrd.img

 

括号中 hd0 表示引导文件在第一块硬盘的分区中,如果是在第二块硬盘则是hd1,后面那个0表示引导程序在第一个分区中,此时即为C盘。

添加后的情况如图15:

 

图15   添加内容到menu.lst中

       保存后退出即可,EasyBCD会把此文件保存在C:\NST目录下,如图16所示:

 

图16   menu.lst文件存放位置

 

       此时配置完毕。

4 安装CentOS

       配置完毕后,重启电脑会要你选择启动windows 7或NeoGrub bootloader, 选择NeoGrub bootloade就可以正常安装CentOS了。

       安装过程中会让你选择CentOS镜像文件所在分区,此时硬盘的分区情况是如图17:

 

图17  硬盘分区情况

 

       硬盘之划分了一个主分区,即C盘,为/dev/sda1;一个扩展分区/dev/sda2;有三个逻辑分区分别为:/dev/sda5,/dev/sda6,/dev/sda7,分别代表windows下的D盘、E盘和F盘。有由于sda1、sda2、sda3、sda4是留给主分区或扩展分区用的,因此第一个逻辑分区为sda5。CentOS的镜像文件在E盘,即在/dev/sda6中。

       最后需要说明几点。

(1)    如果选择NeoGrub bootloader启动引导失败的话,会显示命令提示gub>。可能是有隐藏分区或者多块硬盘,导致引导文件所在的分区即上述的C盘不是(hd0,0)。此时就需要修改(hd0,0)为其他的值了。可直接在grub> 修改,按照提示修给即可。

(2)    在分区的时候选择定制分区,即手动分区,划分为三个分区:/boot分区、/分区和/home分区,由于现在主机主板都是较新的,BIOS能顺利的识别大容量的硬盘,所以/boot分区不必“强制为主分区”。在传统的 Linux 说明文件当中,特别有指定到:swap 最好为物理内存的1.5到2倍之间,因此Swap分区按照物理内存的大小分吧。

(3)    另外在为CentOS的三个分区/boot、/及/home选择文件系统时最好选择ext4类型的文件系统。

5 Ext4 文件系统简述

       Ext4是一种针对ext3系统的扩展日志式文件系统,Linux内核自2.6.28(CentOS 6.0的内核是2.6.32)开始正式支持Ext4文件系统。Ext4是ext3的改进版,修改了ext3中的一些重要的数据结构,而不是像ext3那样,只是增加了一个日志功能而已。Ext4可提供比ext3更佳的性能和可靠性,它的一些在性能上的提升如下:

(1)  与ext3兼容。如果想从ext3升级到ext4,是不需要格式化文件系统或重新安装系统的,只需执行几条命令就可以了。

原有的ext3数据结构不变,ext4用于新数据。

(2)  支持更大的文件系统和文件。Ext3所支持的最大文件系统和文件分别是16TB和2TB。而Ext4分别支持220TB的文件系统和16TB的文件。这其实是inode大小增加了的结果,ext3的inode大小是128Byte,而ext4的inode大小是256Byte。

(3)  引入Extents。Ext3 采用间接映射,如果操作的是大文件,效率是很低的。如一个100M大小的文件,在ext3中要建立25600个data blocks(使用4K大小的block)。而ext4引入了Modern File System中Extents的概念,每个extent为一组连续的数据块,上面的文件表示为“该文件数据保存在接下来的25600个data blocks中”,显然提高了效率。

(4)  一次多块分配。Ext3在分配数据块时,一次只能分配一块,100M的文件需调用25600次数据块分配器,即分配了25600次。而ext4采用一个称为“multiblock allocator”的多块分配器,支持一次分配多个数据块,效率提高是明显的,尤其是在为大文件分配数据块时。

       相对于ext3,Ext4主要的性能上的提升主要是以上4点。在可靠性上的提升也是不容忽视的,如日志校验功能等。

       所以在为CentOS分区时,请果断的选择ext4文件系统吧。

6 从ext3升级到ext4

       下面介绍一下如何从ext3升级到ext4,如图18,

 

图18   文件系统情况

       /boot分区是ext3类型的,注意其对应的文件系统是/dev/sda1。把其升级到ext4,需要先卸载预升级的文件系统,执行以下命令,如图19,

 

图19 先卸载文件系统

       命令tune2fs: adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems,执行以下命令进行升级,如图20,

 

图20  升级ext3到ext4执行的命令。

       此后务必要执e2fsck命令进行文件系统的检查,否则ext4将无法挂载新文件系统,执行以下命令,如图21,

 

图21  检查ext4文件系统

       执行完文件系统的检查后,就可以挂在文件系统了,如图22,

 

图 22 挂载新的文件系统

       至此,文件系统升级完毕。