C.5. Debian 分区程序

Debian 开发人员选用了几种在不同硬盘和不同体系结构上的分区程序。下面是一个适合您的体系的程序列表。

partman

推荐的 Debian 分区工具。这把瑞士军刀可以修改分区大小,创建文件系统(Windows 下的说法是 “format”)和关联分区至挂接点。

fdisk

最早的 Linux 磁盘分区工具,对于老手很好用。

请注意,如果您的机器上有一个 FreeBSD 分区。安装内核包含对这些分区的支持,但是 fdisk 表示他们的设备名称方式可能有所不同(也可能不是)。参阅 Linux+FreeBSD HOWTO

cfdisk

一个简单易用、全屏幕的磁盘分区程序。供其他人员使用。

请注意 cfdisk 完全不了解 FreeBSD 的分区,因此,再说一次,设备名称与结果可能不同。

当您选择了 Partition disks (或类似的),默认会执行其中的一个程序。在 VT2 命令行上也可以使用其他的分区工具,但不推荐采用这种方式。

要记得标记您的引导分区为 “Bootable”。

C.5.1. 为 64-bit PC 准备分区

如果您已经有 DOS 或 Windows 这样的其他操作系统存在,并想在安装 Debian 时保留它们,应该重新设置分区大小,释放空间给 Debian 安装程序。安装程序支持修改 FAT 和 NTFS 文件系统的尺寸;当您进入安装程序的分区步骤,选择 Manual 选项,然后只需选择已有的分区,更改其尺寸。

PC BIOS 通常会对磁盘分区加入一些额外约束。一个是限制单一磁盘可以包含多少个“主分区”和“逻辑分区”。还有,在 1994–98 前的 BIOS 里,限制 BIOS 可以引导的磁盘。详细的信息可以在 Linux Partition HOWTO 找到,但是本节将包含一个简单的介绍,帮助您在大多数情况下进行规划。

“主”分区是 PC 磁盘上最早的分区方案。但是,每个磁盘只能含有四个主分区。为了突破这个限制,发明了“扩展(extended)”和“逻辑”分区。通过将一个主分区设置为扩展分区,您可以把其他的空间分配到其中划分成逻辑分区。您可以为每个扩展分区分配多至 60 个逻辑分区;但是每个磁盘只能含有一个扩展分区。

对于 SCSI 来说,Linux 限制每个驱动器最多有 255 个分区(3 个可用的主分区,252 个逻辑分区)。对于 IDE 来说可以有 63 个分区(3 个可用的主分区,60 个逻辑分区)。但是对于普通的 Debian GNU/Linux 版本,系统只支持 20 个分区设备,因此您不能安装超过 20 个的分区,除非您首先为这些分区手工创建了设备文件。

如果您有一个大的 IDE 磁盘,并且既没有使用 LBA 寻址,也没有覆盖(overlay)驱动(硬盘制造商有时候提供此功能),那么引导分区(含有您内核映像的分区)必须放置在硬盘第一个 1024 柱面内(在没有 BIOS 转换的情况下,大约有 524MB)。

如果您的 BIOS 在 1995–98 年之后出现(取决于制造商),并且支持 “Enhanced Disk Drive Support Specification”,就没有这个限制。Linux 的引导程序 Lilo 和 Debian 的 mbr 都必须使用 BIOS 来从磁盘读取内核至内存。如果 BIOS int 0x13 大硬盘访问拓展被打开,则将被使用。否则会使用旧的传统磁盘访问接口,而且不能找到任何大于 1023 的柱面。一旦 Linux 引导后,不管您的计算机 BIOS 是什么,这些限制都不再起任何作用,因为 Linux 并不使用 BIOS 来进行磁盘寻址。

如果您有一个大硬盘,您也许必须使用柱面转换(cylinder translation)技术。它可以在 BIOS 设置程序中打开,比如 LBA (Logical Block Addressing) 或者 CHS 转换模式(“Large”)。关于大硬盘的各种问题可以在 Large Disk HOWTO 下找到。如果您正在使用一个柱面转换方案,并且 BIOS 并不支持大硬盘访问拓展,您的引导分区必须放置在转换后的 1024 柱面内。

解决这个问题的推荐方法,是在磁盘开始处创建一个小的(25–50MB 足矣)分区来作为引导分区。并且在其余地方创建另外的分区。这个引导分区必须挂载到 /boot 下,因为它是放置 Linux 内核的地方。这样的设置将可以在任意系统上工作,不管 LBA 或者大硬盘 CHS 转换是否起作用,甚至也不管您的 BIOS 是否支持大硬盘访问扩展。