Handbook:AMD64/Blocks/Disks/zh-cn

Partition tables
虽然理论上可以用一整块磁盘来安装一个Linux系统，但是实践中几乎从不这样做. 实际上，一块磁盘可以被分成小一些的、更容易管理的块设备. 在 系统里，这被称为分区. 有两个标准的分区技术可以被使用：MBR和GPT.

MBR
主引导记录MBR (Master Boot Record)对分区的起始扇区和长度使用32比特的标识符，它支持三种分区类型：主分区、扩展分区和逻辑分区. 主分区把它们的信息存储在主引导记录里一个非常小的空间里，通常是512字节，因为这个空间太小了，所以系统只支持四个主分区. （例如从 到）

为了支持更多的分区，其中一个主分区可以被标识成扩展分区，然后这个分区就可以包含逻辑分区了（分区里的分区）.

每个分区的尺寸被限制在2TB，这是由于32比特的标识符造成的. 另外MBR不提供任何的MBR备份，所以一旦被某个应用或者用户误写覆盖了，所有的分区信息将会丢失.

GPT
GTP(GUID Partition table)为分区使用64比特标识符，它用来存储分区信息的空间也远比MBR的512字节要大，它也不对分区的数量作限制. 分区的大小限制可以达到8ZB. 译者注： 1ZiB = 1,024 EiB 1ZiB = 1,048,576 (1024)PiB 1ZiB = 1,073,741,824 (1024)TiB 1ZiB = 1,099,511,627,776 (1024)GiB 1ZiB = 1,125,899,906,842,624 (1024)MiB 1ZiB = 1,152,921,504,606,846,976 (1024)KiB 1ZiB = 1,180,591,620,717,411,303,424 (1024)B

当操作系统和系统固件之间的软件接口是UEFI (相对于BIOS)时，GPT几乎是必选的，因为MBR会引起很多兼容性问题.

GPT还有一个优势在于它在磁盘的盘尾还有一个GPT的备份，它可以用于在硬盘盘首的主GPT损坏时进行数据恢复. GPT仍旧使用CRC32校验和来探查分区表中的错误.

GPT还是MBR
依据上面的描述，人们大概会认为使用GPT应该总是被推荐的方法，但是这里其实还有一些注意事项.

在一台基于BIOS的计算机上使用GPT虽然是能够工作的，但是那样你就不能与微软的Windows操作系统进行双重引导了，原因是微软的Windows如果检测到一个GPT分区标签，它就会以EFI模式进行引导.

一些存在bug的BIOS或者配置成以BIOS/CSM/legacy模式进行引导的EFI也对从GPT标签的磁盘进行引导支持不好. 如果您也碰到了这种情况，有一个可能的凑合办法：在被保护的MBR分区上加上boot/active标志，您可以使用带有 选项的 命令强制它使用MBR格式读取分区表.

在这个例子中，我们用 并敲击 键来切换分区的（是否是活动的）标记. 敲击 键来选择第一个分区，然后敲击键来将所作改动写入磁盘，最后退出 这个程序.

使用UEFI
当在一个使用了UEFI（替代BIOS）进行引导作业的系统上安装Gentoo时，很重要的一点是一个EFI的系统分区需要被创建. The instructions for below contain the necessary pointers for this.

EFI系统分区也需要是一个FAT32分区（在Linux系统里也被称为“vfat”）. 这一章节末尾的指导中以“ext2”分区格式为例作为了 的分区. 请确保使用“vfat”，就像这样：

Btrfs RAID
As noted above, btrfs has the ability to create filesystems across multiple devices. Btrfs filesystems generated in this way can act in the following modes: raid0, raid1, raid10, raid5, and raid6. RAID modes 5 and 6 have improved considerably, but are still considered unstable. After a multiple device filesystem has been created, new devices can be added and old devices removed in a few commands. Btrfs takes more involvement than other filesystems making it not as friendly to beginners.

