Linux磁盘操作
Linux 磁盘操作总览
常用命令:
lsblk、fdisk、parted、mkfs、mount、blkid、df、lsblk、vim /etc/fstab
查看磁盘和分区信息
lsblk
显示块设备(disk、part)的结构:
| 1 | lsblk | 
示例:

fdisk -l
列出所有磁盘和分区的详细信息(包含分区类型、UUID 等):
| 1 | fdisk -l | 

分区
假设要对 /dev/sdb 新硬盘进行分区:
MBR 分区  fdisk /dev/sdb
交互式工具:
- n→ 新建分区
- p→ 主分区
- 1→ 分区号
- 回车 → 默认第一个扇区
- 回车 → 默认最后一个扇区(或输入 +100G 指定大小)
- w→ 写入分区表并退出


可以发现已经创建好了sdb1
⚠ 注意:GPT 分区表可以用
parted/gdisk,大磁盘(>2TB)推荐 GPT。
GPT  分区parted 大容量以及现代机器推荐
| 1 | parted /dev/sdb | 

- 如果是大容量磁盘,例如几十T需使用xfs文件系统。
查看磁盘分区类型
| 1 | parted /dev/sdb print | 

格式化(创建文件系统)
假设新建的分区是 /dev/sdb1:
mkfs 工具:
- ext4:
| 1 | mkfs.ext4 /dev/sdb1 | 

- xfs(适合大文件/高性能场景):
| 1 | mkfs.xfs /dev/sdb1 | 
- 查看支持的文件系统:
| 1 | ls /sbin/mkfs* | 

挂载分区
假设要挂载到 /data:
| 1 | mkdir -p /data | 
查看当前挂载情况:
| 1 | lsblk | 


开机自动挂载
获取分区 UUID:
| 1 | blkid /dev/sdb1 | 
输出:

复制uuid
编辑 /etc/fstab:
| 1 | vim /etc/fstab | 
添加一行:
| 1 | UUID=098f85d8-3753-444b-9d03-309052d9c645 /data ext4 defaults 0 0 | 
- UUID:分区唯一标识符
- /data:挂载点
- ext4:文件系统类型
- defaults:默认参数(读写、自动挂载等)
- 0 0:是否做 dump 和 fsck 检查
最后可以通过reboot测试一下是否成功挂载
文件系统查看 & 检查
- 查看磁盘使用情况:
| 1 | df -h | 
- 查看分区类型和 UUID:
| 1 | blkid | 
- 查看详细挂载信息:
| 1 | mount | 
- 检查文件系统(例如 ext4):
| 1 | fsck /dev/sdb1 | 
总结:Linux 磁盘完整操作流程:
| 步骤 | 命令 | 说明 | 
|---|---|---|
| 查看磁盘 | lsblk / fdisk -l | 确认设备 | 
| 分区 | fdisk /dev/sdb | 创建新分区 | 
| parted | 创建新分区、查看分区类型 | |
| 格式化 | mkfs.ext4 /dev/sdb1 | 创建文件系统 | 
| 创建挂载点 | mkdir /data | 挂载目录 | 
| 挂载 | mount /dev/sdb1 /data | 手动挂载 | 
| 自动挂载 | blkid 获取 UUID + 编辑 /etc/fstab | 开机自动挂载 | 
附:
- 表格 ①:MBR 内部分区结构(主分区 / 扩展分区 / 逻辑分区 对比)
- 表格 ②:MBR vs GPT 分区表 对比
📦 表格①:MBR 分区结构
| 类型 | 数量限制 | 是否可直接挂载 | 用途与特点 | 
|---|---|---|---|
| 主分区 (Primary) | 最多 4 个 | ✅ 可以 | 最简单直接,可直接格式化挂载 | 
| 扩展分区 (Extended) | 最多 1 个(必须占一个主分区的位置) | ❌ 不可以 | 容器分区,用来突破最多 4 个分区的限制 | 
| 逻辑分区 (Logical) | 无限(通常 /dev/sda5 开始) | ✅ 可以 | 建在扩展分区内部,也可直接格式化挂载 | 
🧰 表格②:MBR vs GPT 分区表
| 特点 | MBR | GPT | 
|---|---|---|
| 最大支持容量 | 单盘最大约 2TB | 理论支持到 18EB(几乎无限) | 
| 分区总数 | 最多 4 个主分区;超过需用扩展+逻辑分区 | 默认可建 128 个分区(都平等) | 
| 扩展/逻辑分区 | 有 | 无 | 
| 容错 | 无 | 有主备分区表,更可靠 | 
| 启动方式兼容性 | 传统 BIOS 启动(只支持 MBR) | 推荐 UEFI 启动;也能配合 BIOS 启动 | 
| 使用场景 | 小盘(≤2TB),老系统 | 大盘、新硬件、新系统 | 
问题
1. tmd死活挂不上
情景:
- 一块1T磁盘sdb
- 挂载到/data
- 直接挂载或者是fstab用UUID挂载都失败
解决方式:
- 先查看一下日志,看看是什么导致的。
| 1 | dmesg | tail -30 | 
例如我的:
| 1 | -- data.mount 单元已结束停止操作。 | 
这一行
data.mount: Unit is bound to inactive unit dev-disk-by\x2duuid8d489e7f\x2d3f79\x2d4678\x2db082\x2d85fc6fe18c4.device. Stopping, too.
喂给Ai:
出现“data.mount”单元在不停挂载卸载的情况,说明 systemd 里可能残留了老的挂载单元配置,绑定了之前的错误 UUID。
- 接下来:
| 1 | # 取消残留的 systemd 挂载单元 | 
然后就可以挂上了,可能是第一次没操作好,乱挂之后更挂不上了。新技巧:取消残留的 systemd 挂载单元
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
 Comment
