我有一个闪迪 Ultra 16 GB SD 卡并将其格式化为我的内部存储诺基亚2.1(Android 9 - 未 root)。
我无法在手机上使用或格式化 SD 卡。
当我选择将其格式化为内部存储时,我得到以下信息:
Attempt to invoke virtual method 'java.lang.String android.os.storage.VolumeInfo.getId()' on a null object reference.
当我选择另一个选项 - 格式化为可移动媒体 - 格式化过程已完成,但没有任何反应,并且我的手机仍然无法识别我的 SD 卡。
所以我决定用我的电脑格式化它。这是 gparted 显示的内容:
当我删除这两个分区时,操作完成,但我仍然有这些分区!
当我尝试删除这些分区并使用 GParted 创建新的 FAT32 分区时,出现以下错误:
create empty partition 00:00:04 ( SUCCESS )
path: /dev/sdb3 (partition)
start: 2048
end: 31115263
size: 31113216 (14.84 GiB)
libparted messages ( INFO )
Can't have overlapping partitions.
Partition(s) 3 on /dev/sdb have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.
所以我尝试使用 dd 将零写入整个光盘:
[dsm@dsm-pc ~]$ sudo dd if=/dev/zero of=/dev/sdb status=progress
[sudo] password for dsm:
15928488448 bytes (16 GB, 15 GiB) copied, 3894 s, 4.1 MB/s
dd: writing to '/dev/sdb': No space left on device
31116289+0 records in
31116288+0 records out
15931539456 bytes (16 GB, 15 GiB) copied, 3922.32 s, 4.1 MB/s
之后什么也没发生,我仍然保留着那些分区!
我不需要我的数据,有办法格式化这张 SD 卡吗?我在这里和其他网站上检查了许多类似的问题,但没有一个有帮助。
更新#2:
我尝试了@2419的建议:
[dsm@dsm-pc ~]$ sudo fdisk /dev/sdb
Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Partition number (1,2, default 2):
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
之后我检查了分区,没有任何改变!
[dsm@dsm-pc ~]$ sudo fdisk /dev/sdb -l
Disk /dev/sdb: 14.86 GiB, 15931539456 bytes, 31116288 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: gpt
Disk identifier: 1D5C6913-E83B-4D16-9CEC-0946D0203D84
Device Start End Sectors Size Type
/dev/sdb1 2048 34815 32768 16M unknown
/dev/sdb2 34816 31116254 31081439 14.8G unknown
答案1
如果是经典 SD 卡:确保机械写锁没有终止。
比尝试使用 fdisk 找到你的分区
# fdisk -l
打开设备上的所有分区
# fdisk /dev/sdb
按+删除设备 ( /dev/sdb2
)上的最后一个分区。注意:fdisk 默认选择最后一个分区。现在设备上还剩下一个分区。重复+就会被删除。
d
Enter
d
Enter
/dev/sdb1
确保您没有格式化或删除任何您不想格式化的内容。比用w
+写下所有更改Enter
。
您还可以在编写所有内容之前格式化创建一个分区并将其格式化为您想要使用的布局。使用l
+检查可用的分区类型Enter
。