已有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启动界面
图12 点击NeoGrub选项卡
图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 挂载新的文件系统
至此,文件系统升级完毕。