linux磁盘分区详解

如题所述

在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。在这个过程中,最大的困惑莫过于给硬盘进行分区。虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多的人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定,以及它下面最有效的分区工具——Fdisk 的使用方法。
首先,我们要对硬盘分区的基本概念进行一些初步的了解。硬盘的分区主要分为基本分区(primary partition)和扩充分区(extension partition)两种。基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用,但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partition),况且逻辑分区没有数量上的限制。
对于习惯于使用 DOS 或 Windows 的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对于这些初上手 Red Hat Linux 的用户,可就有点恼人了。因为对 Red Hat Linux 用户来说,无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Red Hat Linux 中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
对于 Windows 用户来说,操作系统必须装在同一分区里,它是商业软件!所以你没有选择的余地!对于 Red Hat Linux 来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。
现在,让我们通过介绍 Fdisk 的使用方法,来巩固上面所学到的各种关于 Linux 分区的知识。Fdisk 是各种 Linux 发行版本中最常用的分区工具,是被定义为 Expert 级别的分区工具,它让初学者有点望而却步。
1. Fdisk 参数说明
运行 Fdisk 的时候,首先映入眼帘的是欢迎界面,用户通过在这个界面中输入命令参数来操作 Fdisk。用户通过提示键入 “m”,可以显示 Fdisk 命令各个参数的说明。读者可以看到 Fdisk 有很多参数,但是经常使用的就是几个,如果读者熟练掌握这几个参数就可以流畅地运用 Fdisk,对 Linux 的硬盘进行分区。我们先简单介绍各个参数的意义,然后详细说明几个重点参数。
2. 使用 Fdisk 进行分区
在 Linux 分区过程中,一般是先通过 p 参数来显示出硬盘分区表信息,然后根据信息确定将来的分区。如果想完全改变硬盘的分区格式,就可以通过 d 参数一个个删除存在的硬盘分区。例如 d1,d2。删除完毕,就可以通过 n 参数来增加新的分区。当按下 “n” 后,我们就可以看到新增的分区。这里要选择新建的分区类型,是主分区还是扩展分区;然后选择 p 或是 e。它们的区别在上文中已经说明。然后就是设置分区的大小。需要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了,在增加分区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,例如 Linux Swap 或 FAT32 等,可以通过命令 t 来改变,当按下 “t” 改变分区类型的时候,系统会提示要改变哪个分区,并且改变为什么类型(如果想知道系统所支持的分区类型,键入 l)。Linux 所支持的分区类型号码和其对应的分区类型,可以参考表 2(这些信息可以用 l 命令得到)。改变完了分区类型,就可以按下 “w”,保存并且退出。如果不想保存,那么可以选择 “q” 直接退出。Fdisk 是一款强大的磁盘操作工具,来自 util-linux 软件包,我们在这里只说他如何查看磁盘分区表及分区结构;参数 -l,通过 -l 参数,能获得机器中所有磁盘的个数,也能列出所有磁盘分区情况;复制代码
代码如下:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes/pp
Device Boot Start End Blocks Id System
/dev/hda1* 1765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3825 5100 1024140683 Linux
/dev/hda7 5100 5198787153+ 82 Linux swap / Solaris
/dev/hda8 5198787153+ 6657 1171938683 Linux
/dev/hda9 6657 7751 8787523+ 83 Linux
在上面 Blocks 中,表示的是分区的大小,Blocks 的单位是 byte ,我们可以换算成 M,比如第一个分区 /dev/hda1 的大小如果换算成 M,应该是 6144831/1024=6000M,也就是 6G 左右,其实没有这么麻烦,粗略的看一下把小数点向前移动三位,就知道大约的体积有多大了;System 表示的文件系统,比如 /dev/hda1 是 NTFS 格式的;/dev/hda2 表示是 FAT32 格式的文件系统;.在此例中,我们要特别注意的是 /dev/hda3 分区,这是扩展分区;他下面包含着逻辑分区,其实这个分区相当于一个容器;从属于她的有 hda5,hda6,hda7,hda8,hda9 ;我们还注意到一点,怎么没有 hda4 呢?为什么 hda4 没有包含在扩展分区?一个磁盘最多有四个主分区;hda1-4 算都是主分区;hda4 不可能包含在扩展分区里,另外扩展分区也算主分区;在本例中,没有 hda4 这个分区,当然我们可以把其中的一个分区设置为主分区,只是我当时分区的时候没有这么做而已;再仔细统计一下,我们看一看这个磁盘是不是还有空间?hda1+hda2+hda3=实际已经分区的体积,所以我们可以这样算 hda1+hda2+hda3=6144831+16386300+39728745=62259876 (b),换算成 M 单位,小数点向前移三位,所以目前已经划分好的分区大约占用体积是 62259.876(M),其实最精确的计算 62259876/1024=60800.67(M);而这个磁盘大小是 80.0 GB (80026361856byte),其实实际大小也就是 78150.744(M);通过我们一系列的计算,我们可以得出这个硬盘目前还有使用的空间;大约还有 18G 未分区的空间;我们也可以指定 fdisk -l 来查看其中一个硬盘的分区情况;复制代码
代码如下:
[root@localhost beinan]# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes/pp
Device Boot Start End Blocks Id System
/dev/sda11 57231 5860452883 Linux
从上面情况可以知道,在 /dev/sda 这个磁盘中,只有一个分区;使用量差不多是百分百了;我们还可以来查看 /dev/hda 的分区情况。
复制代码
[root@localhost beinan]# fdisk -l /dev/hda
自己试试看?
我们也可以通过: cat /
温馨提示:答案为网友推荐,仅供参考
相似回答