1

Notebook fails to boot. I started it with a live USB Ubuntu 20.04 and tried mount /dev/sda5 but receive this error:

mount: /mnt: can't read superblock on /dev/sda5

So I tried the commands below:

ubuntu@ubuntu:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10SPZX-21Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 8798743C-1711-4EC3-9829-F392872338D3

Device          Start        End    Sectors   Size Type /dev/sda1        2048     206847     204800   100M EFI System /dev/sda2      206848     239615      32768    16M Microsoft reserved /dev/sda3      239616  408477642  408238027 194,7G Microsoft basic data /dev/sda4  1951424512 1953521663    2097152     1G Windows recovery environment /dev/sda5   408477696 1951424511 1542946816 735,8G Linux filesystem

Partition table entries are not in disk order.

I have tried the solution presented here but I have not been successful.

ubuntu@ubuntu:~$ sudo mke2fs -n /dev/sda5 
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 192868352 4k blocks and 48218112 inodes
Filesystem UUID: 9f522638-1d6a-451f-b608-dc03acd3250b
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000

Consulted here, I tried with all the blocks: block 98304 * 4 = 393216, without success.

ubuntu@ubuntu:~$ sudo mount -o sb=393216 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=655360 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=917504 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=1179648 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=3276800 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=3538944 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=6422528 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=10616832 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=16384000 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=31850496 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=44957696 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=81920000 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=95551488 /dev/sda5 /mnt
mount: /mnt: can't read superblock on /dev/sda5.
ubuntu@ubuntu:~$ sudo mount -o sb=286654464 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=314703872 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
ubuntu@ubuntu:~$ sudo mount -o sb=409600000 /dev/sda5 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.

After that I have runned e2fsck for 3 days, without success.

ubuntu@ubuntu:~$ sudo e2fsck -f -y -v -c -b 32768 /dev/sda5 
e2fsck 1.45.5 (07-Jan-2020)
Error reading block 1149 (Input/output error).  Ignore error? yes

Force rewrite? yes

Superblock has an invalid journal (inode 8). Clear? yes

*** journal has been deleted ***

Resize inode not valid.  Recreate? yes

Error reading block 1117 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1133 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1118 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1134 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1119 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1120 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Force rewrite? yes

Error reading block 1122 (Input/output error) while reading inode and block bitmaps.  Ignore error? yes

Error dmesg:

[217797.911529] ata1: EH complete
[217807.220171] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[217807.220191] ata1.00: irq_stat 0x40000001
[217807.220198] ata1.00: failed command: READ DMA EXT
[217807.220203] ata1.00: cmd 25/00:08:d8:e0:98/00:00:18:00:00/e0 tag 24 dma 4096 in
                         res 51/40:08:d8:e0:98/00:00:18:00:00/e0 Emask 0x9 (media error)
[217807.220220] ata1.00: status: { DRDY ERR }
[217807.220225] ata1.00: error: { UNC }
[217812.260182] ata1.00: qc timeout (cmd 0xec)
[217812.260211] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[217812.260222] ata1.00: revalidation failed (errno=-5)
[217812.260240] ata1: hard resetting link
[217812.575276] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[217818.410875] ata1.00: configured for UDMA/133
[217818.410924] sd 0:0:0:0: [sda] tag#24 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=20s
[217818.410936] sd 0:0:0:0: [sda] tag#24 Sense Key : Medium Error [current] 
[217818.410945] sd 0:0:0:0: [sda] tag#24 Add. Sense: Unrecovered read error - auto reallocate failed
[217818.410955] sd 0:0:0:0: [sda] tag#24 CDB: Read(10) 28 00 18 98 e0 d8 00 00 08 00
[217818.410960] blk_update_request: I/O error, dev sda, sector 412672216 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[217818.411029] ata1: EH complete
[217821.396529] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[217821.396556] ata1.00: irq_stat 0x40000001
[217821.396568] ata1.00: failed command: READ DMA EXT
[217821.396575] ata1.00: cmd 25/00:08:d8:e0:98/00:00:18:00:00/e0 tag 20 dma 4096 in
                         res 51/40:08:d8:e0:98/00:00:18:00:00/e0 Emask 0x9 (media error)
