主 GPT 表损坏(RAID-1 并挂载为 /home)导致我无法重新安装 Linux

主 GPT 表损坏(RAID-1 并挂载为 /home)导致我无法重新安装 Linux

环境:Linux TRANQUILITY 5.3.18-150300.59.49-preempt #1 SMP PREEMPT Mon Feb 7 14:40:20 UTC 2022 (77d9d02) x86_64 x86_64 x86_64 GNU/Linux同样是 OpenSuse Leap 15.3 和 KDE Plasma 5

当我从 USB 记忆棒运行操作系统安装时,我进行到分区检查,结果出现错误:-(/usr/bin/udevadm /dev/sdd1 could not be found (failed)如果不重新运行安装过程,我就记不清准确的错误文本了,但这就是它的要点)

去年(2021 年 4 月),我遇到了一个问题,我丢失了/home数据,不得不把非 RAID 磁盘送到数据恢复公司。从记忆中,我认为这是 GPT 错误,修复它只是昂贵且不是天文数字(很乐意付钱来保护我的数据安全)。我让他们把/home那个磁盘上的所有数据传输到我买的两个 1TB WD Black 磁盘中的一个。我用这两个新磁盘设置了 RAID-1,这似乎工作正常直到最近


关于我为什么尝试重新安装(在水平线之间)的上下文部分可能相关/可能不相关?

奇怪的事情开始发生,我不知道它们是否相关,但它们看起来很系统性 - 例如:

  1. Firefox 标签在某些网站上立即开始崩溃,我以为这可能是 Firefox 的一个错误
  2. Python 停止工作,导致不相关的程序失败(主要是 Libre-Office - 不断进入恢复状态),但 FreeCAD(主要基于 Python)仍然可以运行
  3. Corel AftershotPro 因缺少或版本库不正确而无法启动(版本库仍然存在)

我尝试过的许多修复方法似乎都与 Python 有关。最后,我删除了 Python,卸载了许多关键的操作系统内容(尤其是 GUI),然后我重新安装了它(以及大多数已自动卸载的项目)。即使这样也不起作用,所以我想重新安装操作系统 - 以为我的/home数据会很安全。正如我提到的,情况似乎并非如此,它阻止我重新安装以稳定我的计算机。


尝试过:

lsblk
<snipped the loop devices>
sda             8:0    0 931.5G  0 disk  
└─sda1          8:1    0 931.5G  0 part  
  └─md127       9:127  0 931.5G  0 raid1 
    └─md127p1 259:0    0 931.5G  0 part  /home
sdb             8:16   0   1.8T  0 disk  
└─sdb1          8:17   0   1.8T  0 part  
  └─cr-auto-1 254:0    0   1.8T  0 crypt /china2
sdc             8:32   0 111.8G  0 disk  
├─sdc1          8:33   0   148M  0 part  
├─sdc2          8:34   0   100G  0 part  /
├─sdc3          8:35   0     2G  0 part  
└─sdc4          8:36   0     2G  0 part  
sdd             8:48   0 931.5G  0 disk  
sde             8:64   0   1.8T  0 disk  
└─sde1          8:65   0   1.8T  0 part  /chinaPhotos

注意sda/sda1/md127/md127p1此处安装为/home

我猜测sda&sdd是起作用的物理 RAID 设备,并且sdd是损坏的设备?

