磁盘空间不足怎么办?

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

相关推荐

  • 如何检查驱动所属的软件包?

    卸载前的关键准备确认驱动信息# 查看已加载的内核模块lsmod | grep -i "驱动关键词" # 如nvidia、rtl88xx# 查看模块详细信息modinfo 模块名 # 如modinfo nvidia记录模块名称(如nvidia、rtl8812au)备份重要数据驱动配置文件:/e……

    2025年7月20日
    2800
  • Linux如何自动识别硬件?

    硬件识别的核心机制内核驱动框架Linux内核包含设备驱动(内核模块),直接与硬件交互,当检测到新硬件时,内核自动加载对应驱动模块(如usb_storage.ko用于U盘),驱动目录:/lib/modules/$(uname -r)/kernel/drivers/,硬件抽象层sysfs虚拟文件系统(挂载于/sys……

    2025年7月9日
    3100
  • linux 上如何安装系统软件

    Linux 上安装系统软件可通过包管理器,如 apt(Debian/Ubuntu)、yum

    2025年8月16日
    1500
  • linux如何查看jdk已经卸载

    Linux中,可通过java -version查看JDK是否已卸载,若无输出则可能

    2025年8月14日
    1700
  • Linux系统如何安装配置OpenCV并实现基础图像处理操作?

    在Linux系统中使用OpenCV是进行计算机视觉和图像处理的常见需求,OpenCV(Open Source Computer Vision Library)提供了丰富的函数库,支持C++、Python等多种编程语言,本文将从安装、配置、基本使用到高级应用,详细说明Linux环境下OpenCV的使用方法,安装O……

    2025年8月25日
    1500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信