LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3849|回复: 18

【毁灭小贴士】分区布局篇

[复制链接]
发表于 2008-1-29 20:28:20 | 显示全部楼层 |阅读模式
本文目的并非讨论如何分配分区的大小,旨在探讨分区布局

多数情况下,Linux 最少会建立一个/ 及一个 swap 分区,(有些人不用 swap 或者采用多分区的另当别论),现在很多人在玩 Multi-distros 包括多版 Linux 或者多丛 OS 又或者由 windoze 转投 Linux,於是硬盘分区布局便值得考究了,我想用以下几个例子说明一下:

例1:
hda1 OS1
hda2 OS2
hda3 swap
hda5 OS3
hda6 OS4
hda7 OS5

swap 放在主分区,通常是最後一个主分区(hda3 之类),有一个好处,日後在逻辑分区上作任何变更的时候,可以不影响主分区上的系统

在这情况,假如要干掉 hda5 到 hda7 来重新规划,那麽只要把逻辑分区干掉即可,或我想将 hda5、hda6、hda7 重新 resize,操作也比较简单,建议采用

例2:
hda1 OS1
hda2 OS2
hda3 OS3
hda5 OS4
hda6 OS5
hda7 swap

swap 放在逻辑分区的最後一个,这种布局跟上面的差不多,要 resize hda5 及 hda6,只要先干掉 swap 分区,resize 後再重建 swap 分区也不难,起码干掉 swap 不怕有数据损失,这格局也尚算可取

例3:
hda1 OS1
hda2 OS2
hda3 OS3
hda5 OS4
hda6 swap
hda7 OS5

这种情况就麻烦了,假如要干掉 hda5 到 hda7 来重新规划,由於 swap 都要被干掉,那麽主分区上的系统都要再修正配置文件,另外如果想 resize hda5,麻烦就大了,因为即使 resize hda7 腾出空间,但 swap 却不能 relocate,结果是 hda5 仍是不能 resize 的,除非是先把 hda6 及 hda7 干掉!

不宜采用!

例4:
hda1 OS1
hda2 swap
hda3 OS2
hda5 OS3
hda6 OS4
hda7 OS5

swap 放在主分区,但这种编排可以算是最差劲的了,假如我发现 hda3 分区不够用要 resize 它,即使我在逻辑分区腾出空间来,主分区仍然是无法扩张的,可是如果 resize hda1,swap 在 hda2 又令 hda3 无法向下扩张,因此这种分区方可免则免!

最坏的情况下更可能要把所有逻辑分区上的 hda5 到 hda7 全部干掉才能重新规划,那可糟糕了!

希望本帖对各位有用,我在此抛砖引玉,如有其他方式或组合,欢迎讨论。

最後呼吁:任何分区扩大缩小都有危险性必需谨记:

1. 并非所有文件系统都支持 resize 的
2. 对重要数据先做好备份
3. 不要在当前系统下做任何 resize 操作,宜找张 LiveCD 如 SystemRescueCD、gparted LiveCD 之类来起动後再操作

谢谢观看 :)
发表于 2008-1-29 20:54:50 | 显示全部楼层
又见【毁灭】系列,不错不错
回复 支持 反对

使用道具 举报

发表于 2008-1-29 21:28:10 | 显示全部楼层
很有启发性啊!又易看懂,可谓深入浅出!

我现在的分区是

sda1 windows
sda2 windows data
sda4 windows data
sda5 linux os 1(通常是debian)
sda6 linux os 2(用来装各种版本的linux做实验)
sda7 swap
回复 支持 反对

使用道具 举报

发表于 2008-1-29 21:43:47 | 显示全部楼层
还是建议把swap作为一个文件来使用,虽然有些不方便。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-30 22:31:44 | 显示全部楼层
可是利用 swapfile 的话,不单不方便,其读写过程受制於文件系统,效能上也会打折扣。
回复 支持 反对

使用道具 举报

发表于 2008-1-31 18:39:10 | 显示全部楼层
多个linux可公用一个 swap 分区。我用的是 swap 分区,特定情况还是用得上 swap 文件的。
愚以为,重整理分区还是挪数据安全一些。
回复 支持 反对

使用道具 举报

发表于 2008-1-31 22:54:50 | 显示全部楼层
我的分区,感觉也好象很方便。

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xfde7fde7

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1264    10153048+   7  HPFS/NTFS
/dev/hda2            1265        2667    11269597+  af  Unknown
/dev/hda3            2668        8455    46492110    f  W95 Ext'd (LBA)
/dev/hda4            8456        9729    10233405   a5  FreeBSD
/dev/hda5            2668        2745      626503+  82  Linux swap / Solaris
/dev/hda6            2746        4518    14241591   83  Linux
/dev/hda7            4519        5921    11269566   83  Linux
/dev/hda8            5922        6699     6249253+   7  HPFS/NTFS
/dev/hda9            6700        8455    14105038+   b  W95 FAT32
回复 支持 反对

使用道具 举报

发表于 2008-2-1 08:13:52 | 显示全部楼层
我都是用swap文件的,那一点效率问题,实在感觉不出来。包括笔记本。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-2 15:49:42 | 显示全部楼层
Post by 松心心;1813199
我的分区,感觉也好象很方便。

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xfde7fde7

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1264    10153048+   7  HPFS/NTFS
/dev/hda2            1265        2667    11269597+  af  Unknown
/dev/hda3            2668        8455    46492110    f  W95 Ext'd (LBA)
/dev/hda4            8456        9729    10233405   a5  FreeBSD
/dev/hda5            2668        2745      626503+  82  Linux swap / Solaris
/dev/hda6            2746        4518    14241591   83  Linux
/dev/hda7            4519        5921    11269566   83  Linux
/dev/hda8            5922        6699     6249253+   7  HPFS/NTFS
/dev/hda9            6700        8455    14105038+   b  W95 FAT32
是啊,忘了這種組合

曾經用過這種方式,但後來發現有一個什麼問題,所以之後就不採用了,讓我想一想。。。
回复 支持 反对

使用道具 举报

发表于 2008-2-2 16:32:31 | 显示全部楼层
我怎么记得 freebsd 需要在 primary 里边安装的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表