- 论坛徽章:
- 1
|
- 装置的代号由 0 开始算,第一个 IDE 硬盘的代号是 ad0,第二个是 ad1,依此类推。如果您有一个 IDE 硬盘,则可以在 /dev/ 中看到一个档名为 /dev/ad0 的装置文件。
- 大多数的操作系统都支持将一个硬盘分割成多个扇区,以 Windows 而言,我们可以将一个硬盘分割成 C:、D: 等多个扇区。在 Windows 中,我们称这个分割区为 Partition。然而,在 FreeBSD 中,我们称之为 slice。不管是 Windows 的 Partition 或是 FreeBSD 的 slice,在这里我们统称为主要扇区。PC 架构下,BIOS 认得的主要扇区最多只有四个。
- FreeBSD 和其它操作系统不同的地方是我们会先分割在主要扇区 (slice) 下再细分成多个分割区,而这个细分之后的分割区才叫做 Partition。以下面这个图为例:
- 图 6-1
- 我们看到第一个主要扇区是 Windows 用的掉的,它在 FreeBSD 中的代号是 ad0s1,而第二个主要扇区是 FreeBSD 所使用,其代号是 ad0s2,代号 s1、s2 指的就是主要扇区 slice 1 及 slice 2。而在 ad0s2 这个主要扇区中,我们又细分为三个分割区,分别是 ad0s2a、ad0s2b 及 ad0s2d。
- 分割区代号 a、b、d 等在 FreeBSD 有一些规则:
- a:代号 a 通常会分配给根目录使用。
- b:代号 b 通常是给 swap 空间使用。
- c:代号 c 通常是代表整个主要扇区,所以不会被拿来使用。
- defgh:其它的代号都是可以被用在任何分割区上。以前代号 d 有一些特别用意,不过现在已经没有了。
- 所以当您看到一个分割区代号 ad0s1a 时,就可以知道它是第一个 IDE 硬盘 (ad0) 的第一个主要扇区 (ad0s1) 的第一个分割区 (ad0s1a)。
- 让我们回到硬盘分割区和目录之间的关系。在 FreeBSD 中,硬盘分割区会被挂在目录下使用,例如下列的 df 指令输出结果:
- # df -h
- Filesystem Size Used Avail Capacity Mounted on
- /dev/ad0s1a 1.9G 389M 1.4G 21% /
- devfs 1.0K 1.0K 0B 100% /dev
- /dev/ad0s1d 989M 54K 910M 0% /var
- /dev/ad0s1e 4.8G 3.8G 657M 86% /usr
- /dev/ad1s1d 10.9G 149M 10.6G 1% /usr/local
- 我们可以看到分割区 ad0s1a 是挂在根目录 (/) 下,而 ad0s1d 挂在 /var 中。上述 df 指令输出的范例中,/、/dev、/var、/usr 等都是磁盘分割区的挂入点 (mount points)。下图即为分割区示意图:
- 图 6-2
- 除了根目录外,每一个挂入点都可以被卸载。例如 ad1s1d 被挂在 /usr/local 中,我们可以动态卸载它。/usr/local 在挂入磁盘分割区前,它可能空的或是已经有一些档案或目录,但挂入后,我们看到该目录中的东西会全部变成存在于 ad1s1d 这个硬盘中的数据。通常这些系统用的挂入点在还没挂入磁盘前都是一些空目录,而挂入后才会出现该目录下的其它档案及数据。以 /var 为例,在挂入前它是空的目录,而挂入后,才会出现 db、mail 等目录。
- 请注意,挂入点和磁盘分割区之间并没有什么特殊关联。例如,如果您有二个挂入点 /volume1 及 /volume2,而有二个分割区 ad0s1d 及 ad0s1e,您可以任意将 ad0s1d 挂在 /volume1 或 /volume2。以上图中的挂入点为例,您也可以将 ad1s1d 挂在 /mnt 下,只是 ad1s1d 这个分割区原本是挂在 /usr/local 下,已有一些 /usr/local 下的目录结构及数据,所以还是挂在 /usr/local 下才不会有系统档案找不到的问题。
复制代码 |
|