我的SD卡存在一些问题,无法修复。
这是GNOME磁盘中磁盘的外观:
当我运行时gdisk /dev/sdb
,它给出以下输出:
sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.
我不确定应该使用哪个分区表,但是我使用了GPT(创建空白GPT没有帮助),这是分区的样子:
Command (? for help): p
Disk /dev/sdb: 125067264 sectors, 59.6 GiB
Model: Multi-Card
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 76A0F070-E171-475B-9409-53840D61AD12
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4194270
Partitions will be aligned on 2048-sector boundaries
Total free space is 671677 sectors (328.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 67583 32.0 MiB 0C01 hassos-boot
2 67584 116735 24.0 MiB 8300 hassos-kernel0
3 116736 641023 256.0 MiB 8300 hassos-system0
4 641024 690175 24.0 MiB 8300 hassos-kernel1
5 690176 1214463 256.0 MiB 8300 hassos-system1
6 1214464 1230847 8.0 MiB 8300 hassos-bootstate
7 1230848 1427455 96.0 MiB 8300 hassos-overlay
8 1427456 3524607 1024.0 MiB 8300 hassos-data
当我想验证磁盘时,我将获得此信息:
Caution: The CRC for the backup partition table is invalid. This table may
be corrupt. This program will automatically create a new backup partition
table when you save your partitions.
Problem: The secondary header's self-pointer indicates that it does not reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.
Identified 2 problems!
我设法解决了这些问题,然后得到了以下信息:
No problems found. 121544637 free sectors (58.0 GiB) available in 2
segments, the largest of which is 121542623 (58.0 GiB) in size.
但是写完之后我得到了:
OK: writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
但是,当我再次检查分区时,它仍然相同。我试图一一删除所有分区,然后创建一个新的空GUID分区表,但是在写完之后我得到了:
OK: writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
但是,当我再次检查分区时,它仍然相同。我认为这是因为混合MBR和损坏的GPT。有什么办法可以同时删除这两个表?还是我可以做些什么来解决这个问题?
提前致谢
我最近实际上也有同样的问题。您的SD卡可能处于某种写保护模式。可能的原因:
在我的情况下,闪存控制器在闪存发生故障后默默地放弃了我的写操作,因此,即使写操作看起来很成功,损坏的分区表也会在下一次读取时恢复。
如果您的SD卡的状态如此,则很可能是发生了故障,您需要购买一张新的SD卡。
我怀疑您遇到了第一个问题,因为如果写保护开关处于活动状态,您将看到某种“只读”通知,因为Linux可以检测到闪存盘或SD卡是否被写保护。(请参阅/var/log/syslog
)
具有写保护的闪存驱动器的示例/dev/sdc
:
5月29日18:26:44演示内核:[32319.722491] scsi 2:0:0:0:Direct-Access NA NA 1.26 PQ:0 ANSI:5 May 29 18:26:44演示内核:[32319.723377] sd 2: 0:0:0:附加的scsi通用sg1类型0 5月29日18:26:44演示内核:[32319.724325] sd 2:0:0:0:[sdc] 31266816 512字节逻辑块:(16.0 GB / 14.9 GiB )5月29日18:26:44演示内核:[32319.725131] sd 2:0:0:0:[sdc]写保护于 5月29日18:26:44演示内核:[32319.725137] sd 2:0:0: 0:[sdc]模式检测:43 00 80 00 May 29 18:26:44演示内核:[32319.725389] sd 2:0:0:0:[sdc]写入缓存:已禁用,读取缓存:已启用,未启用支持DPO或FUA 5月29日18:26:44演示内核:[32319.737297] sdc:sdc1 5月29日18:26:44演示内核:[32319.739266] sd 2:0:0:0:[sdc]附加的SCSI可移动磁盘
/dev/sdb
是我坏掉的闪存驱动器,它默默地丢弃了写入。
尝试清除分区表:
root@demo [~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer: 2
Command (? for help): p
Disk /dev/sdb: 7897087 sectors, 3.8 GiB
Model: USB Flash Disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 5904C65E-B410-474D-B22F-9FEA7E3582C2
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 7897053
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02 BIOS boot partition
2 4096 106495 50.0 MiB EF00 EFI System
3 106496 7897053 3.7 GiB 8300 Linux filesystem
Command (? for help): x
Expert command (? for help): z
About to wipe out GPT on /dev/sdb. Proceed? (Y/N): y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): y
坏的分区表立即返回:
root@demo [~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer:
使用擦除磁盘的开头dd
没有任何效果,或者:
root@demo [~]# hexdump -C /dev/sdb | head
00000000 eb 63 90 00 00 00 00 00 00 00 00 00 00 00 00 00 |.c..............|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000050 00 00 00 00 00 00 00 00 00 00 00 80 00 08 00 00 |................|
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 bb 17 04 |. ..d|<.t...R...|
00000090 f6 07 03 74 06 be 88 7d e8 17 01 be 05 7c b4 41 |...t...}.....|.A|
000000a0 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 37 83 |..U..ZRr=..U.u7.|
000000b0 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 44 02 |[email protected].|
root@demo [~]# dd if=/dev/zero of=/dev/sdb bs=1M count=1 status=progress
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0219383 s, 47.8 MB/s
root@demo [~]# hexdump -C /dev/sdb | head
00000000 eb 63 90 00 00 00 00 00 00 00 00 00 00 00 00 00 |.c..............|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000050 00 00 00 00 00 00 00 00 00 00 00 80 00 08 00 00 |................|
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 bb 17 04 |. ..d|<.t...R...|
00000090 f6 07 03 74 06 be 88 7d e8 17 01 be 05 7c b4 41 |...t...}.....|.A|
000000a0 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 37 83 |..U..ZRr=..U.u7.|
000000b0 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 44 02 |[email protected].|
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句