FreeBSD的硬盘分隔策略

3/28/2005来源:FreeBSD教程人气:14570

在你开始安装以前, 你必须决定你要用多大的硬盘空间来装 FreeBSD, 而且必须决定你的 partition 应该如何分割. 因为一旦你装完了以後, 你想改变一个 partition 的大小就必须把资料备份出来再重新format. 
基本上, 你必须准备一个 PRimary partition 给 FreeBSD, *BSD 传统上只能装在 primary 上. FreeBSD 已经过修改可以使用 logical, 但开机区还是必须是 primary. 以下的安装都假设你只使用一个 primary partition. 

1. FreeBSD 如何看待一个 primary partition (slice) ? 
FreeBSD 称呼 primary partition 叫 slice, 一个硬盘只能有四个slice, 而 FreeBSD 能把其中一个 slice 分成八个小分割区. 这些分割区称做 a,b,c,d,e,f,g,h, 对 FreeBSD 而言, c: 指那个slice 的全部大小, 因此 c: 是不能用的. 传统上的 BSD 的 a: b: c: 是有特殊意义的... 
    a : root partition 
    b : swap partition 
    c : 整个 BSD slice 
    d : 整个硬盘 
    e,f,g,h 则没有特殊意义可以任意使用. 
但是在 2.0.5-RELEASE 以後, FreeBSD 发展新的 slice 观念, 使的只有 c 内定称为整个 BSD slice, a,b,d,e,f,g,h 都可以自由使用而没有限制. (但是一般还是遵循传统观念, a: root, b: swap 
efgh: others) FreeBSD 把这些分割资讯储存在 BSD slice 中的 label 里, 下图是一个简易说明 : (假是你只使用两个 primary) 

+-----------+ 
| MBR-table | 
+-----------+ +---------+ 
| Slice 1 | -----> | MSDOS | 
+-----------+ +---------+ 
| Slice 2 | 
+-----------+ +-------------------+ 
| Slice 3 | -----> | FreeBSD-disklabel | 
+-----------+ +-------------------+ +-----------------+ 
| Slice 4 | | Partition A | -----> | Root-filesystem | 
+-----------+ +-------------------+ +-----------------+ 
| Partition B | --- 
+-------------------+ \ +----------------+ 
| Partition C | --> | swap-partition | 
+-------------------+ +----------------+ 
| Partition D | 
+-------------------+ +-----------------+ 
| Partition E | -----> | /home | 
+-------------------+ +-----------------+ 

以 sd0 来说, Slice 1 就是 /dev/sd0s1, Slice 2 就是 sd0s2, 而上图的 Slice 3 是 BSD slice, 其中的区块就是 sd0s3a, sd0s3b 到 sd0s3h 等等. 不过要注意的是, 对於 非BSD 的 slice, 是没有 a,b,c,d 等等的, 如 Slice 1 是 DOS, 则 Slice 1 只有 sd0s1, 没有 sd0s1a, 因为 a,b,c,d 是 BSD label 自己定义的, 没有 label 的 slice 就没有 a,b,c,d. 
如果你有 logical, 则他们会是 slice 5,6,7 (sd0s5,sd0s6,sd0s7) 

硬盘分割策略 !! 

策略一 (强烈建议) : 
如果你是 FreeBSD 的新使用者, 我建议只把你的 BSD slice 分割成为两个区块, 一个是 a, 当做 root partition 放所有档案, 另一个是 b, 当做 swap. (当然 a 要够大, 比方说 150MB) 

策略二 : 
如果你有比较大的硬盘, 你可以割成较多的区块, 比方说 : 
    * partition-A : 100MB for / (含 /bin /sbin /etc /var kernel) 
    * partition-B : 32+MB for swap 
    * partition-G : 100MB for /usr/local and /usr/local/X11R6 
    * partition-H : ??MB for /home 
这样分割的话你可以失去你的 partition-A 而不心疼, 因为重要资料跟自己的东西都在其他区块. 你甚至可以任意重新安装而不会毁坏 /home 跟 /usr/local (含 X11R6). 

策略三 : 
如过你想用 BSD 传统的分割法, 这是 diskspace.FAQ 中所建议的, 不过这些建议值都是安装大小, 你一定要再预留空间放你自己的东西. 
    / 20Mb 
    /var 20Mb 
    /usr 50Mb 
    /usr/X11R6 50Mb 

2. 在你决定你的 primary partition 要怎样分割後, 你可以开始安装了, 在你熟悉 FreeBSD 後, 你可以重装几次以取得你的最佳分割法. 

3. 因为 FreeBSD 有根据 BSD 传统来放目录跟档案, 因此你应该把你自己的东西放在 /usr/local 下, 不要像 linux 一样把东西到处乱丢. 如果你保持好习惯, 你在重新安装时, 或是更新版本时将会发现那是非常轻松的一件事, 而这却是 linux 使用者的一大梦靥.