如何使用混合MBR修复损坏的GPT?

me0076

我的SD卡存在一些问题,无法修复。
这是GNOME磁盘中磁盘的外观:Ubuntu磁盘

当我运行时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卡可能处于某种写保护模式。可能的原因:

  1. 闪存已用完,无法再写入。(这不好!)
  2. 可以启用物理写保护开关。(将其关闭以再次启用写操作。)

在我的情况下,闪存控制器在闪存发生故障后默默地放弃了我的写操作,因此,即使写操作看起来很成功,损坏的分区表也会在下一次读取时恢复。

如果您的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 是我坏掉的闪存驱动器,它默默地丢弃了写入。

  1. 尝试清除分区表:

    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
    
  2. 坏的分区表立即返回:

    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:
    
  3. 使用擦除磁盘的开头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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何修复损坏的HDFS文件

来自分类Dev

修复损坏的编码(使用Python)

来自分类Dev

如何修复损坏的Perl权限?

来自分类Dev

如何使用bash脚本修复OneDrive损坏的zip

来自分类Dev

如何修复Windows 7的MBR?

来自分类Dev

如何从终端检测磁盘是使用GPT还是MBR?

来自分类Dev

如何修复损坏的Ruby配置

来自分类Dev

如何修复混合索引

来自分类Dev

如何使用bash脚本修复OneDrive损坏的zip

来自分类Dev

如何修复Windows 7的MBR?

来自分类Dev

如何修复损坏的Powershell安装?

来自分类Dev

GPT与MBR。为什么不使用MBR?

来自分类Dev

可移动磁盘,混合GPT / MBR

来自分类Dev

如何修复“ python安装损坏”?

来自分类Dev

如何修复损坏的.Deb?

来自分类Dev

如何修复损坏的“ msgfmt”安装?

来自分类Dev

使用utorrent修复损坏的文件

来自分类Dev

如何修复文件系统损坏?

来自分类Dev

如何修复/修复损坏的PDF文件?

来自分类Dev

如何修复损坏的AVI文件?

来自分类Dev

如何使用Windows版GhostScript修复损坏的PDF文件

来自分类Dev

使用启动修复修复双启动MBR

来自分类Dev

如何正确损坏和修复MBR?

来自分类Dev

gdisk,对损坏的GPT表进行永久修复

来自分类Dev

如何修复损坏的MicroSD卡?

来自分类Dev

将混合GPT / MBR转换为纯GPT分区方案

来自分类Dev

如何修复损坏的 glibc 包

来自分类Dev

如何修复损坏的 Gnome?

来自分类Dev

如何修复风扇损坏的配置?