B.5. Debian 分区程序

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

partman

推荐的 Debian 分区工具。这个小而全的工具也可以创建文件系统 (在 Windows 下的说法是 "格式化" speak) 。 以及联系分区至挂接点。

fdisk

原始版本的 Linux 磁盘分区工具,对于高手很好用;请阅读 fdisk 手册页 .

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

cfdisk

一个简单易用,给其它人使用的全屏幕磁盘分区程序;请阅读 cfdisk 手册页

请注意 cfdisk 完全不了解 FreeBSD 的分区,因此,再一次设备 名称可能最后有所不同。

当你选择 对硬盘进行分区 时这些程序之一 将会运行。如果缺省运行的那个并非你所希望的,退出分区程序,在 shell (tty2) 下按下 Alt 以及 F2 ,并且手工输入你想使用的程序名称 (以及可能的参数)。然后 在 debian-installer 下跳至 对硬盘进行分区 步骤继续进行。

如果你的 ide 磁盘上会超过多过20个分区,你将需要为21以上的分区创建设备文件。这种情况下如果 只是一个普通的设备文件则下一步初始化分区将失败。做为一个例子,这里列举了相关的命令让你可以在 tty2 中使用或者在运行一个 Shell 下加入一个设备文件令多于21个 的分区能够被初始化。

cd /dev
mknod hda21 b 3 21 
chgrp disk hda21
chmod 660 hda21

除非在目标系统上有合适的设备名称,引导一个新的系统将会失败。在安装完内核和模块以后,执行:

cd /target/dev
mknod hda21 b 3 21 
chgrp disk hda21
chmod 660 hda21

记住标记你的引导分区为 ``Bootable''。

B.5.1. 为 Intel x86 准备分区

PC BIOS 一般会对磁盘分区加入一些约束。比如一个磁盘驱动可以含有 多少个 "主 (primry) " 分区 以及多少个 "逻辑 (logical)" 分区。 在 1994-1998 年的 BIOS 里,还有关于 BIOS 能够 从什么地方引导的限制。更多的相关信息可以在 Linux Partition HOWTO 以及 Phoenix BIOS FAQ 中找到。 但是这一节将包含一个简单的介绍来帮助在大部分情况下进行规划。

"Primary" 分区是 PC 磁盘上最原始的分区方案。但是,每个磁盘只能含有四个主分区。 为了突破这个限制,发明了 " 拓展 (extended)" 以 及 "逻辑 (logical)" 分区。通过设置一个主分区为拓展分区,你 可以把它相关的分区划分成逻辑分区。你最多可以为每个拓展分区分配多至 60 逻辑驱动器;但是每个磁盘 你只能含有一个拓展分区。

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

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

如果你的 BIOS 在 1995-98 年之后出现 (取决于制造商) 并且支持 "Enhanced Disk Drive Support Specification" ,这个限制并不有效。 Lilo,Linux Loader 以及 Debian's 的方案 mbr 必须使用 BIOS 来 从磁盘读取内核至内存。如果 BIOS int 0x13 大硬盘访问拓展被打开,则将被使用。否则会使用遗留 的磁盘访问界面,并且它不能找到任何大于 1023rd 柱面。一旦 Linux 被引导后,不管你的计算机 BIOS 是什么,这些限制将不再起任何作用,因为 Linux 并不使用 BIOS 来进行磁盘寻址。

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

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