+ -
当前位置:首页 → 问答吧 → 【毁灭小贴士】分区布局篇

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

时间:2008-01-30

来源:互联网

本文目的并非讨论如何分配分区的大小,旨在探讨分区布局

多数情况下,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 之类来起动後再操作

谢谢观看 :)

作者: d00m3d   发布时间: 2008-01-30

又见【毁灭】系列,不错不错

作者: CHII   发布时间: 2008-01-30

很有启发性啊!又易看懂,可谓深入浅出!

我现在的分区是

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

作者: kikiwarm   发布时间: 2008-01-30

还是建议把swap作为一个文件来使用,虽然有些不方便。

作者: SCys   发布时间: 2008-01-30

可是利用 swapfile 的话,不单不方便,其读写过程受制於文件系统,效能上也会打折扣。

作者: d00m3d   发布时间: 2008-01-31

多个linux可公用一个 swap 分区。我用的是 swap 分区,特定情况还是用得上 swap 文件的。
愚以为,重整理分区还是挪数据安全一些。

作者: tfkdmwmqtr   发布时间: 2008-01-31

我的分区,感觉也好象很方便。

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-02-01

我都是用swap文件的,那一点效率问题,实在感觉不出来。包括笔记本。。。

作者: 晨想   发布时间: 2008-02-01

引用:
作者: 松心心
我的分区,感觉也好象很方便。

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
是啊,忘了這種組合

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

作者: d00m3d   发布时间: 2008-02-02

我怎么记得 freebsd 需要在 primary 里边安装的?

作者: 晨想   发布时间: 2008-02-02

引用:
作者: 晨想
我怎么记得 freebsd 需要在 primary 里边安装的?
是的

作者: 松心心   发布时间: 2008-02-03

那你这个是?用 grub 的map 了?

/dev/hda3 2668 8455 46492110 f W95 Ext'd (LBA)
/dev/hda4 8456 9729 10233405 a5 FreeBSD

作者: 晨想   发布时间: 2008-02-03

引用:
作者: 晨想
那你这个是?用 grub 的map 了?

/dev/hda3 2668 8455 46492110 f W95 Ext'd (LBA)
/dev/hda4 8456 9729 10233405 a5 FreeBSD
人家确实是在主分区.
看看扇区

作者: SCys   发布时间: 2008-02-03