Linux 磁盘分区设计的常见误区
发布时间 - 2026-01-29 00:00:00 点击率:次UEFI/GPT与BIOS/MBR混搭导致无法启动的主因是引导模式与分区表类型不匹配;Swap大小应按内存容量和用途合理设置;根分区建议60–80GB;SSD分区须1MiB对齐;操作前务必备份分区表。
UEFI/GPT 与 BIOS/MBR 混搭导致无法启动
最常被忽略却后果最直接的误区:系统引导模式和分区表类型不匹配。比如在 UEFI 模式下用 fdisk 创建 MBR 分区表,或在 Legacy BIOS 下强行用 gdisk 写入 GPT,结果就是开机卡在 Invalid Partition Table 或黑屏无响应。
- 进 BIOS/UEFI 设置界面确认当前引导模式(通常叫 “Boot Mode” 或 “UEFI/Legacy Support”)
- UEFI 环境下必须用
gdisk或parted创建 GPT;BIOS 环境优先选fdisk+ MBR -
lsblk -f和sudo fdisk -l /dev/sda或sudo gdisk -l /dev/sda可快速验证当前磁盘是 MBR 还是 GPT
Swap 分区大小拍脑袋设成内存 2 倍
“Swap 越大越保险” 是老黄历了。机械硬盘上过大的 Swap 会拖慢整体 I/O;SSD 上则徒增写入磨损;而现代 Linux(尤其 ≥5.0 内核)对 Swap 的依赖已大幅降低——除非你真需要休眠( systemctl hibernat)或运行内存密集型科学计算。
- 物理内存 ≤8GB:Swap 设为
1–1.5× RAM即可(例如 4GB 内存配 4–6GB Swap) - 物理内存 >8GB:Swap ≤16GB 足够;若需休眠,Swap 必须 ≥RAM 容量
- 纯 SSD 主机可考虑禁用 Swap(
sudo swapoff -a && sudo sed -i '/swap/d' /etc/fstab),改用 zram(压缩内存交换)更高效
根分区(/)只分 20GB,结果装完系统就告急
很多教程仍沿用旧标准,把 / 分区设成 15–20GB。但现代发行版(如 Ubuntu 24.04、Fedora 40)光系统+默认软件包就占 8–12GB;再加上内核更新残留、/var/log 日志、/var/cache 包缓存,不到一个月就爆满。
-
/分区建议最低50GB,推荐60–80GB(尤其启用 Snap 或 Flatpak 的桌面环境) -
/home独立分区仍是强烈推荐项——重装系统时可保留全部用户数据 - 避免把
/var或/usr单独分区,除非有明确运维需求(如容器日志隔离、只读系统部署)
SSD 分区未对齐,白白损失 15%+ 随机读写性能
传统 HDD 时代按“柱面”对齐还有意义,但 SSD 和 NVMe 的底层擦除单元(erase block)是 256KB–4MB 不等。起始扇区没对齐,一次 4KB 写入可能触发两次物理页操作,延迟翻倍、寿命缩短。
- 用
parted /dev/sda创建分区时,mkpart primary 1MiB 100%显式指定起始偏移 - 用
fdisk时先输入u切换单位为扇区,再新建分区时确保起始扇区是2048(对应 1MiB)的整数倍 - GParted 图形界面默认开启 “对齐到 MiB”,但务必检查右下角状态栏是否显示
Aligned to MiB
真正危险的不是分区本身,而是误以为“只要没格式化就还能找回来”。分区表损坏、误删 LV、中断 resize 操作——这些都可能让数据恢复变得极其困难。别赌运气,每次操作前用 sfdisk -d /dev/sda > sda-partition-backup.txt 备份分区表,花不了十秒。
# linux
# 硬盘
# 机械硬盘
# ubuntu
# ios
# bios
# gpt
# 数据恢复
# hibernate
# var
# table
# 分区表
# 扇区
# 不匹配
# 混搭
# 无法启动
# 区时
# 还能
# 一个月
# 设为
# 两次
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android自定义listview布局实现上拉加载下拉刷新功能
linux写shell需要注意的问题(必看)
zabbix利用python脚本发送报警邮件的方法
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何优化应用性能?(缓存和优化命令)
香港服务器租用费用高吗?如何避免常见误区?
如何撰写建站申请书?关键要点有哪些?
Android实现代码画虚线边框背景效果
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
PythonWeb开发入门教程_Flask快速构建Web应用
如何实现建站之星域名转发设置?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel如何使用Telescope进行调试?(安装和使用教程)
javascript中对象的定义、使用以及对象和原型链操作小结
详解jQuery中基本的动画方法
*服务器网站为何频现安全漏洞?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
PHP正则匹配日期和时间(时间戳转换)的实例代码
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
用yum安装MySQLdb模块的步骤方法
如何在腾讯云免费申请建站?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何快速打造个性化非模板自助建站?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
如何在IIS中配置站点IP、端口及主机头?
昵图网官方站入口 昵图网素材图库官网入口
JavaScript如何实现错误处理_try...catch如何捕获异常?
进行网站优化必须要坚持的四大原则
如何快速启动建站代理加盟业务?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Python文件操作最佳实践_稳定性说明【指导】
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
node.js报错:Cannot find module 'ejs'的解决办法
jQuery 常见小例汇总
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
bootstrap日历插件datetimepicker使用方法
Android GridView 滑动条设置一直显示状态(推荐)

