磁盘空间不足怎么办?

Linux 分区与挂载点详解:从基础到实战

为什么需要分区和挂载点?

在 Linux 系统中,分区是将物理硬盘划分为逻辑存储单元的过程,而挂载点则是将分区连接到文件系统目录的桥梁。

  • /dev/sda1 分区挂载到 /home 目录,意味着所有存储在家目录的文件实际保存在该分区
  • 合理的分区方案能提升系统安全性(如隔离系统文件和用户数据)、性能优化(为不同目录选择不同文件系统)和简化维护(重装系统时不影响用户数据)

核心概念解析

  1. 分区类型

    • 主分区:最多4个,可直接用于安装系统
    • 扩展分区:特殊主分区,用于容纳更多逻辑分区
    • 逻辑分区:在扩展分区内创建,数量不限(如 /dev/sda5/dev/sda6
  2. 常见挂载点
    | 挂载点 | 推荐大小 | 作用 |
    |——–|———-|——|
    | | 20-30GB | 系统根目录(必须存在) |
    | /boot | 512MB-1GB | 启动文件(UEFI系统必备) |
    | /home | 剩余空间50%+ | 用户数据存储 |
    | /swap | 内存1-2倍 | 虚拟内存(休眠需≥内存大小) |
    | /var | 5-10GB | 日志和缓存文件 |

  3. 文件系统选择

    • EXT4:默认选择,稳定兼容(推荐新手)
    • XFS:大文件处理优秀(适合媒体服务器)
    • Btrfs:支持快照和压缩(高级用户适用)

实战分区操作(以 fdisk 为例)

# 2. 进入分区工具(以 /dev/sda 为例)
sudo fdisk /dev/sda
# 3. 创建新分区(交互式操作)
Command (m for help): n  # 新建分区
Partition type: p (primary) / l (logical)  # 选择类型
First sector: 按回车默认  # 起始扇区
Last sector: +20G  # 设置大小(示例:20GB)
# 4. 修改分区类型(重要!)
Command: t
Hex code: 83 (Linux文件系统) / 82 (Swap分区)
# 5. 保存退出
Command: w

格式化与挂载

# 1. 格式化分区为EXT4
sudo mkfs.ext4 /dev/sda1
# 2. 创建挂载目录
sudo mkdir /mnt/data
# 3. 临时挂载
sudo mount /dev/sda1 /mnt/data
# 4. 永久挂载(编辑 /etc/fstab)
# 添加以下行:
/dev/sda1  /mnt/data  ext4  defaults  0  2

参数解析

  • defaults:默认挂载选项(读写、执行权限)
  • 0:不备份
  • 2:非根分区检查顺序

最佳实践方案

  1. 基础方案(适合个人PC)

    • :30GB
    • /home:剩余空间
    • swap:内存1.5倍
  2. 服务器方案(高可靠性)

    • /boot:1GB (EXT4)
    • :50GB (XFS)
    • /var:20GB (独立分区防日志占满)
    • /home:专用LVM卷(便于扩容)
  3. 特殊场景

    • 数据库服务器:单独分区给 /var/lib/mysql,用 noatime 选项提升性能
    • 媒体存储:为 /srv/media 使用 Btrfs 文件系统

常见问题解决

  1. 分区空间不足?

    • 使用 gparted 图形工具调整分区大小(需从Live USB启动)
    • LVM动态卷管理进阶方案
  2. 开机无法挂载?

    • 检查 /etc/fstab 语法:sudo mount -a
    • 使用 UUID 替代设备名(通过 blkid 查看)
  3. SSD 优化技巧

    • 启用 TRIM:fstrim -v /
    • 挂载选项添加 discard,noatime

关键注意事项

  1. 操作前必做

    • 备份重要数据!误操作可能导致数据丢失
    • 使用 lsblk 确认设备标识符,避免误选磁盘
  2. 分区大小预留

    • 根目录 建议保留 15% 空余空间
    • 大容量分区(如 /home)使用 -m 0 参数减少保留空间:mkfs.ext4 -m 0 /dev/sda2
  3. 安全建议

    • 为敏感目录(如 /boot)设置只读挂载:ro 选项
    • 避免使用 exec 选项挂载用户目录

引用说明

  • Linux 内核文档:Documentation/admin-guide/blockdev(内核源码)
  • Filesystem Hierarchy Standard 3.0 (refspecs.linuxfoundation.org)
  • Ubuntu 官方分区指南:help.ubuntu.com/stable/ubuntu-help/disk-partitions.html
  • 《鸟哥的Linux私房菜》基础篇(第四版)机械工业出版社

通过合理规划分区结构和挂载点,不仅能提升系统性能,还能为后续维护和灾难恢复奠定基础,建议初次安装时选择简单方案,后期根据需求逐步优化。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9048.html

(0)
酷番叔酷番叔
上一篇 2025年7月28日 16:17
下一篇 2025年7月28日 16:43

相关推荐

  • 为什么打不开黑名单配置文件?

    问题场景当您在Linux系统中遇到NVIDIA显卡导致的兼容性问题(如驱动冲突、发热过高、需使用集成显卡节能)时,可能需要临时或永久禁用N卡,本指南提供多种经过验证的方法,请根据您的硬件和系统环境选择,安全须知(必读)风险提示:错误操作可能导致系统无法启动,请提前备份重要数据,适用场景:双显卡笔记本(Intel……

    2025年6月20日
    9300
  • 如何从Linux系统中安全有效地踢除用户账户?

    在Linux系统中,“踢掉用户”通常指强制终止某个用户的登录会话,或限制其访问系统,以保障系统安全或管理秩序,这一操作涉及查看用户会话、终止进程、限制登录权限等多个步骤,需结合具体场景选择合适方法,以下是详细操作流程及注意事项,查看当前在线用户信息在踢掉用户前,需先确认目标用户的登录状态,包括其登录终端、进程I……

    2025年10月1日
    12900
  • Linux中如何正确进行赋值操作?

    在Linux系统中,赋值是变量操作的基础,无论是脚本编写、命令行交互还是系统配置,都离不开对变量的赋值操作,Linux中的赋值操作涉及多种场景,包括普通变量、环境变量、数组、命令替换结果等,且不同场景下的语法规则和注意事项各有不同,本文将详细讲解Linux中各类赋值操作的语法、示例及常见问题,帮助读者全面掌握变……

    2025年10月4日
    6400
  • 在Linux操作系统中,如何查看当前系统正在使用的DNS地址信息?

    在Linux系统中,DNS(域名系统)地址是网络通信的关键配置,它负责将域名解析为IP地址,查看当前系统使用的DNS地址有多种方法,适用于不同的Linux发行版和场景,以下是常用且详细的操作方式,使用nslookup命令查询DNS服务器nslookup(Name Server Lookup)是Linux中最基础……

    2025年8月25日
    7700
  • 如何查看linux的ftp地址查询

    Linux 中,可查看 ftp 服务器配置文件获取地址,或通过

    2025年8月15日
    8100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信