硬盘结构

摘要

硬盘在物理上被分割为扇区。一系列扇区组成分区。简单来说,您可以按照需要创建最多 67 个分区(3 个主分区以及一个可以包含 64 个逻辑分区的扩展分区)。其中的每一个都会被视为一个单独的硬盘。

扇区

一个硬盘可以简单地看作是一系列扇区的集合,而它们是硬盘上的最小数据单位。一个扇区的标准大小是 512 字节。具有 “n” 个扇区的硬盘上的扇区从 “0” 到 “n-1” 标号。

分区

多重分区让您能够在一个物理硬盘上创建许多虚拟硬盘。其优点在于:

  • 可以让不同的操作系统使用不同的磁盘结构(称为文件系统)。Windows®GNU/Linux 就是如此。在一个硬盘上拥有多个分区也让您能够在同一个物理驱动器上安装不同的操作系统。

  • 出于性能的考虑,操作系统可能需要在不同的驱动器上使用不同的文件系统。这是因为它们可能有着完全不同的用途。例如 GNU/Linux,它需要一个成为 swap 的扩展分区。该分区由虚拟内存管理器作为虚拟内存使用。

  • 即使您所有的分区使用同一个文件系统,将您 OS 的不同部分划分到不同的分区中也十分有用。简单来说,您可以将您的文件划分到两个分区:一个用于存放您的个人数据,而另一个用于存放程序。这样以来您就可以在升级您的 OS 时完全擦除存放程序的分区上的数据,同时却保留您的数据分区上的个人数据。

  • 因为硬盘的物理故障一般都发生于相临的扇区,而不是分布在整个硬盘中。因此,将您的文件分布到不同的分区中能够将物理故障导致的数据损失降到最小。

分区的类型一般表示该分区可能的文件系统。每个操作系统可能会识别某些分区格式,但是却不能识别另一些。相关详情请参见第 8 章 文件系统和挂载点以及第 9 章 Linux 文件系统

定义您磁盘的结构

最简单的方式

在这一情形下只需要两个分区:一个用于 swap 空间,另一个用于保存文件[2]

[Tip]提示

对于交换分区,最基本的规则是将其大小设为您的 RAM 内存大小的两倍(亦即,如果您有 128 MB RAM 内存,那么交换分区就应该为 256 MB)。然而对大内存机器配置来说(> 512 MB),该规则并非必须,交换分区也可以小一些。请注意,交换分区的大小受限于您所使用的硬件平台。比如在 x86PowerPCMC680x0 上不能超过 2 GB,在 MIPS 上不能超过 512 MB,在 Alpha 不能超过 128 GB 以及在 Ultrasparc 上不能超过 3 TB

其他常用的方案

将数据与程序分离。为了更加有效率,人们常常会定义第三个分区称为 根分区,并将其标记为 /。它包含了启动您的系统以及执行基本维护所需要的程序。

因此,我们可以定义四个分区:

交换分区

swap 分区的大小相当于物理 RAM 的两倍。

根分区:/

最重要的分区。不仅是因为它包含了重要的系统数据和程序,并且也由于它作为其他分区的挂载点(参见第 8 章 文件系统和挂载点)。

根分区的容量不需要很大,400 MB 一般已经足够了。然而,如果您打算安装商业应用程序(它们常常会安装到 /opt/),您就需要相应增大根分区的大小。不过,您还可以创建一个分离的 /opt/ 分区。

静态数据:/usr/

绝大多数软件包将它们大部分的可执行程序和数据安装到 /usr/ 目录下。对它创建一个另外的分区的优点在于这样您就可以很方便地在网络上同其他机器共享它们了。

推荐的容量取决于您想要安装的软件包,可能会从 100 MB 轻量级安装到几个 GB 的完全安装。折衷的方案是两到三个 GB (取决于您磁盘的大小)一般就足够了。

主目录:/home/

该目录包含您主机上全部用户的个人文档。该分区的容量取决于主机上用户的数量和他们的需要。

另一个方案是不要/usr 中的文件单独创建一个分区。/usr 可以只是根(/)分区中的一个目录。不过,这样您就必须相应增加您的根(/)分区的容量。

最后,如果您不是很清楚要拿您的计算机干什么,您可以只创建 swap 和根(/)分区。这样,您的 /home/usr/var 将存放于根分区。

另类配置

当您将主机用作特殊用途(比如 Web 服务器或是防火墙),其需要就完全不同于标准桌面主机。例如,一台 FTP 服务器很可能需要一个大容量独立的 /var/ftp/ 分区,而其 /usr/ 目录可能比较小。在这些情况下,请在安装操作前就好好考虑您的需求。

[Tip]提示

如果您需要改变您的分区的大小,或是使用不同的分区方案,请注意,不用重新安装系统或者损失数据就改变大多数分区大小是可能的。请参考初学者指南中的管理您的分区

有经验之后,您甚至可以把一个拥挤的分区搬到一个全新的驱动器上。



[2] Mandrakelinux 下默认的文件系统称为 ext3