我已经尝试了以下操作:(显示/home/dev/md127p1

df -h
Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          4.0M     0  4.0M   0% /dev
tmpfs                             7.8G  243M  7.5G   4% /dev/shm
tmpfs                             3.1G  335M  2.8G  11% /run
tmpfs                             4.0M     0  4.0M   0% /sys/fs/cgroup
/dev/sdc2                         100G   38G   63G  38% /
/dev/sdc2                         100G   38G   63G  38% /.snapshots
/dev/sdc2                         100G   38G   63G  38% /boot/grub2/i386-pc
/dev/sdc2                         100G   38G   63G  38% /boot/grub2/x86_64-efi
/dev/sdc2                         100G   38G   63G  38% /opt
/dev/sdc2                         100G   38G   63G  38% /root
/dev/sdc2                         100G   38G   63G  38% /srv
/dev/sdc2                         100G   38G   63G  38% /tmp
/dev/sdc2                         100G   38G   63G  38% /var
/dev/sdc2                         100G   38G   63G  38% /usr/local
/dev/sdb1                         1.8T  1.7T   94G  95% /chinaPhotos
/dev/md127p1                      932G  402G  530G  44% /home
<snipped loop devices>
/dev/mapper/cr-auto-1             1.9T  1.5T  399G  79% /china2
tmpfs                             1.6G   72K  1.6G   1% /run/user/1000
/dev/sdm                          3.4M  3.3M  116K  97% /run/media/░░░░/SBEAM
/dev/sdn                          1.6M   24K  1.6M   2% /run/media/░░░░/UPDATE
192.168.░░░.░░░:/volume1/DataBackup  2.7T  2.3T  492G  83% /░░░░░
<snipped loop devices>

最后,我尝试了

mdadm --detail /dev/md*  
mdadm: /dev/md does not appear to be an md device
/dev/md127:
           Version : 1.0
     Creation Time : Sun Apr 25 17:58:55 2021
        Raid Level : raid1
        Array Size : 976761344 (931.51 GiB 1000.20 GB)
     Used Dev Size : 976761344 (931.51 GiB 1000.20 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Mar  6 19:26:29 2022
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : any:home
              UUID : 75959fa2:f25b6088:7a9e9a80:c1f38480
            Events : 3183874

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       -       0        0        1      removed
/dev/md127p1:
           Version : 1.0
     Creation Time : Sun Apr 25 17:58:55 2021
        Raid Level : raid1
        Array Size : 976760303 (931.51 GiB 1000.20 GB)
     Used Dev Size : 976761344 (931.51 GiB 1000.20 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Mar  6 19:26:29 2022
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : any:home
              UUID : 75959fa2:f25b6088:7a9e9a80:c1f38480
            Events : 3183874

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       -       0        0        1      removed

安装过程识别/dev/sdd为问题,但似乎有与fdisk下面相同的问题。

fdisk /dev/sdd

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

The primary GPT table is corrupt, but the backup appears OK, so that will be used.

fdisk  /dev/sda

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


Command (m for help): v
No errors detected.
Header version: 1.0
Using 1 out of 128 partitions.
A total of 2014 free sectors is available in 1 segment.

计算机基本运行正常,并且我已经备份了 /home 的大部分数据,但更新正在备份,我无法安全地重新安装。

在硬件方面,依次物理移除每个 RAID 磁盘(首先关闭 PC,显然)- 其中一个磁盘对启动没有影响(重新启动时所有磁盘均正常工作),但移除另一个磁盘会停止启动过程,因此我猜第二个是正常工作的 RAID /dev/sda-/home磁盘,而前者是“损坏”的/dev/sdd!我还尝试将损坏的磁盘换成正常工作的磁盘的 SATA 电缆,以防出现问题,但一无所获!

我可以进行哪些进一步的诊断/操作:

  • 看看我对该磁盘有故障的假设是否正确
  • 找出问题所在以及它是否是终端问题或可修复问题(这些磁盘有 3 或 5 年(?)保修期,但它们的使用时间还不到 1 年。)
  • 格式化它或者以其他方式恢复它并将其重新添加到 RAID1 阵列中(或者我应该更换它?)

答案1

gdisk/fdisk 修复不起作用,如果您愿意,可以再次删除它,但我尝试在我拥有的所有 512GB 设备上使用它,他们报告问题已修复。但是,使用 g/fdisk 重新检查再次显示完全相同的错误。正如我在现已删除的帖子中所说,这只出现在 512GB 设备上。我所有其他更小或更大的 512GB SD 卡、USB 和我的 1T 外部 SSD 从未给我带来任何麻烦,而 512GB 的所有东西都有。您的体验可能不同,但这位老硬件技术人员在这里发现了一些与硬件无关的问题。

答案2

使用修复它gdisk /dev/sdd

gdisk /dev/sdd
GPT fdisk (gdisk) version 1.0.1

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

Command (? for help): r

Recovery/transformation command (? for help): b

Recovery/transformation command (? for help): ?
b       use backup GPT header (rebuilding main)
c       load backup partition table from disk (rebuilding main)
d       use main GPT header (rebuilding backup)
e       load main partition table from disk (rebuilding backup)
f       load MBR and build fresh GPT from it
g       convert GPT into MBR and exit
h       make hybrid MBR
i       show detailed information on a partition
l       load partition data from a backup file
m       return to main menu
o       print protective MBR data
p       print the partition table
q       quit without saving changes
t       transform BSD disklabel partition
v       verify disk
w       write table to disk and exit
x       extra functionality (experts only)
?       print this menu

Recovery/transformation command (? for help): b

Recovery/transformation command (? for help): v

No problems found. 2014 free sectors (1007.0 KiB) available in 1
segments, the largest of which is 2014 (1007.0 KiB) in size.

Recovery/transformation command (? for help): b

Recovery/transformation command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdd.
The operation has completed successfully.

相关内容