在 Linux 系统中对存储设备(/dev/mmcblk
、/dev/sd
、/dev/nvme
)进行分区、格式化或挂载的操作步骤如下:
一、确认设备信息
首先明确要操作的设备名称(如 /dev/sdb
、/dev/nvme0n1
),避免误操作导致数据丢失!
lsblk # 列出所有块设备(查看设备名、分区和挂载点)
sudo fdisk -l # 查看详细信息(需 root 权限)
二、分区操作
1. 使用 fdisk
或 gdisk
(适用于 MBR/GPT 分区表)
sudo fdisk /dev/sdX # 对 SATA/USB 设备操作(如 /dev/sdb)
sudo fdisk /dev/nvme0n1 # 对 NVMe SSD 操作
sudo fdisk /dev/mmcblk0 # 对 eMMC/SD 卡操作
常用命令(在 fdisk
交互界面中):
m
→ 查看帮助p
→ 打印当前分区表n
→ 新建分区d
→ 删除分区t
→ 更改分区类型(如83
为 Linux,EF00
为 EFI 分区)w
→ 保存并退出q
→ 不保存退出
2. 使用 parted
(支持 GPT 和大容量磁盘)
sudo parted /dev/sdX
常用命令:
print
→ 显示分区信息mkpart primary ext4 0% 100%
→ 创建全盘 ext4 分区rm 1
→ 删除分区 1
三、格式化分区
根据需求选择文件系统类型(如 ext4
、fat32
、ntfs
):
# 格式化为 ext4(推荐 Linux 系统使用)
sudo mkfs.ext4 /dev/sdX1 # 将 /dev/sdX1 格式化为 ext4# 格式化为 FAT32(兼容 U 盘/跨平台)
sudo mkfs.vfat -F 32 /dev/sdX1# 格式化为 NTFS(Windows 兼容)
sudo mkfs.ntfs /dev/sdX1# 对 NVMe 分区操作(示例)
sudo mkfs.ext4 /dev/nvme0n1p1
四、挂载分区
1. 临时挂载
sudo mkdir /mnt/mydrive # 创建挂载点
sudo mount /dev/sdX1 /mnt/mydrive # 挂载分区
2. 开机自动挂载
编辑 /etc/fstab
文件,添加一行:
/dev/sdX1 /mnt/mydrive ext4 defaults 0 2
- 使用
blkid
获取分区的 UUID(推荐用 UUID 替代设备名,避免变动):
示例sudo blkid /dev/sdX1
/etc/fstab
条目:UUID=1234-5678 /mnt/mydrive ext4 defaults 0 2
五、卸载分区
sudo umount /mnt/mydrive # 卸载
六、安全注意事项
-
确认设备名:
- 误操作可能导致数据丢失!务必通过
lsblk
确认目标设备。 - 例如:插入 U 盘后可能变成
/dev/sdb
,而非/dev/sda
。
- 误操作可能导致数据丢失!务必通过
-
NVMe 特殊命名:
- NVMe 的分区名包含
p
(如/dev/nvme0n1p1
),而 SATA/USB 是直接加数字(如/dev/sda1
)。
- NVMe 的分区名包含
-
SD 卡操作:
- 部分系统会将 SD 卡识别为
/dev/mmcblk0
,操作时需替换为实际设备名。
- 部分系统会将 SD 卡识别为
常见问题解答
1. 如何修复分区表?
sudo gdisk /dev/sdX # 使用 gdisk 的 'r' → 'p' 命令恢复
2. 如何彻底擦除磁盘?
sudo dd if=/dev/zero of=/dev/sdX bs=1M status=progress
3. 分区后无法识别?
- 运行
partprobe
通知内核更新分区表:sudo partprobe /dev/sdX