烧录ISO后U盘无法擦除文件,/dev/sdb分区丢失如何解决?
解决U盘分区丢失、无法删除文件的问题
别担心,这种情况太常见了——当你把ISO镜像直接写入整个U盘时,它会覆盖掉原有的分区表,导致系统没法识别出正常的分区,自然也就没法删除文件。下面是一步步帮你恢复分区、清理U盘的方法:
第一步:确认目标U盘(重中之重!)
首先必须搞清楚你要操作的U盘对应的设备名,绝对不能选错(比如把系统盘当成U盘操作,会丢失所有数据)。
- 打开终端,执行命令:
或者lsblksudo fdisk -l - 从输出里找大小和你的U盘匹配的设备,比如
/dev/sdb(注意它下面没有分区项,比如/dev/sdb1,这就是你的目标盘)。对比一下/dev/sda(通常是系统盘,下面会有/dev/sda1、/dev/sda2等分区),别搞混!
第二步:清除旧的分区表
用dd命令把U盘开头的分区表覆盖掉,这一步会清除磁盘上的所有数据:
sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1
- 执行后会提示类似
1+0 records in, 1+0 records out的信息,说明操作成功。
第三步:重新创建分区表和分区
用fdisk工具重建分区:
- 执行命令进入fdisk:
sudo fdisk /dev/sdb - 在fdisk交互界面里:
- 输入
g创建GPT分区表(如果你的U盘小于2TB,也可以输入o创建MBR分区表,GPT更适合现代设备) - 输入
n新建分区:- 按提示选择分区类型(默认主分区,直接回车)
- 分区编号(默认1,回车)
- 起始扇区(默认回车,用磁盘开头)
- 结束扇区(默认回车,用整个磁盘空间)
- 输入
w保存分区表并退出fdisk
- 输入
第四步:格式化分区
现在U盘会出现一个新的分区,比如/dev/sdb1,把它格式化成你需要的文件系统:
- 兼容性最好的FAT32(适合跨Windows/Linux使用):
sudo mkfs.vfat /dev/sdb1 - 如果需要支持大文件(单个文件超过4GB),可以用NTFS:
sudo mkfs.ntfs /dev/sdb1 - 仅在Linux下使用的话,用ext4:
sudo mkfs.ext4 /dev/sdb1
可选:用图形工具简化操作
如果你对命令行不太熟悉,可以用gparted图形工具:
- 安装gparted(Debian/Ubuntu系:
sudo apt install gparted;RHEL/CentOS系:sudo dnf install gparted) - 打开gparted,从右上角的设备列表里选择你的U盘
- 点击顶部菜单栏的「设备」→「创建分区表」,选择GPT或MBR,确认
- 右键点击未分配的磁盘空间,选择「新建」,设置文件系统类型,点击「添加」
- 点击顶部的「应用」按钮,等待操作完成
完成这些步骤后,你的U盘就恢复成正常状态了,接下来就可以重新烧录ISO文件啦!
内容的提问来源于stack exchange,提问作者Ash




