在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。在这个过程中间,最大的困惑莫过于给硬盘进行分区。虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多的人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定,以及它下面最有效的分区工具— Fdisk 的使用方法。下面从这两个方面入手,来讲解这个困扰大家的问题。
N>\Rma9 hi`@4zd_ Linux 的分区规定
5V ;{3;d <dE,K 1. 设备管理
)/lbSMaZK %Zoe*@ t 在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。
m|. Q7Oz !6u]Knb Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。
dv#1Dxm6 hVoBiW} 2. 分区数量
YwiE=iqVd .|{RPo^ 3 要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。
cF::N-\| )9y1~?y 3. 各分区的作用
rPS(?teE` 65#i@&J 在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
&iW =w ]<{ztp,tZw 主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。
19V1Q-Y #VXF N) Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。
!q2#7T82v uuF)ACjU 对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。
GD@,7'/gAh ?15TxU 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。
EX:?R),[=o 4lI0~<p% 5. 分区指标
..E}wbe< uH\Z!zd# 对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。 Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种 Linux 特有的 Linux Native和 Linux Swap分区类型。在 Linux 系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍Fdisk的使用方式的时候将会介绍。
e>!!]0's %-zhvVQ Fdisk 使用详解
`$W[KU7l U5OvfT> 下面通过介绍 Fdisk 的使用方法,来巩固上面所学到的各种关于 Linux 分区的知识。
8 y ,i% )A(n| Fdisk 是各种 Linux 发行版本中最常用的分区工具,是被定义为 Expert 级别的分区工具,它让初学者有点望而却步。
=Jxg8x$qhV wU|BwwB 1. Fdisk 参数说明
%|XT -)2 Qpb&b(=@ 运行Fdisk的时候,首先映入眼帘的如图 1 所示的欢迎界面,用户通过在这个界面中输入命令参数来操作Fdisk。
jF_oMc{ hM|e>j rRytA/eID w2L7\`r ] &uG3m 图 1 Fdisk 欢迎界面
%^[)Df3t Cxk8C3}w )lZ@+j&#C 用户通过提示键入 “m”,可以显示 Fdisk 命令各个参数的说明。
-IEZA7AEI FEn1'Y+Gv. 读者可以看到 Fdisk 有很多参数,可是经常使用的就是几个,如果读者熟练掌握这几个参数就可以流畅地运用 Fdisk,对 Linux 的硬盘进行分区。我们先简单介绍各个参数的意义,然后详细说明几个重点参数,见表 1。
2JRB>C& -Db/FqM 表 1 Fdisk 参数说明
*?Nc-x6 HK N$6Zi+ UkS1y_]~ %C_m#vt`Qf 用户在 Linux 中进行分区的时候,最常用的参数分别是 d、l、m、n、p、q、t、w 等。
Ne_iJo)IA A -nKg#~ 2.用 Fdisk 进行分区
{~5&^o`cX _x)O?+,l 在 Linux 分区过程,一般是先通过 p 参数来显示出硬盘分区表信息,然后根据信息确定将来的分区。如图2所示。
YAOjUfk?4 }c;QYJf3wT u!?0pXO7/ 7>yZ` k9 }8{C0[SR$M 图 2 显示已有分区的
>31K^f \n{ 9xw" 913 Z#Ab8 图 2 显示了分区的大小和分区的类型。如果想完全改变硬盘的分区格式,就可以通过 d 参数一个个删除存在的硬盘分区。例如 d1,d2。
r!;Kdyo NZE> 删除完毕,就可以通过 n 参数来增加新的分区。当按下 “n” 后,我们就可以看到图 3 所示的新增分区。
+2`|k!" a.jRd>7PYN "u~#?3;)% D_j\>w = e | 图 3 新增分区
'6~HE9 Qqpc \U9'U [ '3Z1^L: 这里要选择新建的分区类型,是主分区还是扩展分区;然后选择 p 或是 e。它们的区别在上文中已经说明。然后就是设置分区的大小。需要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了,如图 4 所示。
? -l2uI yuTK j1 "7pH:[?g Ar'0><^ V\+S`P# 图 4 新增逻辑分区
I7?<^q k7T|]^ |aaMvb\i~7 在增加分区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,例如 Linux Swap 或 FAT32 等,可以通过命令 t 来改变,如图 5。
QRY? fCE k. 0q2cO bYD/_%|f@ .tHHdl`V d>+wK# 图 5 转换分区类型
!v=2F@<|n B{i)w=0 L-Kj[ 'W| 当按下 “t” 改变分区类型的时候,系统会提示要改变哪个分区,并且改变为什么类型(如果想知道系统所支持的分区类型,键入 l)。图 5 表示把分区5的类型改变为 82 号 Linux 的 Swap 类型。
qj8v!QFf 9@5:XiL.> Linux 所支持的分区类型号码和其对应的分区类型,可以参考表 2(这些信息可以用 l 命令得到)。
K6@fpW!qCx x sRI&Z) 表 2 分区类型对应表
o=\)-=r-u OB8 YgAC 8_6ei8 WZSm`+]y 改变完了分区类型,就可以按下 “w”,保存并且退出。如果不想保存,那么可以选择 “q” 直接退出。
L0];u3>:" YS3!;]~ 通过以上两个方面的学习,相信对于初学者来说,分区已经不再是 Linux 进阶中的绊脚石了。