无法以读写方式打开 /dev/sdb(只读文件系统)

无法以读写方式打开 /dev/sdb(只读文件系统)

正如标题所示,我无法格式化它,因为它显示为只读。我尝试了几次搜索和解决方案。我甚至尝试了 GParted 来看看我是否有运气。不幸的是,下面是我得到的结果。

GParted 0.11.0 --enable-libparted-dmraid

Libparted 2.3

Delete /dev/sdb1 (fat32, 14.91 GiB) from /dev/sdb  00:00:00    ( ERROR )
        
calibrate /dev/sdb1  00:00:00    ( SUCCESS )
        
path: /dev/sdb1
start: 32
end: 31,266,815
size: 31,266,784 (14.91 GiB)
delete partition  00:00:00    ( ERROR )
libparted messages    ( INFO )
        
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.
Can't write to /dev/sdb, because it is opened read-only.
Unable to open /dev/sdb read-write (Read-only file system). /dev/sdb has been opened read-only.

输出dmesg

[10061.878073] usb 2-1.3: new high-speed USB device number 8 using ehci_hcd
[10061.972140] scsi9 : usb-storage 2-1.3:1.0
[10062.969922] scsi 9:0:0:0: Direct-Access     SanDisk  Cruzer Blade     1.20 PQ: 0 ANSI: 5
[10062.971746] sd 9:0:0:0: Attached scsi generic sg2 type 0
[10062.972799] sd 9:0:0:0: [sdb] 31266816 512-byte logical blocks: (16.0 GB/14.9 GiB)
[10062.976439] sd 9:0:0:0: [sdb] Write Protect is on
[10062.976453] sd 9:0:0:0: [sdb] Mode Sense: 43 00 80 00
[10062.977353] sd 9:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[10062.999026]  sdb: sdb1
[10063.003367] sd 9:0:0:0: [sdb] Attached SCSI removable disk

输出fsck

sudo fsck -n /dev/sdb
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Device or resource busy while trying to open /dev/sdb
Filesystem mounted or opened exclusively by another program?

输出sudo fdisk -l /dev/sdb

Disk /dev/sdb1: 16.0 GB, 16008593408 bytes
64 heads, 32 sectors/track, 15266 cylinders, total 31266784 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b

This doesn't look like a partition table
Probably you selected the wrong device.

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1   ?   778135908  1919645538   570754815+  72  Unknown
/dev/sdb1p2   ?   168689522  2104717761   968014120   65  Novell Netware 386
/dev/sdb1p3   ?  1869881465  3805909656   968014096   79  Unknown
/dev/sdb1p4   ?  2885681152  2885736650       27749+   d  Unknown

Partition table entries are not in disk order

我尝试了很多方法,但这个问题还没有解决。有没有什么办法可以解决这个问题?

答案1

首先尝试命令sudo hdparm -r0 /dev/sdb(方法取自另一个 askubuntu 答案)。然后尝试重新安装 rw 分区。如果这些步骤不起作用,那么您很可能没有运气使用该 pendrive。

由于内核表示整个驱动器都受到写保护,因此您必须处理驱动器级别的保护。

hdparm这样做。如果不能解决这个问题,很可能是你的 U 盘在设计上被写保护了,或者出了故障。

如果你把它拆开,它的外壳下面可能有一个硬件开关。如果以前是可写的,那么这个开关可能被翻转了;如果以前不可写,那么可能它一直处于打开状态。

此外,在谷歌上搜索您的设备也会出现很多结果,即使在 Windows 上也会出现同样的问题。这是来自 Sandisk 论坛

对于 SanDisk USB 记忆棒,答案已发布多次。如果是新的,请将其退回购买地。如果在保修期内,请将其退回 SanDisk。这两种选择都可以为您带来新的 USB 记忆棒。没有其他一致的选择。

来自 Sandisk 论坛

如果你联系客服,这是官方的答复:

“我了解到您在访问 Cruzer 闪存驱动器时遇到写保护错误。闪存驱动器检测到潜在故障并已设置为写保护以防止数据丢失。没有方法可以修复此问题。您需要备份数据并更换闪存驱动器。我们的开发人员团队正在与操作系统开发人员合作寻找解决此问题的解决方案。请注意,只有一小部分用户遇到写保护问题,这些是在网上发帖寻求解决方案的客户。”

所以很可能没有办法解决它。

答案2

我的问题一直是 SD 卡侧面的小锁开关被移到了“锁定”位置。是的,我指的是 SD 卡侧面的物理开关。

看这个图片:

SD 卡标有锁定状态

答案3

如果您还没有尝试过,请先卸载您想要格式化的分区,然后继续进行下一步的工作。


要检查安装的权限,您可以使用:

ls -ld /path/to/target

如果是权限问题,解决它可以通过更改权限chmod或仅递归更改所有权来解决,这就是我下面展示的内容:

sudo chown <username>:<groupname> -R /path/to/target

现在,如果需要,您还可以使用 chmod 设置权限:

find /path/to/target -type f -execdir chmod 666 -Rv {} +

(授予所有者、组和世界对目标中的所有文件的 RW 权限。)

find /path/to/target -type d -execdir chmod 777 -Rv {} +

(授予目标中所有目录的所有者、组和世界 RWX 权限。)

sudo chmod(如果所有者是 root 则使用)

相关内容