u 盘插入 openSUSE 台式机后数据损坏

       刚才一切都是正常的,我可以用我的 nokia5730 播放音乐,查看里面的图片和文件。

直到一分钟前,我用读卡器将 micro 的 sd 卡插入 openSUSE 台式机,把里面的音乐复制上去后插回了 5730,发现文件管理器打不开 sd 卡了(5730 本身无法挂载这张 sd 卡了),但是放到我的台式机里还能看 (但是放到华硕厂家自带的盗版 win10 里也检测不到了)。
谁能告诉我这是为什么,虽然解决办法我也知道,把这卡的数据备份然后用 fdisk 和 mkfs 删除分区重建分区格式化再把数据拷回来就行,但是害怕啥时候又有哪里的数据坏了 (而且虽然备份了但我还没确认过数据有多少损坏了)。

用 fdisk 查看这个卡的分区发现全是我没见过的类型,而且分区还莫名的多(顺便说下我这 sd 卡总共 16G 可用空间 15G 多,不明白下面 500G 往上的数字咋冒出来的):

Welcome to fdisk (util-Linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The device contains ‘vfat’ signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Command (m for help): p

Disk /dev/sdc1: 15 GiB, 16109780992 bytes, 31464416 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
Disklabel type: dos
Disk identifier: 0x6f20736b

Device Boot Start End Sectors Size Id Type
/dev/sdc1p1 778135908 1919645538 1141509631 544.3G 72 unknown
/dev/sdc1p2 168689522 2104717761 1936028240 923.2G 65 Novell Netware 386
/dev/sdc1p3 1869881465 3805909656 1936028192 923.2G 79 unknown
/dev/sdc1p4 2885681152 2885736650 55499 27.1M d unknown

Partition table entries are not in disk order.

Command (m for help): q

我觉得有可能是 openSUSE 系统对卡做过什么更改了,可能是 5730 的系统太弱智和落后导致一个小的更改就识别不出来了(记得中兴的天翼老安卓机的 sd 卡也发生过这情况,当时我也是把重新格式化再把数据搞回去)。
或者是我电脑硬件出问题和 openSUSE 系统本身有 bug 了。
以前用中了一堆病毒的盗版 windows 的时候从来没发生过这种情况(感觉也有可能是在不干净的系统上用过所以出问题)。

所以我想知道这是 Linux 系统和塞班系统老安卓之间碰撞必然会发生的火花还是神马 bug,有啥预防措施没。

顺便问下中了病毒数据损坏并开启了写保护的金士顿 128Gu 盘,怎样可以解除它的写保护,我现在都没法格式化,只能放着不管了。
还有由于各种莫名误操作导致无法格式化和无法分区而且还有写保护的 micro 的 sd 卡该怎么解除写保护。
总之我从使用各种 Linux 开始就开启了 u 盘损坏的道路。。。
(不过上面那个金士顿是 windows 上中病毒导致的)。

看起来是没有分区。sudo file -s /dev/sdc 看看?

这个 sd 卡买回来的时候就像 u 盘一样已经有一个分区了,之前也用着没问题但是不知为何昨天插上电脑后就变成这样了 (除了把里面的东西复制到电脑上我啥也没干).
这个命令输出如下,好像是说已经有一个分区了:
/dev/sdc: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,0,0), end-CHS (0x0,0,0), startsector 32, 31464416 sectors, extended parti
tion table (last)

哦,你的命令写错了:你 fdisk 查看的是 /dev/sdc1,不是 /dev/sdc……那没问题了。

你使用之后是不是没有正常卸载?

记不清了,应该是正常卸载再拔出的,但是因为机箱放在脚底下,所以有可能不小心用腿碰过读卡器。
现在我用这命令卸载了:udisksctl unmount -b /dev/sdc1

我曹确实写错了,但是不知为何连 windows 都打不开这个 sd 卡 (插上去以后和拔掉会有提示音,但是怎么右键刷新在我的电脑里都显示不出来),问题是在 openSUSE 里看起来好像一切正常。
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sdc: 15 GiB, 16109797376 bytes, 31464448 sectors
Disk model: Storage Device
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device Boot Start End Sectors Size Id Type
/dev/sdc1 32 31464447 31464416 15G c W95 FAT32 (LBA)

还有我使用 u 盘的时候因为需要自动挂载,所以在刚插上去还没挂载的时候总是直接拔下来 (因为我觉得没对里面的数据读写所以不会有损伤),是不是这步有啥问题啊。
(比如说用 fdisk 和 mkfs 创建格式化分区完毕的时候,因为我觉得反正也没挂载所以就直接拔了,怎么感觉越写越害怕。。。)

我不了解 Windows。

没挂载就直接拔呗。fdisk 和 mkfs 应该有调用 fsync 保证数据写上去了。没挂载也不会有正常卸载文件系统的需求(也就 FAT 和 NTFS 文件系统会有这种需求)。