ext4 filesytems can be converted into btrfs filesystems, which may be useful for those who'd like to install Gentoo with a stable, well tested filesystem and gradually increase their knowledge about newer filesystems such as btrfs by experimentation.

LVM2
安装CD提供了对LVM2的支持. LVM2增加了分区设置的灵活性，在这份安装指导中，我们将聚集在“常规”分区上，但是得知LVM2也被支持总是好的.

默认分区方案
一直到这份指南的末尾，下面的分区方案将被使用. 如果对此您没有疑问，您可以直接跳到 Default: Using parted to partition the disk 或者 Alternative: Using fdisk to partition the disk. 它们都是分区工具，是众所周知的、稳定且被推荐用于MBR分区的部署，而是新近开发的，同时被推荐用于GPT分区的部署.

If this suffices and the reader going the GPT route they can immediately jump to Default: Using parted to partition the disk. Those who are still interested in MBR (hey - it happens!) and using the example layout can jump to Alternative: Using fdisk to partition the disk.

Both and  are partitioning utilities. is well known, stable, and recommended for the MBR partition layout while was one of the first Linux block device management utilities to support GPT partitions. Those who like the user interface of can use  (GPT fdisk) as an alternative to.

在进行创建分区的指导之前，关于分区方案和常见陷阱我们会先介绍更多的细节.

什么是BIOS引导分区？
BIOS引导分区是一个非常小的分区（1到2MB），引导器软件如GRUB2可以将不适于存放在引导扇区（MBR中只有几百个字节）里并且不能存放在其它位置的额外数据存放于此.

这种分区并不总是需要的，但是考虑到低地址空间消耗以及记录大量不同的分区的难度，我们建议最好还是创建一个.

为了完整，当GPT分区方案与GRUB2一起使用，或者当MBR分区方案与GRUB2一起使用且第一个分区开始于磁盘上1MB位置之前时，BIOS引导分区是需要的.

默认：使用parted对磁盘进行分区
在这一章里，之前提到的分区方案范例将被使用：

您可以根据您的实际需要调整您的分区方案.

使用parted查看当前分区布局
这个应用为磁盘分区提供了一个简单的接口，而且它支持很大的分区空间（超过2TB）. 用 来搞磁盘吧（在我们的例子中，它是）. 我们建议您让 来优化分区对齐：

对齐意思就是分区在磁盘上开始于一个众所周知的边界，从而确保操作系统层面（从磁盘获取页面）使用最少的磁盘内部开销. 没有对齐的分区可能需要磁盘去抓取两个页面而不是一个，即使操作系统只请求了一个页面.

要了解parted支持的所有选项，敲 然后回车.

设置GPT标签
大部分或架构的磁盘是以“msdos”标签被准备出来的. 如果使用 ，在磁盘上设置一个GPT标签的命令为:

为了让磁盘使用MBR分区布局，使用 命令.

使用parted移除全部分区
如果这一步（之前用过 操作或磁盘本来就是崭新的），首先请移除磁盘上所有已经存在的分区. 输入命令可以查看当前的分区信息， 中NUMBER就是需要移除的分区号码.

对其它不需要的分区采取同样的操作. 但是在这里请确保不要犯任何错误，因为parted是立即执行改变的，这一点不像是分步操作，允许用户在保存或者退出fdisk时可以"undo".

创建分区
现在我们就来创建分区. 用 命令创建分区不是很难，我们只需要告诉parted如下这些设置：


 * 要使用的分区类型. 通常是“Primary”. 如果您用的是msdos分区标签，请注意最多只有4个主(Primary)分区能够被使用. 如果您需要使用多于4个分区，请使用其中的一个主分区将其转换为扩展分区以便在其中创建足够使用的逻辑分区.
 * 分区的开始位置（可以被表示为MB, GB, ...）
 * 分区的结束位置（可以被表示为MB, GB, ...）