[217821.396604] ata1.00: status: { DRDY ERR }
[217821.396612] ata1.00: error: { UNC }
[217826.592096] ata1.00: qc timeout (cmd 0xec)
[217826.592112] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[217826.592116] ata1.00: revalidation failed (errno=-5)
[217826.592122] ata1: hard resetting link
[217826.908977] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[217845.710563] ata1.00: configured for UDMA/133
[217845.710611] sd 0:0:0:0: [sda] tag#20 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=27s
[217845.710624] sd 0:0:0:0: [sda] tag#20 Sense Key : Medium Error [current] 
[217845.710632] sd 0:0:0:0: [sda] tag#20 Add. Sense: Unrecovered read error - auto reallocate failed
[217845.710641] sd 0:0:0:0: [sda] tag#20 CDB: Read(10) 28 00 18 98 e0 d8 00 00 08 00
[217845.710647] blk_update_request: I/O error, dev sda, sector 412672216 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[217845.710670] Buffer I/O error on dev sda5, logical block 524315, async page read
[217845.710722] ata1: EH complete
[217861.384383] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[217861.384409] ata1.00: irq_stat 0x40000001
[217861.384420] ata1.00: failed command: READ DMA EXT
[217861.384428] ata1.00: cmd 25/00:08:d8:e0:98/00:00:18:00:00/e0 tag 0 dma 4096 in
                         res 51/40:08:d8:e0:98/00:00:18:00:00/e0 Emask 0x9 (media error)
[217861.384457] ata1.00: status: { DRDY ERR }
[217861.384465] ata1.00: error: { UNC }
[217866.528299] ata1.00: qc timeout (cmd 0xec)
[217866.528326] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[217866.528335] ata1.00: revalidation failed (errno=-5)
[217866.528352] ata1: hard resetting link
[217866.843346] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[217885.732336] ata1.00: configured for UDMA/133
[217885.732383] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=40s
[217885.732395] sd 0:0:0:0: [sda] tag#0 Sense Key : Medium Error [current] 
[217885.732404] sd 0:0:0:0: [sda] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
[217885.732414] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 18 98 e0 d8 00 00 08 00
[217885.732419] blk_update_request: I/O error, dev sda, sector 412672216 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[217885.732442] Buffer I/O error on dev sda5, logical block 524315, async page read
[217885.732492] ata1: EH complete
[217895.039725] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[217895.039750] ata1.00: irq_stat 0x40000001
[217895.039761] ata1.00: failed command: READ DMA EXT
[217895.039769] ata1.00: cmd 25/00:08:60:e0:98/00:00:18:00:00/e0 tag 1 dma 4096 in
                         res 51/40:08:60:e0:98/00:00:18:00:00/e0 Emask 0x9 (media error)
[217895.039797] ata1.00: status: { DRDY ERR }
[217895.039806] ata1.00: error: { UNC }
[217900.067695] ata1.00: qc timeout (cmd 0xec)
[217900.067710] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x5)
[217900.067715] ata1.00: revalidation failed (errno=-5)
[217900.067723] ata1: hard resetting link
[217900.383017] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[217919.221200] ata1.00: configured for UDMA/133
[217919.221247] sd 0:0:0:0: [sda] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=33s
[217919.221260] sd 0:0:0:0: [sda] tag#1 Sense Key : Medium Error [current] 
[217919.221269] sd 0:0:0:0: [sda] tag#1 Add. Sense: Unrecovered read error - auto reallocate failed
[217919.221279] sd 0:0:0:0: [sda] tag#1 CDB: Read(10) 28 00 18 98 e0 60 00 00 08 00
[217919.221285] blk_update_request: I/O error, dev sda, sector 412672096 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[217919.221353] ata1: EH complete

In this topic it is presented how to find a sector offset in the partition to safely zero the block, but I didn't feel confident to proceed.  

ubuntu@ubuntu:~$ sudo smartctl -a /dev/sda5 
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.11.0-27-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION === Model Family:     Western Digital Blue Device Model:     WDC WD10SPZX-21Z10T0 Serial Number:    WD-WXS1A877RJED LU WWN Device Id: 5 0014ee 6081e1249 Firmware Version: 02.01A02 User Capacity:    1.000.204.886.016 bytes [1,00 TB] Sector Sizes:     512 bytes logical, 4096 bytes physical Rotation Rate:    5400 rpm Form Factor:      2.5 inches Device is:        In smartctl database [for details use: -P show] ATA Version is:   ACS-3 T13/2161-D revision 5 SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 1.5 Gb/s) Local Time is:    Wed Nov 10 02:11:30 2021 UTC SMART support is: Available - device has SMART capability. SMART support is: Enabled

