Skip to Content
文档运维系统管理磁盘、挂载、fstab

磁盘、挂载、fstab

在 Ubuntu 26.04 中管理磁盘和分区是系统管理的核心技能。本文介绍如何查看磁盘信息、手动挂载分区以及通过 fstab 实现开机自动挂载。

查看磁盘和分区信息

lsblk - 列出块设备

# 基本用法 lsblk # 输出示例: # NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS # sda 8:0 0 500G 0 disk # ├─sda1 8:1 0 512M 0 part /boot/efi # ├─sda2 8:2 0 488G 0 part / # └─sda3 8:3 0 11.5G 0 part [SWAP] # sdb 8:16 0 2T 0 disk # └─sdb1 8:17 0 2T 0 part # 显示文件系统类型和 UUID lsblk -f # 显示更详细的信息 lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL

其他磁盘信息工具

# 查看磁盘分区表 sudo fdisk -l # 查看磁盘使用情况 df -h # 查看某个目录的磁盘使用量 du -sh /var/log # 查看所有分区的 UUID sudo blkid

分区操作

使用 fdisk 进行 MBR 分区

# 对 /dev/sdb 进行分区 sudo fdisk /dev/sdb # fdisk 交互命令: # n - 新建分区 # p - 显示分区表 # d - 删除分区 # t - 修改分区类型 # w - 写入并退出

使用 gdisk 进行 GPT 分区

sudo apt install gdisk sudo gdisk /dev/sdb

使用 parted

# 交互模式 sudo parted /dev/sdb # 非交互模式示例:创建 GPT 分区表和一个分区 sudo parted /dev/sdb mklabel gpt sudo parted /dev/sdb mkpart primary ext4 0% 100%

格式化分区

# 格式化为 ext4 sudo mkfs.ext4 /dev/sdb1 # 格式化为 XFS sudo mkfs.xfs /dev/sdb1 # 格式化为 Btrfs sudo mkfs.btrfs /dev/sdb1 # 格式化为 NTFS(需要 ntfs-3g) sudo mkfs.ntfs /dev/sdb1 # 设置卷标 sudo e2label /dev/sdb1 "DataDisk"

挂载与卸载

mount - 挂载分区

# 创建挂载点 sudo mkdir -p /mnt/data # 挂载分区 sudo mount /dev/sdb1 /mnt/data # 以只读方式挂载 sudo mount -o ro /dev/sdb1 /mnt/data # 挂载 ISO 文件 sudo mount -o loop ubuntu-26.04.iso /mnt/iso # 挂载 NFS 共享 sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs # 挂载 CIFS/SMB 共享 sudo mount -t cifs //192.168.1.100/share /mnt/smb -o username=user,password=pass # 查看当前所有挂载 mount | column -t findmnt

umount - 卸载分区

# 卸载分区 sudo umount /mnt/data # 如果设备正忙,查看占用进程 sudo lsof +f -- /mnt/data sudo fuser -mv /mnt/data # 强制卸载(慎用) sudo umount -l /mnt/data # 延迟卸载 sudo umount -f /mnt/data # 强制卸载(NFS)

/etc/fstab 自动挂载

Warning

/etc/fstab 中的配置错误(如 UUID 拼写错误、挂载点不存在)可能导致系统无法正常启动。编辑前务必备份(sudo cp /etc/fstab /etc/fstab.bak),修改后使用 sudo mount -a 和 sudo findmnt --verify 验证配置。对于非关键分区,建议添加 nofail 选项以防启动失败。

fstab 文件格式

/etc/fstab 定义了系统启动时自动挂载的分区。每行包含六个字段:

# <设备> <挂载点> <文件系统> <选项> <dump> <fsck> UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2

各字段说明:

字段说明
设备分区标识,推荐使用 UUID
挂载点挂载到的目录路径
文件系统ext4、xfs、btrfs、ntfs 等
选项挂载选项,多个选项用逗号分隔
dump备份标志,通常为 0
fsck开机检查顺序,根分区为 1,其他为 2,不检查为 0

获取 UUID

# 方法一:blkid sudo blkid /dev/sdb1 # 输出:/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" # 方法二:lsblk lsblk -f /dev/sdb1 # 方法三:ls 查看符号链接 ls -la /dev/disk/by-uuid/

fstab 配置示例

# 编辑 fstab(修改前请先备份) sudo cp /etc/fstab /etc/fstab.bak sudo nano /etc/fstab

常见配置:

# ext4 数据分区 UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /mnt/data ext4 defaults 0 2 # 带特定选项的挂载 UUID=b2c3d4e5-f6a7-8901-bcde-f12345678901 /mnt/ssd ext4 defaults,noatime,discard 0 2 # NTFS 分区(Windows 数据盘) UUID=1234567890ABCDEF /mnt/windows ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0 # NFS 网络共享 192.168.1.100:/shared /mnt/nfs nfs defaults,_netdev 0 0 # tmpfs(内存文件系统) tmpfs /tmp tmpfs defaults,noatime,size=2G 0 0 # swap 分区 UUID=c3d4e5f6-a7b8-9012-cdef-123456789012 none swap sw 0 0

常用挂载选项

选项说明
defaults等同于 rw,suid,dev,exec,auto,nouser,async
noatime不更新访问时间,提升性能
nodiratime不更新目录访问时间
discard启用 TRIM(SSD 推荐)
nofail设备不存在时不阻止启动
_netdev等待网络就绪后再挂载
ro只读挂载
noexec禁止执行二进制文件
nosuid忽略 SUID/SGID 位

验证 fstab 配置

# 挂载 fstab 中所有尚未挂载的分区(测试配置是否正确) sudo mount -a # 使用 findmnt 验证 sudo findmnt --verify # 如果出错,可以恢复备份 sudo cp /etc/fstab.bak /etc/fstab

Swap 管理

# 查看当前 swap swapon --show free -h # 创建 swap 文件 sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 添加到 fstab 使其持久化 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 关闭 swap sudo swapoff /swapfile

LVM 逻辑卷管理

# 安装 LVM 工具 sudo apt install lvm2 # 创建物理卷 sudo pvcreate /dev/sdb1 # 创建卷组 sudo vgcreate mydata /dev/sdb1 # 创建逻辑卷 sudo lvcreate -L 100G -n myvolume mydata # 格式化和挂载 sudo mkfs.ext4 /dev/mydata/myvolume sudo mount /dev/mydata/myvolume /mnt/data # 在线扩展逻辑卷 sudo lvextend -L +50G /dev/mydata/myvolume sudo resize2fs /dev/mydata/myvolume # 查看 LVM 状态 sudo pvs sudo vgs sudo lvs

故障排除

启动时 fstab 挂载失败

如果 fstab 配置有误导致无法启动,在 GRUB 恢复模式中:

# 以读写方式重新挂载根分区 mount -o remount,rw / # 编辑并修复 fstab nano /etc/fstab # 重启 reboot

磁盘空间不足排查

# 查看各分区使用情况 df -h # 查找大文件 sudo find / -type f -size +100M -exec ls -lh {} \; # 查看各目录占用空间(排序) sudo du -sh /* | sort -rh | head -20 # 清理 APT 缓存 sudo apt clean sudo apt autoremove
Last updated on