Saya tidak sengaja menggunakan dd
dan menulis lebih dari 208MB dari disk eksternal saya. Apa yang saya tulis adalah partisi pada dirinya sendiri (Debian nestinstaller) jadi apa yang saya lihat sekarang bukan partisi ext4 lama saya (sekarang rusak) tetapi partisi yang lebih kecil. Ini membatasi alat dan saran yang bisa saya ikuti.
Rencana saya adalah membuat ulang tabel partisi dengan testdisk
dan kemudian memperbaiki semuanya dengan cadangan superblok seperti dijelaskan di sini . Saya akan kehilangan 208MB pertama tetapi tidak apa-apa dibandingkan dengan 300GB data lainnya di sana. Sesuatu seperti yang berikut ini:
mke2fs -n /dev/sdb1 # doesn't work because sdb1 is the 208MB new partition
testdisk ... # used this to create new correct partition table
mke2fs -n /dev/sdb1 # now works fine, get backup superblock positions
e2fsck -b backup_position -y /dev/sdb1 # returns many errors hence the -y
Namun, saya tidak dapat memulihkan apa pun. Saya biasa testdisk
menulis tabel partisi baru yang cocok dengan apa yang saya miliki sebelumnya. Ketika saya menjalankan e2fsck saya mendapatkan banyak kesalahan berbeda. Saya mendapatkan sistem file setelah itu tetapi benar-benar kosong, tidak ada file.
Direktori yang hilang + ditemukan penuh dengan file (yang dipulihkan menurut saya) tetapi saya perlu memulihkan pohon direktori, bukan hanya file. Saya memerlukan nama file dan direktori sebelumnya untuk mengetahui apa file-file itu (gambar mikroskop, data spec massa, dll. Tanpa nama dan direktori di mana mereka berada, mereka tidak ada artinya).
Saya mendapatkan HD lain yang persis sama dan membuat salinan seluruh HD dd
sehingga saya dapat melakukan percobaan pemulihan tanpa kehilangan apa pun. Ada saran?
sumber
testdisk
untuk membuat ulang partisi. Saya akan cobafdisk
.fdisk
saya bahkan tidak bisa menggunakane2fsck
karena tidak akan menemukan cadangan superblok. Saya pikir masalahnya adalah bahwa saya tidak dapat mengedit CHS (partisi baru mengaturnya menjadi 64 tetapi seharusnya 255)Jawaban:
Saya akhirnya berhasil memperbaikinya. Sebagai catatan, beginilah cara saya melakukannya. Bagian dari solusi yang saya temukan di sini dan itu melibatkan mengetahui pengaturan yang digunakan untuk membuat sistem file (saya cukup yakin saya tidak mengubah default).
Pada dasarnya saya pertama-tama harus memperbaiki tabel partisi untuk mencerminkan apa yang sebenarnya saya miliki di sana (saya gunakan
testdisk
untuk ini tetapiparted
,cfdisk
ataufdisk
harus bekerja dengan baik juga). Saya baru saja menghapus partisi yang salah dan diganti dengan partisi tipe ext4 tunggal yang menutupi seluruh disk dengan nilai CHS yang benar.Sisanya sebagian besar dari tautan di awal (baca untuk detail) tetapi pada dasarnya saya berlari
mke2fs -n /dev/xxx
untuk menemukan posisi untuk cadangan superblok. Kemudian gunakan cadangan terakhir yang terdekat dengan ujung disk (hanya yang di awal disk telah ditimpa dengan dd) untuk menjalankan fsck. Ini menghasilkan banyak kesalahan tetapi fsck memiliki-y
opsi (tidak sama dengan-a
).Saya pikir ini tidak berhasil karena saya tidak dapat melihat file tetapi sebenarnya mereka semua telah disimpan ke
lost+found
direktori.Jadi pada akhirnya saya melakukan penyelamatan sebagian besar file saya sambil menjaga nama file dan struktur direktori mereka. Semoga ini bisa membantu orang lain di masa depan.
sumber
Oke, ini berfungsi untuk memulihkan dari drive yang diinisiasi secara tidak sengaja di array MegaRAID. Kontroler RAID saya memasukkan SEMUA drive dalam RAID, bukan hanya yang untuk array RAID6 yang saya perbaiki. Aduh! Setidaknya saya melakukan init cepat, dan bukan init lambat - init lambat menghapus drive ke nol.
Init cepat menghapus 10M di awal dan akhir drive. Jadi, saya dengan partisi ext4 di seluruh drive (di Linux) dan satu drive, RAID0, punya beberapa kesempatan. Dengan drive yang menjadi drive 6TB, dan hampir 5TB di atasnya, saya berkeringat - itu adalah cadangan saya dari array RAID6 yang saya perbaiki!
By the way, saya tidak tergelincir - LSI MegaRAID TIDAK boleh inited drive di grup drive saya yang lain - tetapi itu terjadi. Sebagai catatan, apa yang seharusnya saya lakukan adalah HAPUS DRIVE DARI ENCLOSURE dan impor ulang SETELAH saya memiliki drive RAID6 yang baru diatur. Saya konyol. BENAR-BENAR konyol saya ....
OK, untungnya MegaRaid LSI tidak suka dengan drive RAID0 (jika ada satu saya kira tidak yakin tentang beberapa). Inilah yang saya lakukan untuk memperbaikinya. OS = Fedora F22. Drive = satu partisi ext4 besar, selesai dengan parted. Pertama saya mem-snap drive ke drive model baru yang sama persis, di server cadangan dengan beberapa slot teluk cadangan :: Sepuluh jam kemudian selesai ......
Itu cadangan emas saya.
CATATAN - Drive saya tadinya
/dev/sdb
- Anda harus mengatur drive apa pun yang ingin Anda pulihkan. Jangan mengacaukan drive, atau Anda akan menjadi lebih berantakan ....Kemudian, selesai saya melakukan hal berikut.
(1) menghapus snapshot dari mesin (tidak konyol lagi, saya dapat meyakinkan Anda - bahwa orang akan pergi ke rumah sakit pemulihan disk jika saya gagal, sementara saya memeriksa diri saya di UGD lokal!).
(2) reboot mesin FC22 dengan drive. Jalankan parted, ulangi partisi (dalam kasus saya, hapus yang rusak, tulis dalam partisi 0% hingga 100% ext4 baru). Anda HARUS tahu persis di mana partisi asli berada, dan jenis persisnya - langkah selanjutnya tergantung pada ini - jika tidak, BERHENTI DI SINI. Anda tidak akan berhasil. gunakan
testdisk
danphotorec
atau serupa, atau untuk drive besar di mana itu benar-benar penting, kirimkan.(3) lari
mke2fs -n /dev/sdb1
(jangan lupa-n
, atau lagi Anda bisa pergi begitu saja ...)Bagi saya hasilnya tampak seperti:
Itu dia, di situlah semua superblok cadangan berada ...... Kita tahu yang pertama dan terakhir adalah sampah, tapi yang di tengah harusnya OK. (Catatan, Anda bisa
mkfs.ext4 -n /dev/sdb1
menjadi sangat berhati-hati dan mendapatkan hasil yang sama).(4) Jalankan
e2fsck -y -b 102400000 /dev/sdb1
. Anda akan memerlukan-y
, karena akan ada banyak "ya" yang diperlukan untuk memperbaiki kekacauan yang dibuat oleh ujung depan disk yang hilang .... dan pilih semua superblock di tengah yang Anda suka ... dan setelah sekitar 30 menit keheningan (gunakan terminal lain dan "atas" untuk menonton kemajuan, atau lampu disk berkedip) dalam kasus saya presto, partisi yang dapat dipasang, dan hampir semuanya utuh dalam/lost+found
direktori.Pokoknya saya harap ini membantu - jika Anda membaca ini dengan seksama, maka saya berharap yang terbaik untuk Anda. Dan terima kasih kepada orang-orang yang menulis di atas. Anda menyelamatkan saya dari akhir yang benar-benar memuakkan .....
sumber