This appendix is not necessarily applicable to non-x86-based architectures. However, the general concepts mentioned here may apply.
If you are reasonably comfortable with disk partitions, you could skip ahead to
第 A.1.4 节 “Making Room For Fedora”, for more information on the process of freeing up disk space to prepare for a Fedora installation. This section also discusses the partition naming scheme used by Linux systems, sharing disk space with other operating systems, and related topics.
硬盘功能极为简单 — 它们被用来可靠地储存及检索数据。
当讨论到诸如磁盘分区的问题时,了解一点底层的硬件是很重要的。不幸的是,我们往往容易拘泥于细节。因此,这个附录使用了磁盘的简化框图来帮助说明当磁盘被分区时真正发生的事情。
图 A.1 “未使用过的磁盘驱动器” 展示了崭新的,未被使用的磁盘情况。
没什么可看的,是不是?不过,若我们仅在一个最基本的层次上讨论磁盘驱动器,此图表已足够。假设我们要在这个磁盘驱动器上面储存一些数据,就目前而言,这还不行。我们首先要做一些准备工作。
A.1.1. 不是你写入什么,而是你怎么写入
有经验的计算机用户可能对此心中有数。我们需要格式化(format)这个驱动器。格式化又称“制作文件系统(file system)”,它是一个将信息写入驱动器,在未经格式化的驱动器内的空白空间中建立秩序的过程。
由于文件系统带来创建目录和文件的可能性,以上牺牲可以被看作所需付出的一个很小的代价。
It is also worth noting that there is no single, universal file system. As
图 A.3 “含有不同文件系统的磁盘驱动器”, shows, a disk drive may have one of many different file systems written on it. As you might guess, different file systems tend to be incompatible; that is, an operating system that supports one file system (or a handful of related file system types) may not support another. This last statement is not a hard-and-fast rule, however. For example, Fedora supports a wide variety of file systems (including many commonly used by other operating systems), making data interchange between different file systems easy.
当然,将文件系统写入磁盘仅仅是一个开端。这个过程的目标实际上是储存并且检索数据。写入一些文件后,让我们再来看一看磁盘。
如
图 A.4 “已写入数据的磁盘驱动器” 所示,某些之前的空数据块现在也存放着数据。然而,光看这个框图,我们不能确认有多少个文件系统在这个磁盘上。这有可能是一个,也有可能是多个,因为所有的文件都使用至少一个数据块而有些文件则使用多块。另外一个值得注意的地方是,已经被使用的块不需要组成连续的空间;未使用的和已使用的块可以散布着排列。这被称作
fragmentation。当试图调整现存分区的大小时,Fragmentation 会起到它的作用。
如同许多与计算机相关的科技,磁盘驱动器自问世后一直在不断地变化。特别是,它们越来越大。不是实际尺寸越来越大,而是它们储存信息的能力越来越大。这种新增的容量导致了磁盘驱动器使用方法的根本改变。
A.1.2. 分区:将一个驱动器变成多个驱动器
由于磁盘驱动器容量的不断增大,一些人开始质问将所有格式化的空间并为一大块是否明智。这一类想法的动机有哲学上的,也有技术上的。从哲学角度上讲,一个较大的磁盘驱动器所提供的额外空间若超过了一定的大小似乎只会造成更多的杂乱无章。从技术角度上讲,某些文件系统不是为支持大于一定容量的磁盘驱动器而设计的。或者,某些文件系统可能会支持拥有巨大容量的较大的驱动器,但是由文件系统跟踪文件所强加于上的管理费用也随之变得过高过大。
解决这个问题的办法是将磁盘划分为分区 (partition)。每一分区都可以像一个独立的磁盘一样被访问。这是通过添加分区表(partition table)来做到的。
Note
虽然本章图表中所显示的分区表和实际磁盘驱动器是分开的,这并不完全正确。事实上,分区表被保存在磁盘的最起首,在任何文件系统或用户数据之前。但是为了清楚起见,我们在图表中将之分开。
如
图 A.5 “带有分区表的磁盘驱动器” 所示,分区表被分成 4 个部分或者说是 4 个
primary 分区。主分区是硬盘上的可以只包含一个逻辑分区(或部分)的分区。每个分区都存放着定义单一分区的必要的信息,这意味着分区表最多可以定义 4 个分区。
每个分区表项目都包含着该分区的几项重要的特征:
让我们来仔细查看一下每一个特征。起止点实际上定义了分区的大小及在磁盘上的位置。“活跃”标志是被某些操作系统的引导装载程序所用。换一句话说,标为“活跃”的分区上的操作系统将会被引导。
分区类型可能有些不易分辨。 类型是标识分区将会被如何使用的数字。如果这句话听起来有些笼统,那是因为分区类型术语本身也有些笼统。某些操作系统用分区类型来代表一种指定的系统类型,或将分区标为与某个操作系统相关联的分区,或用来指明该分区包含着可引导的操作系统,或是以上三者的结合。
在许多情况下,整个磁盘上只有一个分区,基本上是重复分区以前所使用的方法。分区表内只有一个项目,它指向分区的起点。
我们已经把这个分区标记为 "DOS" 类型。虽然这只是
表 A.1 “Partition Types” 里列出的可能类型里的其中一种,但对于这里的讨论来说,这已经足够了。
Partition Type
|
Value
|
Partition Type
|
Value
|
---|
Empty
|
00
|
Novell Netware 386
|
65
|
DOS 12-bit FAT
|
01
|
PIC/IX
|
75
|
XENIX root
|
02
|
Old MINIX
|
80
|
XENIX usr
|
03
|
Linux/MINUX
|
81
|
DOS 16-bit <=32M
|
04
|
Linux swap
|
82
|
Extended
|
05
|
Linux native
|
83
|
DOS 16-bit >=32
|
06
|
Linux extended
|
85
|
OS/2 HPFS
|
07
|
Amoeba
|
93
|
AIX
|
08
|
Amoeba BBT
|
94
|
AIX bootable
|
09
|
BSD/386
|
a5
|
OS/2 Boot Manager
|
0a
|
OpenBSD
|
a6
|
Win95 FAT32
|
0b
|
NEXTSTEP
|
a7
|
Win95 FAT32 (LBA)
|
0c
|
BSDI fs
|
b7
|
Win95 FAT16 (LBA)
|
0e
|
BSDI swap
|
b8
|
Win95 Extended (LBA)
|
0f
|
Syrinx
|
c7
|
Venix 80286
|
40
|
CP/M
|
db
|
Novell
|
51
|
DOS access
|
e1
|
PPC PReP Boot
|
41
|
DOS R/O
|
e3
|
GNU HURD
|
63
|
DOS secondary
|
f2
|
Novell Netware 286
|
64
|
BBT
|
ff
|
表 A.1. Partition Types
A.1.3. 分区内的分区 — 扩展分区概述
经过一段时间后,四个分区很明显将不够用。随着磁盘驱动器的不断增大,配置了四个相当大的分区后仍有剩余空间的可能性会越来越大。我们需要有一些创建更多分区的方法。
输入扩展分区。你可能已经注意到了,
表 A.1 “Partition Types” 里有一个 "Extended" 分区类型。扩展分区里处于核心地位的就是这个类型。
当分区被创建且类型被设置为 "Extended," 时,扩展分区表就会被建立。实质上,扩展分区就象是它右边的一个磁盘 — 它有指向完全包含在扩展分区里的一个或多个分区(和 4 个
primary partitions 相反,这被称作
logical partitions)的分区表。
图 A.7 “带有扩展分区的磁盘驱动器” 展示了有一个主分区和一个包含两个逻辑分区的扩展分区的磁盘(还有一些未被分区的空闲空间)。
如图表中所暗示,主分区与逻辑分区之间有一个区别 — 主分区只能有四个,但是可以存在的逻辑分区数量却无固定限制。不过,鉴于 Linux 进入分区的方式,你应该避免在一个磁盘驱动器上定义 12 个以上逻辑分区。
Now that we have discussed partitions in general, let us review how to use this knowledge to install Fedora.
A.1.4. Making Room For Fedora
当你试图为你的硬盘重新分区时,有三种可能的情况:
让我们依次来看一看每一种情况。
Note
Keep in mind that the following illustrations are simplified in the interest of clarity and do not reflect the exact partition layout that you encounter when actually installing Fedora.
A.1.4.1. 使用未经分区的空闲空间
如果细想一下,你就会认识到一个未经使用的硬盘也属这种类型。唯一的区别是后者的全部空间都不属于任何定义的分区。
In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Fedora). Most pre-installed operating systems are configured to take up all available space on a disk drive (refer to
第 A.1.4.3 节 “使用活跃分区中的空闲空间”).
接下来,我们将讨论一种更普遍的情况。
A.1.4.2. 使用一个未使用过的分区中的空间
如果你发现自己处于这种情况,你可以使用那些拨给未使用分区的空间。首先,你应该删除该分区,然后在其上创建相应的 Linux 分区。你可以在安装过程中删除未用分区,然后再手工创建新分区。
A.1.4.3. 使用活跃分区中的空闲空间
这是最常见的情况。不幸的是,这也是最难处理的情况。主要问题是,即便你有足够的空闲空间,它们目前已被分配给一个正在使用中的分区。如果你购买了一个带有预装软件的计算机,很可能整个硬盘是一个单个的带有操作系统和数据的大分区。
除了给你的系统添加一个新硬盘驱动器外,你还有以下两种选择:
-
破坏性重新分区
简而言之,这种方法让你删除一个大分区而创建几个小一些的分区。你可能想象得到,贮存在原来分区上的所有数据将会被破坏。这意味着你有做完全备份的必要。为你自己的利益着想,请做两个备份,并校验(如果你的备份软件提供了的话)这些备份,在你删除分区之前试着从你的备份中读取数据。
Warning
如果该分区上装有某类操作系统,该操作系统也需要被重新安装。需要注意的是,那些带有预装操作系统售出的计算机可能没有包括重装该系统所需的光盘介质。请在破坏你的原有分区及原有操作系统之前觉查到这一点。
After creating a smaller partition for your existing operating system, you can reinstall any software, restore your data, and start your Fedora installation.
图 A.10 “被破坏性重新分区的磁盘驱动器” shows this being done.
-
非破坏性重新分区
这要求你运行一个似乎可以“为所不可为”的程序:它会把大分区变小,却不会丢失该分区上的原有文件。许多人都发现这个办法既可靠又简单可行。但是哪一个软件可以帮助你达到这一目的呢?在软件市场上有好几种磁盘管理软件。你应该做一番调查来找到最适合你的情况的一种。
非破坏性分区过程是非常直捷了当的,它包括以下几个步骤:
压缩和备份现存数据
重新划分现存分区的大小
创建新分区
接下来,我们将详细说明每一步骤。
这一步骤至关重要。不执行这一步骤,你的数据所在位置可能会阻止分区被重新划分为想要的大小。还请注意的是,由于某种原因,某些数据不能被移动。如果情况如此(这会严重地限制你的新分区的大小),你可能会被迫在你的磁盘上进行破坏性重新分区。
A.1.4.3.2. 重新划分现存分区的大小
理解你所使用的重新分区软件对新空出的空间的操作是很重要的,只有这样,你才能正确地采取相应措施。在我们示范的情况中,最佳措施是删除新建的 DOS 分区,然后创建恰当的 Linux 分区。
如前面的步骤所暗示的,创建新的分区有可能是也可能不是必需的。然而,除非用来调整大小的软件是 Linux 软件,否则你很可能必须删除在调整大小过程中创建的分区。
图 A.13 “带有最终分区配置的磁盘驱动器” 里展示了这种情况。
Note
下列信息是基于 intel 的计算机所特有的。
为了方便用户,我们提供了 parted
工具。它是一个可免费获得的重新划分分区大小的程序。
如果你决定使用 parted
来重新给你的硬盘驱动器分区,你必须熟悉磁盘贮存区,并备份了你的计算机上的数据。这一点至关重要。你应该给你的计算机上重要的数据做两个备份。这些备份应该保存在可移介质上(如磁盘、光盘或磁带),而且你应该在继续前确定它们可以被读取。
Should you decide to use parted
, be aware that after parted
runs you are left with two partitions: the one you resized, and the one parted
created out of the newly freed space. If your goal is to use that space to install Fedora, you should delete the newly created partition, either by using the partitioning utility under your current operating system or while setting up partitions during installation.
Linux 使用字母和数字的组合来指代磁盘分区。这可能有些使人迷惑不解,特别是如果你以前使用“C 驱动器”这种方法来指代硬盘及它们的分区。在 DOS/Windows 的世界里,分区是用下列方法命名的:
每个分区都被检查过以便判定它是否可被 DOS/Windows 读取。
如果分区类型是兼容的,它会被指派给一个“驱动器字母”。驱动器字母从“C”开始,然后依据要标签的分区数量而按字母顺序推移。
驱动器字母可以用来指代那个分区,也可以用来指带分区所含的文件系统。
Fedora uses a naming scheme that is more flexible and conveys more information than the approach used by other operating systems. The naming scheme is file-based, with file names in the form of /dev/xxyN
.
下面说明了解析分区命名方案的方法:
/dev/
这个字串是所有设备文件所在的目录名。因为分区位于硬盘上,而硬盘是设备,所以这些文件代表了在/dev/
上所有可能的分区。
xx
分区名的前两个字母标明分区所在设备的类型。通常是 hd
(IDE 磁盘)或 sd
(SCSI 磁盘)。
y
这个字母标明分区所在的设备。例如,/dev/hda
(第一个 IDE 磁盘)或 /dev/sdb
(第二个 SCSI 磁盘)
N
最后的数字代表分区。前四个分区(主分区或扩展分区)是用数字从 1
排列到 4
。逻辑分区从 5
开始。例如,/dev/hda3
是在第一个 IDE 硬盘上的第三个主分区或扩展分区;/dev/sdb6
是在第二个 SCSI 硬盘上的第二个逻辑分区。
Note
There is no part of this naming convention that is based on partition type; unlike DOS/Windows, all partitions can be identified under Fedora. Of course, this does not mean that Fedora can access data on every type of partition, but in many cases it is possible to access data on a partition dedicated to another operating system.
Keep this information in mind; it makes things easier to understand when you are setting up the partitions Fedora requires.
A.1.6. 磁盘分区以及其它操作系统
If your Fedora partitions are sharing a hard disk with partitions used by other operating systems, most of the time you will have no problems. However, there are certain combinations of Linux and other operating systems that require extra care.
令许多 Linux 的新用户感到困惑的一个地方是各分区是如何被 Linux 操作系统使用及访问的。它在 DOS/Windows 中相对来说较为简单。每一分区有一个“驱动器字母”,你用恰当的驱动器字母来指代相应分区上的文件和目录。
这与 Linux 处理分区及磁盘贮存问题的方法截然不同。其主要的区别在于,Linux 中的每一个分区都是构成支持一组文件和目录所必需的贮存区的一部分。它是通过挂载(mounting)来实现的,挂载是将分区关联到某一目录的过程。挂载分区使起始于这个指定目录(通称为挂载点,mount point)的贮存区能够被使用。
For example, if partition /dev/hda5
is mounted on /usr/
, that would mean that all files and directories under /usr/
physically reside on /dev/hda5
. So the file /usr/share/doc/FAQ/txt/Linux-FAQ
would be stored on /dev/hda5
, while the file /etc/gdm/custom.conf
would not.
继续以上的例子,/usr/
之下的一个或多个目录还有可能是其它分区的挂载点。例如,某个分区(假设为,/dev/hda7/
)可以被挂载到 /usr/local/
下,这意味着 /usr/local/man/whatis
将位于 /dev/hda7
上而不是 /dev/hda5
上。
At this point in the process of preparing to install Fedora, you must give some consideration to the number and size of the partitions to be used by your new operating system. The question of "how many partitions" continues to spark debate within the Linux community and, without any end to the debate in sight, it is safe to say that there are probably as many partition layouts as there are people debating the issue.
记住,我们推荐,除非你有特殊的原因,你应该至少创建下面的分区:swap
、/boot/
(或者是用于 Itanium 系统的 /boot/efi/
分区)、用于 Itanium 系统的 /var/
分区以及 /
(根分区)。