磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。硬盘必须分区才能使用。
计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。
磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件;但太多分区就成了麻烦。空间管理、访问许可与目录搜索的方式,依属于安装在分区上的文件系统。当改变大小的能力依属于安装在分区上的文件系统时,需要谨慎地考虑分区的大小。
磁盘分区可做看作是逻辑卷管理前身的一项简单技术。
在一个 MBR 分区表类型的硬盘中最多只能存在 4 个主分区。如果一个硬盘上需要超过 4 个以上的磁盘分块的话,那么就需要使用扩展分区了。如果使用扩展分区,那么一个物理硬盘上最多只能 3 个主分区和 1 个扩展分区。扩展分区不能直接使用,它必须经过第二次分割成为一个一个的逻辑分区,然后才可以使用。一个扩展分区中的逻辑分区可以任意多个。
分区允许在一个磁盘上有多个文件系统。有许多理由需要这么做:
有利于管理,系统一般单独放一个区,这样由于系统区只放系统,其他区不会受到系统盘出现磁盘碎片的性能影响。
碍于技术限制(例如旧版的微软 FAT 文件系统不能访问超过一定的磁盘空间;旧的 PC BIOS 不允许从超过硬盘 1024 个柱面的位置启动操作系统)
如果一个分区出现逻辑损坏,仅损坏的分区而不是整个硬盘受影响。
在一些操作系统(如 Linux)交换文件通常自己就是一个分区。在这种情况下,双重启动配置的系统就可以让几个操作系统使用同一个交换分区以节省磁盘空间。
避免过大的日志或者其他文件占满导致整个计算机故障,将它们放在独立的分区,这样可能只有那一个分区出现空间耗尽。
两个操作系统经常不能存在同一个分区上或者使用不同的“本地”磁盘格式。为了不同的操作系统,将磁盘分成不同的逻辑磁盘。
许多文件系统使用固定大小的簇将文件写到磁盘上,这些簇的大小与所在分区文件系统大小直接成比例。如果一个文件大小不是簇大小的整数倍,文件簇组中的最后一个将会有不能被其它文件使用的空闲空间。这样,使用簇的文件系统使得文件在磁盘上所占空间超出它们在内存中所占空间,并且越大的分区意味着越大的簇大小和越大的浪费空间。所以,使用几个较小的分区而不是大分区可以节省空间。
每个分区可以根据不同的需求定制。例如,如果一个分区很少往里写数据,就可以将它加载为只读。如果想要许多小文件,就需要使用有许多节点的文件系统分区。
在运行 Unix 的多用户系统上,有可能需要防止用户的硬连结攻击。为了达到这个目的,/home 和/tmp 路径必须与如/var 和/etc 下的系统文件分开。
磁盘分区后,必须经过格式化才能够正式使用,格式化后常见的磁盘格式有:FAT(FAT16)、FAT32、NTFS、ext2、ext3 等。
FAT16
这是 MS-DOS 和最早期的 Win95 操作系统中最常见的磁盘分区格式。它采用 16 位的文件分配表,能支持最大为 2GB 的硬盘,是目前应用最为广泛和获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这一种格式,从 DOS、Win95、Win97 到 Win98、Windows NT、Win2000,甚至火爆一时的 L inux 都支持这种分区格式。但是在 FAT16 分区格式中,它有一个最大的缺点:磁盘利用效率低。因为在 DOS 和 Wi ndows 系统中,磁盘文件的分配是以簇为单位的,一个簇只分配给一个文件使用,不管这个文件占用整个簇容量的多少。这样,即使一个文件很小的话,它也要占用了一个簇,剩余的空间便全部闲置在那里,形成了磁盘空间的浪费。由于分区表容量的限制,FAT16 支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。所以为了解决这个问题,微软公司在 Win97 中推出了一种全新的磁盘分区格式 FAT32。
FAT32
这种格式采用 32 位的文件分配表,使其对磁盘的管理能力大大增强,突破了 FAT16 对每一个分区的容量只有 2 GB 的限制。由于硬盘生产成本下降,其容量越来越大,运用 FAT32 的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。而且,FAT32 具有一个最大的优点:在一个不超过 8GB 的分区中,FAT32 分区格式的每个簇容量都固定为 4KB,与 FAT16 相比,可以大大地减少磁盘的浪费,提高磁盘利用率。支持这一磁盘分区格式的操作系统有 Win97、Win98 和 Win2000。但是,这种分区格式也有它的缺点,首先是采用 FAT32 格式分区的磁盘,由于文件分配表的扩大,运行速度比采用 FAT16 格式分区的磁盘要慢。另外,由于 DOS 不支持这种分区格式,所以采用这种分区格式后,就无法再使用 DOS 系统。
NTFS
它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全。支持这种分区格式的操作系统已经很多,从 Windows NT 和 Windows 2000 直至 Windows Vista 及 Windows 7,Windows 8。
ext2、ext3
ext2,ext3 是 linux 操作系统适用的磁盘格式,Linux ext2/ext3 文件系统使用索引节点来记录文件信息,作用像 windows 的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux 文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。 对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
Linux 缺省情况下使用的文件系统为 Ext2,ext2 文件系统的确高效稳定。但是,随着 Linux 系统在关键业务中的应用,Linux 文件系统的弱点也渐渐显露出来了:其中系统缺省使用的 ext2 文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱点。
Ext3 文件系统是直接从 Ext2 文件系统发展而来,ext3 文件系统已经非常稳定可靠。它完全兼容 ext2 文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是 ext3 日志文件系统初始设计的初衷。
我们可以借助一些第三方的软件,如 Acronis Disk Director Suite、PQMagic、DM、FDisk 等来实现分区,也可以使用由操作系统提供的磁盘管理平台来进行。在 Windows 操作系统中,我们还可以使用 diskpart 通过指令调整磁盘分区参数。
硬盘分区之后,会形成 3 种形式的分区状态;即主分区、扩展分区和非 DOS 分区。
非 DOS 分区
在硬盘中非 DOS 分区(Non-DOS Partition)是一种特殊的分区形式,它是将硬盘中的一块区域单独划分出来供另一个操作系统使用,对主分区的操作系统来讲,是一块被划分出去的存储空间。只有非 DOS 分区的操作系统才能管理和使用这块存储区域。
主分区
主分区则是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑 C 磁盘。其中的主引导程序是它的一部分,此段程序主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的 DOS 或其他操作系统。此段程序损坏将无法从硬盘引导,但从软驱或光驱引导之后可对硬盘进行读写。
扩展分区
而扩展分区的概念是比较复杂的,极容易造成硬盘分区与逻辑磁盘混淆;分区表的第四个字节为分区类型值,正常的可引导的大于 32mb 的基本 DOS 分区值为 06,扩展的 DOS 分区值是 05。如果把基本 DOS 分区类型改为 05 则无法启动系统 ,并且不能读写其中的数据。
如果把 06 改为 DOS 不识别的类型如 efh,则 DOS 认为该分区不是 DOS 分区,当然无法读写。很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。