在一次突然断电之后,磁盘出现损坏,fsck
修复的时候提示需要删除文件,一路 y
下来,最后几乎把根目录下大量文件都删除了,直接导致我的 Ubuntu 无法启动(PS:操作肯定是不够谨慎的)。
不幸中的万幸是我的 /home
在另外的分区,所以我的代码和文档基本上都保留下来了。虽说都存在 Git 上,不过那么多项目(可能有大几十个),环境什么的搭建,软件配置,还有些 git svn
拉取,等等,总有些费时费力。
曾经觉得分区没有什么必要,只不过作为习惯保留下来,一般都是 /
、/home
、SWAP
。没想到这次还发挥了不小的作用。
回头想来,按照不同的读写要求、内容类别区分挂载点,划分不同分区,还是很有必要的。那些频繁读写的临时数据目录坏了也不至于整个硬盘都不行了。
电脑配置
- 内存:8GB
- 磁盘:1TB 西数蓝盘(7200 转),实际空间大概只有 931GB(
1000 * (1000.0 / 1024) ** 3
,万恶的存储设备行业潜规则)。
简单分区方案
挂载点 | 大小 |
---|---|
/ |
50GB |
/home |
剩余所有空间 |
SWAP |
10GB |
新设计的分区方案
挂载点 | 大小 | 意义 |
---|---|---|
/ |
50GB | 根目录 |
/boot |
10GB | 启动目录 |
/home |
150GB | 用户主目录 |
/usr |
100GB | 程序分区 |
/var |
50GB | 变量文件目录 |
/tmp |
50GB | 临时文件目录 |
SWAP |
20GB | 交换分区 |
注意:SWAP 分区一般和内存差不多就行了,多了也是浪费。
这样划分,Ubuntu 系统总共使用 430G 空间,磁盘还剩 500G 暂时不用。
不理解的地方
EFI 系统分区(EFI System Partition,ESP)
红帽推荐 UEFI 系统创建 50MB - 150MB 的 EFI 系统分区(/boot/efi
),而且 Win7、Win10 也都会自动创建隐藏的 100MB EFI 系统分区(还有一个隐藏的 450MB 恢复分区)。
但是这个 EFI 系统分区是用来做什么的,我并不了解。
交换分区
红帽文档:
内存大小 | 建议 SWAP 大小 | 建议 SWAP 大小(如果允许休眠) |
---|---|---|
( 0GB - 2GB] | 两倍内存大小 | 三倍内存大小 |
( 2GB – 8GB] | 等于内存大小 | 两倍内存大小 |
( 8GB – 64GB] | 至少 4GB | 1.5 倍内存大小 |
(64GB - ∞] | 至少 4GB | 不推荐休眠! |
- 交换分区是虚拟内存么?作用是什么?
- 红帽推荐这样设置的理由是什么?