创建和配置文件系统选项
让我们打乱次序,先从创建和配置文件系统和选项开始。
在能够使用 Linux 文件系统之前,需要先创建它们。但是在创建文件系统之前,需要先创建放置它的分区。在 x86 计算机上,硬盘可以被分成四个主分区,但是最后一个主分区可以包含许多扩展分区。
在过去,对于能够出现可引导分区的最高柱面、最大硬盘大小、在大硬盘上主分区的位置等等有许多限制。但是,在过去五年中,几乎所有系统 BIOS 都得到了改进,能够处理实际上无限大的硬盘,而且现代的引导装载程序(至少是 Linux 的引导装载程序)对于分区大小或位置已经没什么限制了。
目前仍然需要担心的惟一规则只涉及 Linux 之外的某些其他操作系统。这些操作系统有时候仍然坚持将主分区放在硬盘中比较靠前的位置。Linux 分区可以放在任何可访问的硬盘上的扩展分区或任何位置。
在 Linux 环境中,对于在硬盘上创建和操作分区,有几种广泛使用的工具。最老的工具是 fdisk。后来,基于 curses 的 cfdisk 开始流行了。许多发行版中还使用 GNU parted 。而且,大多数 Linux 发行版的安装系统和/或图形化环境都附带着分区工具前端,这样用户就能够通过更友好的界面查看和修改分区。
在这些工具中,fdisk 仍然是最灵活而且最宽容的工具。在这里使用“宽容”这个词似乎有点儿奇怪。无论使用什么工具,写入错误的分区表信息都会导致灾难。但是如果已经用不太标准 的方式创建了分区(常常是由非 Linux 操作系统和工具创建的),那么 fdisk 一般会容忍,而其他工具可能根本拒绝尝试。但是一般来说,cfdisk 更友好,交互性更强。与 fdisk 或 cfdisk相比,parted 为以非破坏性方式重新设置现有分区的大小和进行移动提供了更强大的选项。
无论使用什么工具来创建分区,概念是相似的。首先,您需要作为根用户执行这些操作,最好在单用户模式下。下面这一点极其重要:在修改分区时一定要小心,最好将所有重要的数据进行备份,并且仔细留意您所做的修改。
在开始修改分区表之前,应该了解当前存在哪些分区。命令 fdisk -l /dev/hda(对于其他硬盘,命令是相似的,比如 /dev/hdb or /dev/sda)会提供关于现有分区的信息。mount 也有助于了解这些现有分区的实际使用方式。如果希望创建新分区,那么要记住:第四个主分区中的任何额外扇区都可以供新的扩展分区使用。
我们来看一个 Linux 系统上的分区表示例:
% fdisk -l /dev/sda Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders
Device Boot Start End Blocks Id System /dev/sda1 * 1 1216 9767488+ 7 HPFS/NTFS /dev/sda3 1217 4255 24410767+ 83 Linux /dev/sda4 4256 9729 43969905 5 Extended /dev/sda5 4256 4380 1004031 82 Linux swap / Solaris /dev/sda6 4381 5597 9775521 83 Linux |
这个分区表提供了几条信息。首先,我们可以看到,第一个分区可能由别的操作系统使用。而且运行 mount 将提供更多信息:
% mount | head -1
/dev/sda3 on / type reiserfs (rw,noatime,notail,commit=600)
这说明,现有系统的根在 /dev/sda3。最令人感兴趣的可能是,/dev/sda4 分区一直延伸到柱面 9729,但是这个分区中的扩展分区只使用了此空间的一部分。
在查明硬盘上有一些空闲空间可用之后,我们使用 fdisk 在其中创建一个分区:
% fdisk /dev/sda
这个硬盘的柱面数量设置为 9729。这没有错,但是这个数值大于 1024,在某些情况下会由于以下方面的原因而导致问题: