Linux:通过终端命令(如mkfs.vfat)直接格式化。格式化磁盘为 FAT32

1.概要

Linux:通过终端命令(如mkfs.vfat)直接格式化。格式化磁盘为 FAT32

2.内容

在 Linux 系统中,可以通过终端命令 mkfs.vfat 格式化磁盘为 FAT32。以下是详细步骤及注意事项:


步骤 1:查看磁盘信息

  1. 列出所有磁盘和分区:

    lsblk
    # 或
    sudo fdisk -l
    • 记录目标磁盘或分区的设备路径(如 /dev/sdb1)。

步骤 2:卸载目标分区(如已挂载)

sudo umount /dev/sdXn # 将 Xn 替换为实际设备名(如 sdb1)

步骤 3:格式化为 FAT32

sudo mkfs.vfat -F 32 -n "YourLabel" /dev/sdXn
  • 参数说明
    • -F 32:指定 FAT32 文件系统。
    • -n "YourLabel":设置卷标(可选)。
    • /dev/sdXn:目标设备路径(如 /dev/sdb1)。

关键注意事项

1. 数据丢失风险
  • mkfs.vfat 会永久删除设备上的所有数据,操作前务必备份!
2. 32GB+ 分区支持
  • Linux 的 mkfs.vfat 通常无 32GB 容量限制,可直接格式化大容量磁盘为 FAT32。
  • 但某些旧设备(如车载音响)可能仍无法识别超过 32GB 的 FAT32 分区。
3. 文件大小限制
  • FAT32 仍受 单文件最大 4GB 限制,无法存储高清视频或大型安装包。

替代方案:使用 exFAT(推荐大文件场景)

若需突破 4GB 文件限制,可改用 exFAT(需安装工具):

# 安装 exFAT 工具(Debian/Ubuntu)
sudo apt install exfat-utils exfatprogs


# 格式化为 exFAT
sudo mkfs.exfat -n "YourLabel" /dev/sdXn

完整操作示例

# 1. 查看磁盘
lsblk


# 2. 卸载分区(假设为 /dev/sdb1)
sudo umount /dev/sdb1


# 3. 格式化为 FAT32
sudo mkfs.vfat -F 32 -n "USB_DRIVE" /dev/sdb1


# 或格式化为 exFAT
sudo mkfs.exfat -n "USB_DRIVE" /dev/sdb1

常见问题

Q1:如何验证格式化结果?
sudo fdisk -l /dev/sdX # 查看分区文件系统类型
lsblk -f /dev/sdX # 显示文件系统标签
Q2:格式化后无法挂载?
  • 检查设备路径是否正确。
  • 确保无其他进程占用该设备(使用 lsof | grep /dev/sdXn 排查)。
Q3:如何修复 FAT32 文件系统错误?
sudo fsck.vfat -a /dev/sdXn # 自动修复错误

通过以上步骤,您可以在 Linux 中安全地格式化磁盘为 FAT32 或 exFAT。若需兼容旧设备且文件较小,FAT32 是可靠选择;若需大文件支持,优先使用 exFAT。

3.关联链接

1.关系系统镜像

关于系统镜像的链接 ubuntu+arm+uboot

1.主要链接

ubuntu 可以把当前开发版上运行的系统做成一个镜像吗

ubuntu 可以把当前开发版上运行的系统做成一个镜像吗

使用 rsync对当前系统进行镜像和还原

系统根分区

虚拟文件系统

一个开发板的软件架构-优快云博客

插入 Ubuntu Live USB,这里Ubuntu Live USB是一个硬件吗

partclone.ext4 需要安装吗

系统磁盘使用情况

2.相关链接

Linux:通过终端命令(如mkfs.vfat)直接格式化。格式化磁盘为 FAT32

使用diskpart命令将磁盘格式化为fat32格式

硬件会限制不能使用FAT32格式吗

exFAT 和FAT32 有什么差别

查看当前文件夹下是否有这个sda1文件或者文件夹

ubuntu-22.04.4-desktop-amd64.iso 下载

4.关联知识 

1.磁盘情况查看

topeet@topeet:/media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5$ lsblk -l
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk0      179:0    0 28.9G  0 disk 
mmcblk0p1    179:1    0    4M  0 part 
mmcblk0p2    179:2    0    4M  0 part 
mmcblk0p3    179:3    0   64M  0 part 
mmcblk0p4    179:4    0  128M  0 part 
mmcblk0p5    179:5    0   32M  0 part 
mmcblk0p6    179:6    0 28.7G  0 part /
mmcblk0boot0 179:32   0    4M  1 disk 
mmcblk0boot1 179:64   0    4M  1 disk 
mmcblk1      179:96   0 59.5G  0 disk 
mmcblk1p1    179:97   0    4M  0 part 
mmcblk1p2    179:98   0    4M  0 part 
mmcblk1p3    179:99   0   64M  0 part 
mmcblk1p4    179:100  0  128M  0 part 
mmcblk1p5    179:101  0   32M  0 part 
mmcblk1p6    179:102  0 59.2G  0 part /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5
zram0        254:0    0    0B  0 disk

根据 lsblk -l 的输出,您当前需要格式化的设备是 /dev/mmcblk1(整个磁盘)或其某个分区(如 /dev/mmcblk1p6)。以下是详细操作指南:


⚠️ 关键注意事项

  1. 格式化磁盘会清除所有数据,请确保已备份重要文件。
  2. mmcblk1 是整个磁盘,包含多个分区(如 mmcblk1p6 已挂载)。直接格式化磁盘会删除所有分区和数据。
  3. 若需保留分区,请仅格式化目标分区(如 mmcblk1p6)。

操作步骤

1. 卸载已挂载的分区(如果需要)

如果目标分区已挂载(如 mmcblk1p6),需先卸载:

sudo umount /dev/mmcblk1p6
2. 安装 dosfstools(如未安装)

# Debian/Ubuntu
sudo apt update && sudo apt install dosfstools


# RHEL/CentOS/Fedora
sudo yum install dosfstools # CentOS/RHEL 7及以下
sudo dnf install dosfstools # CentOS/RHEL 8+/Fedora
3. 格式化设备
方案一:格式化整个磁盘(谨慎操作!
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
方案二:仅格式化某个分区(如 mmcblk1p6
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p6

补充说明

  • 设备路径:确保使用完整的设备路径(如 /dev/mmcblk1 或 /dev/mmcblk1p6)。
  • 文件系统类型-F 32 指定 FAT32,适用于 SD 卡/U 盘。
  • 卷标-n "SDKar" 设置设备标签为 SDKar

如果有其他需求(如保留分区表),请提供更多细节。

2. 异常处理:设备路径未正确指定

topeet@topeet:~$ sudo mkfs.vfat -F 32 -n "SDKar" mmcblk1
mkfs.fat 4.2 (2021-01-31)
mkfs.vfat: unable to open mmcblk1: No such file or directory

根据错误提示和上下文,问题出在 设备路径未正确指定。以下是详细解决方案:


错误原因

在 Linux 系统中,块设备(如 U 盘、硬盘)的完整路径为 /dev/xxx。您当前的命令缺少 /dev/ 前缀,导致系统无法识别设备。


正确操作步骤

1. 卸载已挂载的分区(如果需要)

如果 U 盘的分区已挂载(如 /dev/mmcblk1p1),需先卸载:

sudo umount /dev/mmcblk1* # 卸载所有相关分区
2. 格式化整个 U 盘(谨慎操作!)
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
  • 作用:格式化整个 U 盘(删除所有分区和数据)。
  • 适用场景:若您希望将 U 盘作为单一分区使用。
3. 或仅格式化某个分区(如保留分区表)
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p1 # 替换为实际分区号
  • 作用:仅格式化指定分区(保留其他分区)。
  • 适用场景:若 U 盘已有多个分区,且您希望保留其他分区。

补充说明

  1. 设备路径验证
    • 运行 lsblk 确认设备路径(如 /dev/mmcblk1)。
    • 如果设备名变化(如变为 /dev/sdb),请使用新名称。
  2. 文件系统工具安装
    • 确保已安装 dosfstools(包含 mkfs.vfat):

      sudo apt install dosfstools # Debian/Ubuntu
      sudo dnf install dosfstools # Fedora/CentOS
  3. 数据安全警告
    • 格式化会永久删除设备上的所有数据,请提前备份。

常见问题

  • Q: 格式化后 U 盘无法识别?
    • 尝试重新插拔 U 盘。
    • 检查 dmesg | tail 输出,确认内核是否识别设备。
  • Q: 格式化速度慢?
    • FAT32 格式化通常较快,若卡顿请检查设备健康状态(如使用 smartctl)。

如果问题仍未解决,请提供 lsblk 和 dmesg | tail 的输出。

1.查看 dev下 mmcblk1及其相关的文件或文件夹是否存在 

要检查 /dev 目录下是否存在 mmcblk1 及其相关设备文件,请在终端中运行以下命令:

ls /dev/mmcblk1*

预期结果分析:

  1. 如果设备存在
    • 输出将显示类似以下内容:
      /dev/mmcblk1 /dev/mmcblk1p1 /dev/mmcblk1p2 ...
    • 这表明系统已正确识别 mmcblk1 及其分区。
  2. 如果设备不存在
    • 输出将为空,表明系统未检测到 mmcblk1

操作建议:

  • 若设备存在
    • 重新运行格式化命令,确保使用完整的设备路径:
      sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
    • 如果仍报错,请检查 U 盘是否被其他进程占用(如文件管理器)。
  • 若设备不存在
    • 重新插拔 U 盘,或尝试更换 USB 端口。
    • 运行 dmesg | tail 查看内核日志,确认设备是否被识别。

请执行上述命令并提供输出结果,以便进一步诊断问题。

3. /dev/mmcblk1 及其相关分区

topeet@topeet:/dev$ ls /dev/mmcblk1*
/dev/mmcblk1  /dev/mmcblk1p1  /dev/mmcblk1p2  /dev/mmcblk1p3  /dev/mmcblk1p4  /dev/mmcblk1p5  /dev/mmcblk1p6

根据您的输出,/dev/mmcblk1 及其相关分区(如 /dev/mmcblk1p1 到 /dev/mmcblk1p6确实存在于系统中。这意味着您的 U 盘已被系统正确识别。


格式化失败的最终解决方案

1. 卸载所有相关分区

在格式化前,必须确保 U 盘的所有分区均未挂载。运行以下命令卸载所有分区:

sudo umount /dev/mmcblk1* # 卸载所有 mmcblk1 的分区
2. 使用完整设备路径格式化
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
  • 关键点:确保设备路径以 /dev/ 开头(如 /dev/mmcblk1)。

若仍报错,请尝试以下操作

方案一:指定具体分区格式化(如 mmcblk1p1
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p1 # 替换为实际分区号
方案二:检查设备是否被占用
lsof /dev/mmcblk1* # 查看是否有进程占用设备
  • 如果输出不为空,终止相关进程或重启系统。
方案三:通过 dmesg 诊断问题
dmesg | tail -n 20 # 查看内核日志中与 mmcblk1 相关的错误

补充说明

  • 数据安全警告:格式化会永久删除设备上的所有数据,请提前备份。
  • 设备路径验证:始终通过 lsblk 或 ls /dev/mmcblk1* 确认设备路径。
  • 文件系统工具:确保已安装 dosfstools(包含 mkfs.vfat)。

如果问题仍未解决,请提供 dmesg | tail 的输出。

4. 取消挂载

topeet@topeet:/dev$ sudo umount /dev/mmcblk1*
umount: /dev/mmcblk1: not mounted.
umount: /dev/mmcblk1p1: not mounted.
umount: /dev/mmcblk1p2: not mounted.
umount: /dev/mmcblk1p3: not mounted.
umount: /dev/mmcblk1p4: not mounted.
umount: /dev/mmcblk1p5: not mounted.
umount: /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5: target is busy.

根据输出,/dev/mmcblk1p6 仍被占用(挂载在 /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5),导致无法卸载。以下是最终解决方案:


步骤 1:强制卸载被占用的分区

sudo umount -l /dev/mmcblk1p6 # -l 选项强制卸载(懒卸载)

步骤 2:终止占用进程(如果需要)

如果强制卸载后仍报错,查找并终止占用进程:

lsof /dev/mmcblk1p6 # 查看占用进程
# 或
fuser -km /dev/mmcblk1p6 # 终止所有占用进程

步骤 3:格式化整个 U 盘

sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1

替代方案:仅格式化目标分区

sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p6

关键说明

  1. 设备路径
    • /dev/mmcblk1:整个 U 盘(格式化会删除所有分区)。
    • /dev/mmcblk1p6:U 盘的某个分区(仅格式化该分区)。
  2. 数据安全
    • 格式化会永久删除设备上的所有数据,请提前备份。
  3. 挂载点清理
    • 卸载后,挂载目录 /media/topeet/... 可能会残留,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

验证格式化结果

lsblk -f /dev/mmcblk1 # 查看格式化后的文件系统类型

如果问题仍未解决,请提供 dmesg | tail 的输出。

5. /dev/mmcblk1 仍被系统占用

topeet@topeet:/dev$ sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
mkfs.fat 4.2 (2021-01-31)
mkfs.vfat: unable to open /dev/mmcblk1: Device or resource busy

根据错误提示,/dev/mmcblk1 仍被系统占用,导致无法格式化。以下是最终解决方案:


步骤 1:查找并终止占用进程

# 1. 查找占用设备的进程
sudo lsof /dev/mmcblk1*


# 2. 终止相关进程(替换 <PID> 为实际进程号)
sudo kill -9 <PID>


# 或直接终止所有占用进程
sudo fuser -km /dev/mmcblk1*

步骤 2:强制卸载设备

sudo umount -l /dev/mmcblk1* # -l 选项强制卸载(懒卸载)

步骤 3:格式化 U 盘

# 格式化整个 U 盘(删除所有分区)
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1


# 或仅格式化目标分区(如 mmcblk1p6)
sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p6

步骤 4:验证格式化结果

lsblk -f /dev/mmcblk1 # 查看文件系统类型是否为 vfat

关键说明

  1. 数据安全警告
    • 格式化会永久删除设备上的所有数据,请提前备份。
  2. 设备路径
    • /dev/mmcblk1:整个 U 盘(格式化会删除所有分区)。
    • /dev/mmcblk1p6:U 盘的某个分区(仅格式化该分区)。
  3. 挂载点清理
    • 卸载后,挂载目录 /media/topeet/... 可能会残留,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

常见问题

  • Q: 格式化后 U 盘无法识别?
    • 尝试重新插拔 U 盘。
    • 检查 dmesg | tail 输出,确认内核是否识别设备。
  • Q: 格式化速度慢?
    • FAT32 格式化通常较快,若卡顿请检查设备健康状态(如使用 smartctl)。

如果问题仍未解决,请提供 dmesg | tail 的输出。

6. 检测到 /dev/mmcblk1 上存在分区表或虚拟映射

topeet@topeet:~$ sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
mkfs.fat 4.2 (2021-01-31)
mkfs.vfat: Partitions or virtual mappings on device '/dev/mmcblk1', not making filesystem (use -I to override)

根据错误提示,mkfs.vfat 检测到 /dev/mmcblk1 上存在分区表或虚拟映射,因此拒绝直接格式化整个磁盘。以下是最终解决方案:


方案一:强制覆盖整个磁盘(数据将永久丢失!

sudo mkfs.vfat -F 32 -n "SDKar" -I /dev/mmcblk1
  • 作用:强制格式化整个 U 盘,覆盖现有分区表和数据。
  • 适用场景:若您希望将 U 盘作为单一 FAT32 分区使用,且已备份所有数据。

方案二:仅格式化某个分区(推荐)

sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p6 # 替换为实际分区号
  • 作用:仅格式化指定分区(保留其他分区)。
  • 适用场景:若 U 盘已有多个分区,且您希望保留其他分区。

方案三:通过 fdisk 重新分区(高级)

  1. 删除所有分区
    sudo fdisk /dev/mmcblk1
    • 输入 d 删除现有分区(重复操作直至所有分区被删除)。
    • 输入 w 保存更改。
  2. 创建新分区
    sudo fdisk /dev/mmcblk1
    • 输入 n 创建新分区(选择默认选项)。
    • 输入 w 保存更改。
  3. 格式化新分区
    sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p1

关键说明

  1. 数据安全警告
    • 方案一和方案三会永久删除设备上的所有数据,请提前备份。
    • 方案二仅影响指定分区。
  2. 设备路径验证
    • 始终通过 lsblk 或 ls /dev/mmcblk1* 确认设备路径。
  3. 挂载点清理
    • 卸载后,挂载目录 /media/topeet/... 可能会残留,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

验证格式化结果

lsblk -f /dev/mmcblk1 # 查看文件系统类型是否为 vfat

如果问题仍未解决,请提供 dmesg | tail 的输出。

7. /dev/mmcblk1 仍被系统占用

topeet@topeet:~$ sudo mkfs.vfat -F 32 -n "SDKar" -I /dev/mmcblk1
mkfs.fat 4.2 (2021-01-31)
mkfs.vfat: unable to open /dev/mmcblk1: Device or resource busy

根据错误提示,/dev/mmcblk1 仍被系统占用,导致无法格式化。以下是分步解决方案:


步骤 1:彻底终止所有占用进程

# 1. 查找占用设备的进程
sudo lsof /dev/mmcblk1*


# 2. 终止所有相关进程(替换 <PID> 为实际进程号)
sudo kill -9 <PID>


# 或直接终止所有占用进程(强制模式)
sudo fuser -km /dev/mmcblk1*

步骤 2:强制卸载设备

sudo umount -fl /dev/mmcblk1* # -f 强制卸载,-l 懒卸载

步骤 3:重新插拔 U 盘

  1. 物理拔出 U 盘。
  2. 等待 5 秒后重新插入。

步骤 4:格式化 U 盘

方案一:强制格式化整个磁盘(数据将永久丢失!
sudo mkfs.vfat -F 32 -n "SDKar" -I /dev/mmcblk1
方案二:通过 fdisk 重新分区(高级)
  1. 删除所有分区
    sudo fdisk /dev/mmcblk1
    • 输入 d 删除现有分区(重复操作直至所有分区被删除)。
    • 输入 w 保存更改。
  2. 创建新分区
    sudo fdisk /dev/mmcblk1
    • 输入 n 创建新分区(选择默认选项)。
    • 输入 w 保存更改。
  3. 格式化新分区
    sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p1

步骤 5:验证格式化结果

lsblk -f /dev/mmcblk1 # 查看文件系统类型是否为 vfat

关键说明

  1. 数据安全警告
    • 格式化会永久删除设备上的所有数据,请提前备份。
    • 方案一和方案二(高级)会删除所有分区,方案三(推荐)仅影响指定分区。
  2. 设备路径验证
    • 始终通过 lsblk 或 ls /dev/mmcblk1* 确认设备路径。
  3. 挂载点清理
    • 卸载后,挂载目录 /media/topeet/... 可能会残留,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

常见问题

  • Q: 格式化后 U 盘无法识别?
    • 尝试重新插拔 U 盘。
    • 检查 dmesg | tail 输出,确认内核是否识别设备。
  • Q: 格式化速度慢?
    • FAT32 格式化通常较快,若卡顿请检查设备健康状态(如使用 smartctl)。

如果问题仍未解决,请提供 dmesg | tail 的输出。

8. /dev/mmcblk1p6 仍被挂载

topeet@topeet:~$ sudo mkfs.vfat -F 32 -n "SDKar" -I /dev/mmcblk1p6
mkfs.fat 4.2 (2021-01-31)
mkfs.vfat: /dev/mmcblk1p6 contains a mounted filesystem.

根据错误提示,/dev/mmcblk1p6 仍被挂载,导致无法格式化。以下是最终解决方案:


步骤 1:强制卸载被占用的分区

sudo umount -fl /dev/mmcblk1p6 # -f 强制卸载,-l 懒卸载

步骤 2:终止占用进程(如果需要)

# 1. 查找占用设备的进程
sudo lsof /dev/mmcblk1p6


# 2. 终止所有相关进程(替换 <PID> 为实际进程号)
sudo kill -9 <PID>


# 或直接终止所有占用进程(强制模式)
sudo fuser -km /dev/mmcblk1p6

步骤 3:重新插拔 U 盘

  1. 物理拔出 U 盘。
  2. 等待 5 秒后重新插入。

步骤 4:格式化分区

sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p6

步骤 5:验证格式化结果

lsblk -f /dev/mmcblk1p6 # 查看文件系统类型是否为 vfat

关键说明

  1. 数据安全警告
    • 格式化会永久删除设备上的所有数据,请提前备份。
  2. 设备路径验证
    • 始终通过 lsblk 或 ls /dev/mmcblk1* 确认设备路径。
  3. 挂载点清理
    • 卸载后,挂载目录 /media/topeet/... 可能会残留,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

常见问题

  • Q: 格式化后 U 盘无法识别?
    • 尝试重新插拔 U 盘。
    • 检查 dmesg | tail 输出,确认内核是否识别设备。
  • Q: 格式化速度慢?
    • FAT32 格式化通常较快,若卡顿请检查设备健康状态(如使用 smartctl)。

如果问题仍未解决,请提供 dmesg | tail 的输出。

9.一个u盘为什么,到linux系统上,出现啦6个分区 

mmcblk1      179:96   0 59.5G  0 disk 
├─mmcblk1p1  179:97   0    4M  0 part 
├─mmcblk1p2  179:98   0    4M  0 part 
├─mmcblk1p3  179:99   0   64M  0 part 
├─mmcblk1p4  179:100  0  128M  0 part 
├─mmcblk1p5  179:101  0   32M  0 part 
└─mmcblk1p6  179:102  0 59.2G  0 part 

您的 U 盘在 Linux 系统中显示 6 个分区,这是由以下原因导致的:


1. 制造商预设的分区结构

某些 U 盘出厂时会被预置多个分区,常见用途包括:

  • 隐藏分区:存储固件、驱动或恢复工具(如某些加密 U 盘)。
  • 启动分区:用于系统安装或维护(如 Windows To Go)。
  • 测试分区:制造商用于质量检测的临时分区。

您的 U 盘分区布局符合典型预设模式:

mmcblk1      179:96   0 59.5G  0 disk 
├─mmcblk1p1  179:97   0    4M  0 part  # 可能是 EFI 系统分区或保留分区
├─mmcblk1p2  179:98   0    4M  0 part  # 可能是未使用的空分区
├─mmcblk1p3  179:99   0   64M  0 part  # 可能是启动分区(如 GRUB)
├─mmcblk1p4  179:100  0  128M  0 part  # 可能是恢复分区或数据分区
├─mmcblk1p5  179:101  0   32M  0 part  # 可能是厂商工具分区
└─mmcblk1p6  179:102  0 59.2G  0 part  # 主数据分区(占用了绝大部分空间)

2. 用户或工具的自定义操作

以下操作可能导致多分区:

  • 手动分区:通过 fdisk/gparted 创建多个分区。
  • 多系统启动盘:如制作同时支持 Windows/Linux 的启动盘。
  • 加密工具:某些加密软件会创建独立分区存储密钥。

3. 分区表错误(较少见)

如果分区表损坏,系统可能误读分区数量,但您的分区布局规则(从小到大递增),更符合预设设计。


解决方案:合并为单一 FAT32 分区

步骤 1:备份数据

所有操作将删除 U 盘上所有数据,请先备份 /dev/mmcblk1p6 的重要文件。


步骤 2:卸载所有分区

sudo umount -fl /dev/mmcblk1* # 强制卸载所有分区

步骤 3:删除现有分区

sudo fdisk /dev/mmcblk1

在 fdisk 交互界面中按以下顺序操作:

  1. 输入 d 删除分区(重复操作,直到所有分区被删除)。
  2. 输入 w 保存更改并退出。

步骤 4:创建新分区

sudo fdisk /dev/mmcblk1

在 fdisk 交互界面中:

  1. 输入 n 创建新分区(直接回车选择默认选项)。
  2. 输入 w 保存更改并退出。

步骤 5:格式化为 FAT32

sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1p1

步骤 6:验证结果

lsblk -f /dev/mmcblk1

输出应显示单一分区 /dev/mmcblk1p1,文件系统类型为 vfat


注意事项

  1. 数据安全:所有操作会永久删除 U 盘数据,请确保已备份。
  2. 设备路径:操作对象是 /dev/mmcblk1(整个磁盘),而非单个分区。
  3. 兼容性:FAT32 格式化后的 U 盘在 Windows/macOS/Linux 均可识别。

如果问题仍未解决,请提供 dmesg | tail 的输出。

10. 格式化成功

topeet@topeet:~$ sudo mkfs.vfat -F 32 -n "SDKar" /dev/mmcblk1
mkfs.fat 4.2 (2021-01-31)
mkfs.fat: Warning: lowercase labels might not work properly on some systems

根据输出,您已成功将 U 盘格式化为 FAT32 文件系统,卷标为 SDKar。出现的警告信息 无需担心,这是 FAT 文件系统的一个特性提示。


警告信息解析

mkfs.fat: Warning: lowercase labels might not work properly on some systems
  • 含义:FAT 文件系统对卷标(Label)的大小写处理因系统而异。
    • 在 Linux/macOS 中,卷标 SDKar 会保留小写。
    • 在某些旧版 Windows 系统或设备中,卷标可能被强制转换为大写(如 SDKAR)。
  • 影响:该警告仅提示潜在兼容性问题,不影响格式化操作本身

解决方案(可选)

如果希望彻底避免警告,可改用全大写卷标重新格式化:

sudo mkfs.vfat -F 32 -n "SDKAR" /dev/mmcblk1

验证格式化结果

  1. 查看文件系统类型

    lsblk -f /dev/mmcblk1

    输出应显示 /dev/mmcblk1 的文件系统类型为 vfat

  2. 检查卷标

    sudo blkid /dev/mmcblk1

    输出应包含 LABEL="SDKar"(或 LABEL="SDKAR",如果使用了全大写)。


关键说明

  1. 数据安全
    • 格式化已成功完成,U 盘上的所有数据已被删除。
  2. 兼容性
    • FAT32 格式的 U 盘可在 Windows/macOS/Linux 系统中直接使用。
    • 单个文件大小限制为 4GB 以下。
  3. 挂载点清理
    • 如果之前有残留的挂载目录,可手动删除:
      sudo rmdir /media/topeet/5cd90ec7-a7aa-4bd4-be9b-97b5ad851fd5

后续操作建议

  1. 安全移除 U 盘

    sudo umount /dev/mmcblk1
  2. 重新插拔 U 盘

    • 物理拔出 U 盘,等待 5 秒后重新插入。
  3. 验证写入功能

    • 创建一个测试文件并复制到 U 盘:

      echo "Test" > test.txt
      sudo cp test.txt /media/topeet/SDKar/

如果问题仍未解决,请提供 dmesg | tail 的输出。

 11.ubuntu 查看磁盘格式

在 Ubuntu 系统中,您可以通过以下命令查看磁盘或分区的文件系统格式(如 ext4vfatntfs 等):


1. 使用 lsblk 命令

lsblk -f
  • 作用:列出所有块设备及其文件系统类型。
  • 输出示例
    NAME FSTYPE LABEL UUID MOUNTPOINT
    sda 
    ├─sda1 ext4 / xxxx-xxxx-xxxx-xxxx /
    └─sda2 ntfs Data yyyy-yyyy-yyyy-yyyy /mnt/data
    sdb vfat USB zzzz-zzzz-zzzz-zzzz /media/usb
  • 关键字段
    • FSTYPE:文件系统类型(如 ext4vfatntfs)。
    • MOUNTPOINT:挂载点路径。

2. 使用 blkid 命令

sudo blkid
  • 作用:显示所有设备的 UUID 和文件系统类型。
  • 输出示例
    /dev/sda1: UUID="xxxx-xxxx-xxxx-xxxx" TYPE="ext4" PARTUUID="aaaa-aaaa"
    /dev/sda2: UUID="yyyy-yyyy-yyyy-yyyy" TYPE="ntfs" PARTUUID="bbbb-bbbb"
    /dev/sdb: UUID="zzzz-zzzz-zzzz-zzzz" TYPE="vfat" PARTUUID="cccc-cccc"
  • 关键字段
    • TYPE:文件系统类型。

3. 使用 fdisk 命令

sudo fdisk -l
  • 作用:查看磁盘分区表及文件系统类型(需结合 -l 参数)。
  • 输出示例
    Device Boot Start End Sectors Size Id Type
    /dev/sda1 * 2048 20973567 20971520 10G 83 Linux
    /dev/sda2 20973568 41940991 20967424 10G 7 HPFS/NTFS/exFAT

  • 关键字段
    • Id:分区类型代码(如 83 对应 Linux7 对应 HPFS/NTFS)。
    • Type:文件系统类型(需结合代码表解读)。

4. 使用 df 命令

df -T
  • 作用:显示已挂载文件系统的类型。
  • 输出示例
    Filesystem Type 1K-blocks Used Available Use% Mounted on
    /dev/sda1 ext4 10485760 2048 10483712 1% /
    /dev/sda2 ntfs 20971520 4096 20967424 1% /mnt/data
    /dev/sdb vfat 8388608 1024 8387584 1% /media/usb

  • 关键字段
    • Type:文件系统类型。

查看特定设备(如 U 盘)的格式

假设您的 U 盘设备为 /dev/mmcblk1,直接指定设备路径:

lsblk -f /dev/mmcblk1
# 或
sudo blkid /dev/mmcblk1*

文件系统类型速查表

代码/缩写文件系统类型常见用途
ext4Linux 第四代扩展文件系统Linux 系统盘
vfatFAT32U 盘、跨平台兼容设备
ntfsNTFSWindows 系统盘
exfatexFAT大文件存储(跨平台)
hfsplusHFS+macOS 系统盘

注意事项

  1. 权限问题:部分命令(如 blkidfdisk)需要 sudo 权限。
  2. 设备路径:确保使用正确的设备路径(如 /dev/sda/dev/mmcblk1)。
  3. 动态更新:如果磁盘未挂载,部分命令(如 df)可能不显示信息。

如果有具体设备或场景需要进一步分析,请提供 lsblk 或 blkid 的输出片段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值