Linux上检查U盘可读和修复

一、先确认:是"挂载只读",还是"设备只读"

1️⃣ 看挂载状态

bash 复制代码
mount | grep -i sd
# 或
findmnt /run/media

如果看到类似:

/dev/sdb1 on /run/media/usb type vfat (ro,nosuid,nodev)

说明是 文件系统被以 ro 挂载

2️⃣ 看内核是否把设备标记为只读(更严重)

bash 复制代码
lsblk -o NAME,RO,RM,SIZE,TYPE,MOUNTPOINT

示例:

bash 复制代码
sdb    1  1  29G disk
└─sdb1 1  1  29G part /run/media/usb
  • RO=1内核层面只读

  • 这种情况 重新 mount 往往没用

二、只是"挂载成只读"的情况(还有救)

3️⃣ 尝试重新以 rw 挂载

bash 复制代码
umount /dev/sdb1
mount -o remount,rw /dev/sdb1
或
mount -o rw /dev/sdb1 /run/media/usb

如果成功 → 问题结束。

三、文件系统出错,内核自动保护(最常见)

4️⃣ 看内核日志(非常关键)

bash 复制代码
dmesg | tail -n 50

如果看到:

FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain

Remounting filesystem read-only

Buffer I/O error on dev sdb

说明:

👉 文件系统损坏,内核强制只读

5️⃣ 对应文件系统修复

⚠️ 先卸载!

bash 复制代码
umount /dev/sdb1
FAT / exFAT(最常见 U 盘)
fsck.vfat -a /dev/sdb1
# 或
fsck.exfat /dev/sdb1
# 或
fsck.ext4 -f /dev/sdb1

修复完成后重新插拔或重新挂载。

四、设备被硬件写保护(基本没救)

6️⃣ 看设备是否被内核标记为只读

bash 复制代码
cat /sys/block/sdb/ro
  • 输出 1设备级只读

  • 输出 0 → 还能尝试

也可以

bash 复制代码
hdparm -r /dev/sdb

如果看到:

readonly = 1 (on)

尝试关闭:

hdparm -r0 /dev/sdb

❗如果失败:

SG_IO: bad/missing sense data

👉 说明是 U 盘控制器主动锁死

五、闪存寿命耗尽(非常常见)

6️⃣ 查看是否写保护

如果你看到 dmesg 类似:

bash 复制代码
usb-storage: device write protect is on

或:

Write Protect is on

这是 U 盘主控检测到 NAND 坏块过多

→ 自动进入 只读模式防止数据进一步损坏

⚠️ 这种情况:

  • ❌ 无法恢复写入

  • ✅ 还能拷数据

  • 🔥 只能换新 U 盘

相关推荐
爱写代码的森9 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
大耳朵-小飞象12 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技12 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室14 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影14 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
神奇霸王龙15 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
Web极客码15 小时前
WordPress SEO优化:提升网站排名的13个关键步骤
服务器·seo·wordpress
生活爱好者!15 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
groundhappy16 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python