我有一张 64GB 的微型 SD 卡,它是从 Android 手机中取出的,没有卸载(升级到 Android 7.1 后找不到卸载,他们试图让它变得简单和直观 - 它是一个弹出图标,在菜单中有 6 级深度,因此无法通过搜索“卸载”找到)
现在,SD 卡可以挂载和卸载,也可以从中复制数据,但是无法再写入、删除文件、格式化或写入新的分区表;删除文件似乎可以,但是卸载并再次挂载后,一切都恢复到从 Linux 向微型 SD 卡复制文件时第一次出错的状态;因此,在不卸载的情况下将卡从 Android 手机中取出后,在几个挂载/卸载循环中,写入卡的操作有效;
尝试在 Android 手机中格式化它时出错;在相机中,它说存储卡已锁定;在Ubuntu 18.04:
lsblk
mmcblk1 179:24 0 59.5G 0 disk
└─mmcblk1p1 179:25 0 59.5G 0 part
创建分区表
sudo gparted
Input/output error during write on /dev/mmcblk1
sudo hdparm -I /dev/mmcblk1p1
/dev/mmcblk1p1:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
sudo hdparm -I /dev/mmcblk1
/dev/mmcblk1:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
sudo hdparm -v /dev/mmcblk1
/dev/mmcblk1:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
readonly = 0 (off)
readahead = 256 (on)
geometry = 1949664/4/16, sectors = 124778496, start = 0
sudo hdparm -L 0 /dev/mmcblk1p1
/dev/mmcblk1p1:
setting drive doorlock to 0 (off)
HDIO_DRIVE_CMD(doorlock) failed: Invalid argument
sudo gnome-disks
Error while repairing filesystem
on dev/mmcblk1p1
Process reported exit code 1: fsck.fat 4.1(2017-01-24) (udisks-error-quark, 0)
sudo fsck /dev/mmcblk1p1
fsck from util-linux 2.31.1
fsck.fat 4.1 (2017-01-24)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Perform changes ? (y/n) y
fsck 没有出错,但再次运行它,一切又恢复如初。
sudo mkfs.vfat -n 64 /dev/mmcblk1p1
mkfs.fat 4.1 (2017-01-24)
格式没有错误,但是再次安装时,一切都恢复如初。
testdisk
Disk /dev/mmcblk1 - 63 GB / 59 GiB - CHS 1949664 4 16
Current partition structure:
Partition Start End Size in sectors
1 * FAT32 LBA 32 0 1 1949663 3 16 124776448 [64d]
Warning: Bad starting sector (CHS and LBA don't match)
sudo dd if=/dev/zero of=/dev/mmcblk1 bs=512 seek=1
4GB 之后通过 control-c 停止它,仍然没有变化,文件仍然存在,无法写入 micro sdcard
基本上,格式化、使用 gparted 写入新分区表、使用 fsck 清除脏位,甚至使用 dd 写入,似乎都没有效果。微型 SD 卡没有物理损坏,挂载/卸载都很好,这就是为什么我认为格式化它,如果没有,那么使用 gparted 写入新分区表应该可以完全清除它并使其再次像新的一样。我错过了什么?为什么我不能格式化它?还有什么我可以尝试的吗?好像它里面有一些设置无法通过这些工具访问;它是一张 Transcend 微型 SD 卡
编辑:尝试在 Windows XP 上格式化微型 SD 卡,它说该卡是只读的;连接到 USB 微型 SD 卡适配器,显示卡为 32GB,然后连接到多卡读卡器(微型 SD 卡插入 SD 卡适配器插入读卡器,USB 读卡器输出),显示 60GB 且是只读的;问题不在于适配器,因为我将卡插入装有 ubuntu 18.04 的笔记本电脑中,该笔记本电脑有一个微型 SD 卡插槽,所以没有适配器,在安卓手机中也是如此,同样,没有适配器;
尝试过 mkusb-dus,但它拒绝擦除或重置卡
尝试使用 dd 覆盖整个卡,但再次安装后,所有内容仍然存在;文件可以复制但不能删除;无法创建分区表来重置 SD 卡
我读到有一个只读的磁盘范围属性,我会尝试看看是否可以重置它
答案1
在开始修理之前,请备份(复制)卡上的所有重要文件。
您可以根据这个链接分析问题,
我希望您能够通过删除第一个 mibibyte 中的一些数据(这会使写入工具无法工作)使卡再次可写入。否则,您至少会了解问题所在以及卡为何是只读的(例如,它“卡住了”)。
也可能存在其他问题,例如“安装问题”,可根据以下链接进行修复,
使用自定义权限和所有者在 USB 驱动器中安装 NTFS 分区
如果有 exFAT 文件系统,以下链接可能有助于您在 Ubuntu 中管理它,