在 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
