我有一个 USB 闪存,但我无法对其执行任何操作,因为它是只读的:
sudo fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 2048 7864319 7862272 3.8G b W95 FAT32
我尝试修复文件系统mkfs
并得到以下结果:
sudo mkfs.fat -F 32 /dev/sdc1
mkfs.fat 3.0.28 (2015-05-16)
mkfs.fat: unable to open /dev/sdc1: Read-only file system
我怎样才能解决这个问题?
PS:我们假设 USB 在设计上没有写保护,例如使用手动开关。
答案1
确保您正在使用升级的权限执行文件系统管理操作。大多数系统不允许用户修改文件系统。
确保设备尚未安装。以 root 身份执行
lsblk
并查找任何使用/dev/sdc1
.如果已安装,则必须在使用 mkfs 格式化之前卸载它。确保设备不是只读 UFD。尽管不常见,但它们确实存在……通常是供应商摊位上的分发品,上面有产品表或其他供应商信息。
快速演练步骤
- 验证您是否以 root 身份执行所有任务。最好的方法是简单地以 root 身份打开 shell:在终端中,执行
sudo -i
通常是最简单的方法。 - 卸载设备
umount /dev/sdc1
(如果未安装可能会给出错误信息,如果发生这种情况不用担心)
维维维警告这将破坏设备上的所有数据维维维
- 格式化设备
mkfs.vfat /dev/sdc1
(如果您愿意,可以强制使用 32 位大小,但 mkfs 会选择最适合卷大小的内容)
如果这不起作用,您可能需要擦除设备,使用 fdisk 重新创建分区,然后重试:
wipefs -a /dev/sdc
同样,这将破坏所有剩余的数据。你被警告了。