Cara mengembalikan sistem file ext4

2

Saya memiliki perangkat HDD bernama / dev / sdc1 yang menampung sistem file selain dari root saya. Saya boot setelah pemadaman listrik, dan saya tidak bisa memasangnya. Saya bertanya-tanya apakah mungkin sistem file rusak diperbaiki. Saya tidak berpikir itu bahkan digunakan pada saat kegagalan. Apa yang bisa saya coba buat me-mount lagi?

user@pc ~ $ sudo fdisk -l /dev/sdc 
... 
Device     Start        End    Sectors  Size Type 
/dev/sdc1   2048 5860532223 5860530176  2.7T Linux filesystem

/etc/fstab: 
/dev/sdc1   /mnt/data_c ext4    defaults    0 0 

user@pc ~ $ sudo mount /dev/sdc1 
mount: wrong fs type, bad option, bad superblock on /dev/sdc1, 
   missing codepage or helper program, or other error 

   In some cases useful info is found in syslog - try 
   dmesg | tail or so.

user@pc ~ $ dmesg|tail
...
[154150.717274]  sdc: sdc1 
[154564.927084] EXT4-fs (sdc1): VFS: Can't find ext4 filesystem

Kemudian saya mencoba me-mount dengan lokasi superblok alternatif.

mount -t ext4 -o sb=131072,ro /dev/sdc1 /mnt/data_c

Saya melakukan hal di atas, dengan opsi sb sama dengan kelipatan 4 dari semua angka berikut: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 (karena seseorang mengatakan kepada saya bahwa backup superblok disimpan di blok-blok ini dan harus dikalikan dengan 4 karena mount menginginkan sb = dalam hal 1k blok). Saya selalu mendapat kesalahan yang sama (tipe fs salah, opsi buruk, badlocklock buruk ... dan VFS: Tidak dapat menemukan filesystem ext4).

Kemudian saya menggunakan testdisk, yang dapat menemukan partisi, dan ia dapat mendaftar file-file (saya pikir semua file) di dalamnya. Ini juga dapat menyalin beberapa file satu per satu, tetapi masalahnya adalah saya membutuhkan sekitar 200-300 file dan ini memakan waktu lama jadi saya ingin mencari kemungkinan lain untuk memperbaiki sistem file.

Disk /dev/sdc - 3000 GB / 2794 GiB - CHS 364801 255 63 

     Partition                  Start        End    Size in sectors 

  MS Data                     2048 5860532223 5860530176 [data3] 
superblock 0, blocksize=4096 [data3] 
superblock 32768, blocksize=4096 [data3] 
superblock 98304, blocksize=4096 [data3] 
superblock 163840, blocksize=4096 [data3] 
superblock 229376, blocksize=4096 [data3] 
superblock 294912, blocksize=4096 [data3] 
superblock 819200, blocksize=4096 [data3] 
superblock 884736, blocksize=4096 [data3] 
superblock 1605632, blocksize=4096 [data3] 
superblock 2654208, blocksize=4096 [data3] 

To repair the filesystem using alternate superblock, run 
fsck.ext4 -p -b superblock -B blocksize device

Saya sangat ingin tahu, hard disk berumur kurang dari satu tahun, saya cukup yakin tidak ada yang ditulis pada saat pemadaman (mungkin sudah membaca). Apakah mungkin bahwa semua superblok telah menjadi tidak valid? Mungkin mereka ada di tempat lain?

engineerX
sumber

Jawaban:

1

Pertama, Anda dapat menguji hard drive Anda melalui paket smartmontools

Aktifkan "pintar" di drive Anda:

 smartctl -s on /dev/sdc

Mulai tes panjang (Anda dapat mencoba tes " pendek " pertama ):

 smartctl -t long /dev/sdc

Tunggu akhir tes dan dapatkan hasilnya:

 smartctl -l selftest /dev/sdc

Jika hard drive Anda ok, Anda dapat mencoba perintah di bawah untuk memeriksa sistem file:

 e2fsck -n /dev/sdc1

Jika tidak berhasil, testdisk adalah solusinya.

Alban VIDAL
sumber