在 ext4 上掛載「結構需要清理」的檔案系統

在 ext4 上掛載「結構需要清理」的檔案系統

有一個多年前創建的(並且多次調整大小)帶有 ext4 的檔案系統。斷電後停止安裝。當我嘗試手動安裝它時,我收到錯誤:

# mount /dev/space/vservershosting-vs /mnt/
mount: /mnt: mount(2) system call failed: Structure needs cleaning.

dmesg 中有更多資訊:

[32618.800854] EXT4-fs error (device dm-44): __ext4_iget:5080: inode #2: block 1953722220: comm mount: invalid block
[32619.264574] EXT4-fs (dm-44): get root inode failed
[32619.264633] EXT4-fs (dm-44): mount failed

fsck 無需任何修復即可通過:

# fsck.ext4 -c -f -v /dev/space/vservershosting-vs
e2fsck 1.44.5 (15-Dec-2018)
Checking for bad blocks (read-only test): done                                                 
/dev/space/vservershosting-vs: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure                                           
Pass 3: Checking directory connectivity                                        
Pass 4: Checking reference counts                                              
Pass 5: Checking group summary information                                     
                                                                               
/dev/space/vservershosting-vs: ***** FILE SYSTEM WAS MODIFIED *****

     1551308 inodes used (7.89%, out of 19660800)
      115052 non-contiguous files (7.4%)
         861 non-contiguous directories (0.1%)
             # of inodes with ind/dind/tind blocks: 48107/1394/6
             Extent depth histogram: 988992/12798/13
    67929516 blocks used (86.38%, out of 78643200)
           0 bad blocks
          16 large files

     1377888 regular files
      143712 directories
          74 character device files
          25 block device files
          10 fifos
         810 links
       29496 symbolic links (29045 fast symbolic links)
          94 sockets
------------
     1552109 files

(與目前版本的 fsck 輸出相同)

當我嘗試安裝時 - 它失敗了。之後 - fsck“修復”fs(第二次運行 fsck 不執行任何操作)。但 fs 仍然沒有修復 - 當我嘗試安裝它時它失敗了。

root@undefine-ThinkPad-T470p:~# fsck.ext4 -v /dev/sdb1
e2fsck 1.45.5 (07-Jan-2020)
/dev/sdb1 zawiera system plików z błędami, wymuszono sprawdzenie.
Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów
Przebieg 2: Sprawdzanie struktury katalogów
Przebieg 3: Sprawdzanie łączności katalogów
Przebieg 4: Sprawdzanie liczników odwołań
Przebieg 5: Sprawdzanie sumarycznych informacji o grupach
 
     1551308 użytych i-węzłów (7.89% z 19660800)
      115052 pliki nieciągłe (7.4%)
         861 katalogów nieciągłych (0.1%)
             liczba i-węzłów z blokami ind/dind/tind: 48107/1394/6
             Histogram głębokości ekstentów: 988992/12798/13
    67929516 użytych bloków (86.38% z 78643200)
           0 wadliwych bloków
          16 dużych plików
 
     1377888 zwykłych plików
      143712 katalogów
          74 pliki urządzeń znakowych
          25 plików urządzeń blokowych
          10 potoków
         810 dowiązań
       29496 dowiązań symbolicznych (29045 szybkich dowiązań symbolicznych)
          94 gniazda
------------
     1552109 plików
root@undefine-ThinkPad-T470p:~# fsck.ext4 -v /dev/sdb1
e2fsck 1.45.5 (07-Jan-2020)
/dev/sdb1: czysty, 1551308/19660800 plików, 67929516/78643200 bloków
root@undefine-ThinkPad-T470p:~# mount /dev/sdb1 /mnt/test/
mount: /mnt/test: wywołanie systemowe mount(2) nie powiodło się: Struktura wymaga wyczyszczenia.

我嘗試使用替代超級區塊進行安裝 - 相同的錯誤/結果。

但是-當我使用 debugfs 連接到卷時,我在丟失+找到中看到所有重要內容(3 個目錄)。

我可以使用 debugfs 和 rdump 命令來恢復所有內容,但是 - 如何安裝/修復該磁碟區?

相關內容