首先，要告诉parted我们工作要使用的容量单位是megabytes（实际上是mebibytes，其标准缩写符号是MiB，但是我们会通篇使用MB因为它用得更普遍一些）

现在我们创建一个2MB的分区，它后面将被GRUB2引导器使用. 使用 完成这个操作，并且通知 从1MB开始到3MB结束（创建一个大小为2MB的分区）.

同样地创建引导分区（128MB），交换分区（在这个例子中是512MB）和使用了剩下所有磁盘空间根分区（结束位置被标记为-1，意味着磁盘尾部减去1MB，那里是分区最远能够所达之处）

当使用UEFI接口来引导系统时（取代BIOS），要将引导分区标识为EFI系统分区. 当“boot”选项在这个分区被设置时，Parted可以自动完成此事.

分区结果看起来就像下面这样：

使用 命令退出parted.

备选：使用fdisk对磁盘进行分区
下面的部分解释了怎样使用来创建范例分区布局，范例分区布局我们在前面已经提到过了.

请您根据自己的实际需要来调整您的分区布局.

查看当前分区布局
是一个流行的和强大的分区工具. 用向磁盘开火吧！（在我们的例子里，我们使用）:

使用 键来显示磁盘当前的分区配置.

这块特定的磁盘被配置为容纳了7个Linux文件系统（每一个文件系统各对应于一个被标识为“Linux”的分区）以及一个交换分区（被标识为“Linux swap”）

使用fdisk移除全部分区
首先从这个磁盘移除所有现存的分区. 按 来删除一个分区. 例如删除一个已经存在的 ：

这个分区已经计划被删除了，当您用键打印分区清单时它将不会被显示了，但此时它还未被实际删除，直到改变被真正保存. 这将允许用户在操作错误后中止——此时，敲击键并回车可以立即防止分区被删除.

重复敲击 来打印分区清单，然后敲击 键和分区号码来删除它. 最终，分区表将变得空空如也.

现在在内存中的分区表已经空了，我们是时候来创建分区了.

创建BIOS引导分区
首先创建一个很小的BIOS引导分区. 敲击 键来创建一个新分区，然后敲击 键来选择是主分区类型，后面跟一个 键来选择是第一个主分区. 当提示“first sector”选项时，请确保它开始于2048（这是引导器所必须的）然后敲回车. 当提示“last sector”时，键入+2M来创建一个大小为2Mbyte的分区.

构造分区用于EFI：

创建引导分区
首先创建一个很小的BIOS引导分区. 敲击 键来创建一个新分区，然后敲击 键来选择是主分区类型，后面跟一个 键来选择是第二个主分区. 当提示“first sector”选项时，敲回车以接受默认值. 当提示“last sector”时，键入+128M来创建一个大小为128Mbyte的分区.

现在，当敲击 键时，下面的分区信息将被显示：

敲击 键来切换一个分区是否为可引导的标记，然后敲击. 之后再一次敲 键，您可以发现一个“*”被放置于相应分区的“boot”列.

创建swap分区
为了创建交换分区，敲击 来创建一个新分区，然后是  键来告诉fdisk要创建一个主分区. 然后敲击 来创建第三个分区，. 当提示输入“ the first sector”时，敲击 键. 当提示输入“the last sector”时，键入+512M（或者按需给交换分区分配任意容量）来创建一个512MB大小的分区.

这些做完之后，敲击 来设置分区类型， 来选择刚刚创建的这个分区，然后敲击“82”设置分区类型为“Linux Swap”.

创建根分区
最后创建根分区，敲击 来创建一个新分区，然后敲击 告诉l  要创建一个主分区. 然后敲击 来创建第四个主分区. 当提示输入“the first sector”时，敲击. 当提示输入“the last sector”时，敲击来创建一个占用了所有剩余磁盘空间的分区. 完成这些步之后，敲击 ，会显示一张类似于下面的分区表：

保存分区布局
要保存分区布局并退出 ，请敲击.

当分区创建完成后，就该在其上部署文件系统了.