=== START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: FAILED! Drive failure expected in less than 24 hours. SAVE ALL DATA. See vendor-specific Attribute list for failed Attributes.

General SMART Values: Offline data collection status:  (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Self-test execution status:      (   0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 7680) seconds. Offline data collection capabilities: (0x71) SMART execute Offline immediate. No Auto Offline data collection support. Suspend Offline collection upon new command. No Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities:            (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability:        (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: (   2) minutes. Extended self-test routine recommended polling time: ( 223) minutes. Conveyance self-test routine recommended polling time: (   1) minutes. SCT capabilities:       (0x3035) SCT Status supported. SCT Feature Control supported. SCT Data Table supported.

SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE   1 Raw_Read_Error_Rate     0x002f   001   001   051    Pre-fail  Always   FAILING_NOW 19950   3 Spin_Up_Time            0x0027   194   187   021    Pre-fail  Always       -       1258   4 Start_Stop_Count        0x0032   092   092   000    Old_age   Always       -       8733   5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0   7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0   9 Power_On_Hours          0x0032   093   093   000    Old_age   Always       -       5258  10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0  11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0  12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1222 191 G-Sense_Error_Rate      0x0032   001   001   000    Old_age   Always       -       31491 192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       44 193 Load_Cycle_Count        0x0032   181   181   000    Old_age   Always       -       59346 194 Temperature_Celsius     0x0022   104   098   000    Old_age   Always       -       39 196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0 197 Current_Pending_Sector  0x0032   198   198   000    Old_age   Always       -       441 198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0 199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0 200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Error Log Version: 1 ATA Error Count: 219 (device log contains only the most recent five errors) CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 219 occurred at disk power-on lifetime: 5257 hours (219 days + 1 hours)   When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:   ER ST SC SN CL CH DH   -- -- -- -- -- -- --   40 51 02 02 a8 03 e0  Error: UNC 2 sectors at LBA = 0x0003a802 = 239618

Commands leading to the command that caused the error were:   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name   -- -- -- -- -- -- -- --  ----------------  --------------------   c8 00 02 02 a8 03 e0 08   2d+00:46:14.317  READ DMA   ec 00 00 00 00 00 a0 08   2d+00:46:14.316  IDENTIFY DEVICE   ef 03 46 00 00 00 a0 08   2d+00:46:14.316  SET FEATURES [Set transfer mode]   ec 00 00 00 00 00 a0 08   2d+00:46:14.212  IDENTIFY DEVICE

Error 218 occurred at disk power-on lifetime: 5200 hours (216 days + 16 hours)   When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:   ER ST SC SN CL CH DH   -- -- -- -- -- -- --   40 51 08 00 28 03 e0  Error: UNC 8 sectors at LBA = 0x00032800 = 206848

Commands leading to the command that caused the error were:   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name   -- -- -- -- -- -- -- --  ----------------  --------------------   c8 00 08 00 28 03 e0 08      02:27:11.836  READ DMA   e5 00 00 00 00 00 00 08      02:27:11.836  CHECK POWER MODE   ec 00 00 00 00 00 a0 08      02:27:11.835  IDENTIFY DEVICE   ef 03 46 00 00 00 a0 08      02:27:11.825  SET FEATURES [Set transfer mode]   ec 00 00 00 00 00 a0 08      02:27:11.704  IDENTIFY DEVICE

Error 217 occurred at disk power-on lifetime: 5200 hours (216 days + 16 hours)   When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:   ER ST SC SN CL CH DH   -- -- -- -- -- -- --   40 51 08 00 28 03 e0  Error: UNC 8 sectors at LBA = 0x00032800 = 206848

Commands leading to the command that caused the error were:   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name   -- -- -- -- -- -- -- --  ----------------  --------------------   c8 00 08 00 28 03 e0 08      02:26:57.401  READ DMA   e5 00 00 00 00 00 00 08      02:26:57.400  CHECK POWER MODE   ec 00 00 00 00 00 a0 08      02:26:57.384  IDENTIFY DEVICE   ef 03 46 00 00 00 a0 08      02:26:57.384  SET FEATURES [Set transfer mode]

Error 216 occurred at disk power-on lifetime: 5200 hours (216 days + 16 hours)   When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:   ER ST SC SN CL CH DH   -- -- -- -- -- -- --   40 51 08 80 27 03 e0  Error: UNC 8 sectors at LBA = 0x00032780 = 206720

Commands leading to the command that caused the error were:   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name   -- -- -- -- -- -- -- --  ----------------  --------------------   c8 00 08 80 27 03 e0 08      02:26:15.363  READ DMA   ec 00 00 00 00 00 a0 08      02:26:15.349  IDENTIFY DEVICE   ef 03 46 00 00 00 a0 08      02:26:15.337  SET FEATURES [Set transfer mode]   ec 00 00 00 00 00 a0 08      02:26:15.223  IDENTIFY DEVICE

Error 215 occurred at disk power-on lifetime: 5200 hours (216 days + 16 hours)   When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:   ER ST SC SN CL CH DH   -- -- -- -- -- -- --   40 51 08 80 27 03 e0  Error: UNC 8 sectors at LBA = 0x00032780 = 206720

Commands leading to the command that caused the error were:   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name   -- -- -- -- -- -- -- --  ----------------  --------------------   c8 00 08 80 27 03 e0 08      02:26:03.763  READ DMA   ec 00 00 00 00 00 a0 08      02:26:03.762  IDENTIFY DEVICE   ef 03 46 00 00 00 a0 08      02:26:03.759  SET FEATURES [Set transfer mode]   ec 00 00 00 00 00 a0 08      02:26:03.630  IDENTIFY DEVICE

SMART Self-test log structure revision number 1 No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1  SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS     1        0        0  Not_testing     2        0        0  Not_testing     3        0        0  Not_testing     4        0        0  Not_testing     5        0        0  Not_testing Selective self-test flags (0x0):   After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay.

I don't have some files backed up so I need to find a way to recover the hard drive, any ideas?

2 Answers2

5

The worst thing you might ever do is to try to run filesystem repair on the broken hardware. There is a huge chance you are already lost your data (remains of filesystem were irreversibly corrupted during the attempt of filesystem repair on the faulty drive). However, there might still be options to do.

In general, when you see I/O error on any operation and the corresponding dmesg messages explain this I/O error was due to some problem with SATA, you immediately stop using the device. Any activity that might issue writes to the device is strictly forbidden. For instance, in that case, you buy another disk, try to dump surviving remains there (with ddrescue or something like that) and then try to extract remaining data using that dump. Only run fsck when you are sure the storage device is in good condition, in your case it is obviously not — even SMART itself says FAILED. You only may start it in test mode without writing anything (use -n), and still I/O load from the check itself may kill the device leaving no chance to recover, so this is discouraged.

(I want to explicitely point out this is not specific to Linux and to computing, but applies to everything — you won't go to the gym until your doctor says that your bone comes out normally.)

Now, you have to DUMP your whole device to some backup storage, CLONE that backup and start filesystem check on that clone. You need much free space for that, I know. If you are unsure how to proceed, stop and give this work to professionals.

To avoid this situation in the future, you know, you have to do backups and continuously monitor the health of your storage device.

0

The dreaded superblock, I have had this issue a million times and only a couple times have I actually lost data.

I had to google this because my disks are completely virtual world and haven't needed to to this in a long time, but these instructions are how I have successfully repaired in the past. Basically using an alternative superblock to run fsck.

http://erikimh.com/linux-recover-corrupted-partition-from-a-bad-superblock/

  • This is not relevant because the O.P. has failed physical SATA HDD. This is not just the filesystem corruption. Actually your suggestion (and the linked article) is a good example of what not to do in such case. As I outilned in my answer, trying to repair filesystem on a broken hardware is the worst thing to do. – Nikita Kipriyanov Nov 24 '21 at 14:03
  • Sorry, this is really common, with corrupted filesystems but broken hardware, you are limited. Yes, correct, failed hardware this is HIGHLY not recommended. –  Nov 24 '21 at 17:20