Beberapa latar belakang
- Disk itu sendiri "dikerjakan" oleh seorang teman dan dikatakan masih utuh, tidak rusak dan masih dapat dipasang / dipulihkan
- Disk adalah bagian dari serangan perangkat lunak 1 di Ubuntu 12.04
- Disk lain dalam serangan 1 asli diformat dan digunakan untuk tujuan lain, meninggalkan disk saat ini (yang dimaksud) masih secara teknis bagian dari serangan yang tidak lagi ada
Apa yang sudah saya coba
Pemasangan dasar
- Saya menambahkan entri ke fstab, menandai disk sebagai ext3 / ext4 dan mencoba me-mount.
Saat memasang kesalahan berikut muncul
wrong fs type, bad option, bad superblock on
Dan dalam dmesg
EXT4-fs (sdc1): VFS: Can't find ext4 filesystem
Saya telah mencoba untuk menemukan tipe sistem file dari disk dan telah muncul dengan
$sudo file -s /dev/sdc
/dev/sdc: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 63, 1953520002 sectors, code offset 0xb8
Di mana saya memerlukan bantuan / Pertanyaan Saya
- Apakah ada cara untuk mengubah disk ke ext4 tanpa merusak data?
- Apakah ada cara sederhana untuk memasang disk tipe file Linux 83 dan memulihkan data?
- Saya punya disk lain yang saat ini gratis kalau-kalau ada kemungkinan untuk membangun kembali serangan itu
- Tujuan utama saya adalah memulihkan data dari disk. Saya terbuka untuk semua opsi.
Memperbarui
Output beberapa perintah
fdisk -l / dev / sdc
$fdisk -l /dev/sdc
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005ed9c
Device Boot Start End Blocks Id System
/dev/sdc1 63 1953520064 976760001 83 Linux
file -s / dev / sdc1
$file -s /dev/sdc1
/dev/sdc1: data
hexdump -C -n 32256 / dev / sdc (Tidak yakin apakah ini bisa membantu atau tidak)
$hexdump -C -n 32256 /dev/sdc` 00000000 fa b8 00 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |................| 00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..| 00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u| 00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..| 00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 9c ed 05 00 00 00 00 fe |................| 000001c0 ff ff 83 fe ff ff 3f 00 00 00 82 59 70 74 00 00 |......?....Ypt..| 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00007e00
mount -f ext4 /dev/sdc1 /mountpoint
harus melakukan trik.df
menunjukkan kepada saya bahwa disk yang baru dipasang adalah 2% digunakan yang secara signifikan lebih rendah dari yang diharapkan.mount -t ext4
? Bendera -f adalah untuk pemasangan 'palsu' (ubuntu 14.04).Jawaban:
Ini bekerja sangat baik di Ubuntu 14.04:
Kamu akan mendapatkan:
Kemudian pasang dan lihat file Anda:
sumber
/dev/sdc
dan/dev/md127
. Lalu apakahmdadm --assemble --scan
yang menghasilkan/dev/md/Volume0_0p1
dan/dev/md/Volume0_0p2
dan seterusnya sesuai dengan 4 partisi yang ada di disk. P2 adalah yang saya butuhkan sehingga:mkdir /p2
diikuti olehmount /dev/md/Volume0_0p2 /p2
mount yang EXT3 dan saya dapat dengan mudah mengakses dan menyalin data. Itu juga memasangnya sebagai baca-tulis.--scan
mode tidak memulai array dengan disk yang hilang, dalam kasus saya di sini saya harus menghentikan array yang dirakit secara otomatis dan mulai lagi denganmdadm --assemble --force /dev/md/1 /dev/sdc1
Linux mdraid memiliki beberapa format metadata . Format 0.9 dan 1.0 meletakkan metadata di akhir perangkat yang berisi, dan payload (sistem file) dimulai pada awal perangkat dan dapat diakses secara langsung tanpa melalui lapisan serangan. Format 1.1 dan 1.2 menempatkan metadata di bagian tengah dan awal perangkat yang mengandung masing-masing, sehingga payload berada pada offset.
Penginstal Ubuntu membuat volume dengan format 1,2 metadata, jadi data Anda dimulai setelah metadata alih-alih di awal perangkat.
Cara paling sederhana untuk mengakses data itu adalah dengan merakit perangkat raid. Dalam volume RAID-1, satu perangkat cukup.
(Berhenti di sini kecuali jika Anda suka rasa sakit.)
Anda juga dapat mengakses data di offset. Satu-satunya hal yang dapat saya lihat untuk melakukan ini adalah jika Anda harus bekerja di kernel yang sangat lama yang tidak mendukung format mxraid 1.x. Pertama, tentukan offset
mdadm -E /dev/sdc1
: cari garisData Offset : SSS sectors
. Sektor mdadm adalah 512 byte.Dalam keputusasaan, dengan format 1.x, offset data disimpan dalam byte 128–135 dari metadata, little-endian¹. 1.2 metadata adalah 4.096 byte setelah awal perangkat.
Anda juga dapat mengubah tabel partisi untuk membuatnya mulai lebih jauh. Berhati-hatilah dengan aritmatika Anda. Hanya lakukan itu jika Anda ingin tetap menggunakan disk dalam jangka panjang di sistem lama yang tidak dapat mengakses perangkat raid.
¹ Atau dengan endianness platform? Saya tidak yakin.
sumber
mdadm -E /dev/sdc1
mana tepatnya) tetapi tentu saja tidak pada 4k untuk 1,2 metadata, karena 4k tepat di mana metadata disimpan. Lihat juga unix.stackexchange.com/q/57477/22565mdadm -A /dev/sdc1
outputmdadm: device /dev/sdc1 exists but is not an md array.
Aku sudah sedikit lebih jauh untuk penggunaan mdadm dan melihat apakah ada info tambahan ...mdadm --misc --examine /dev/sdc1
outputmdadm: No md superblock detected on /dev/sdc1.
. Apakah ada cara saya bisa menulis ulang superblok pada disk ini untuk menandainya sebagai disk yang tersedia untuk perakitan RAID?mdadm -E /dev/sdc
mengembalikan yang berikut untuk saya:/dev/sdc: MBR Magic : aa55 Partition[0] : 1953520002 sectors at 63 (type 83)
tetapi tidak ada informasi untuk / dev / sdc1Yang mengejutkan saya, saya dapat memulihkan data hanya dengan menggunakan yang utama .
Bantuan yang diterima di sini sangat berharga. Setelah mencoba berbagai kombinasi yang disarankan, dan juga mix-in saya sendiri, metode yang ideal (untuk memasang dan menggunakan disk seperti biasa) sepertinya bukan pilihan lagi. Menggunakan pemulihan data adalah solusi saya dalam kasus ini.
sumber
Tampaknya Anda telah membuka kunci superblock mdadm. Jika dulu ada di sana dan format 1.1 atau 1.2, maka kemungkinan besar sistem file di offset 2048 sektor. Anda dapat menjalankannya
e2fsck /dev/sdc1?offset=2048
untuk memaksanya mencari sistem file mulai dari offset itu. Jika menemukannya maka Anda dapat memodifikasi tabel partisi Anda untuk menunjuk ke tempat sistem file sebenarnya dimulai. Anda dapat menggunakanparted /dev/sdc
danunit s
perintah untuk menggunakan unit sektor.print
tabel, perhatikan sektor awal dan akhir, lalurm
partisi, lalu buat ulang denganmkpart
dan gunakan sektor ujung yang sama, tetapi tambahkan offset ke sektor awal.Jika 2048 tidak berfungsi, Anda juga dapat mencoba 1985.
sumber
e2fsck /dev/sdc1?offset=2048
(saya juga menjalankan offset = 1985) keluaranBad magic number..Superblock invalid...
serta menyarankan bahwa superblock rusak dan mencoba menjalankan e2fsck dengan superblok alternatif. Sepertinya saya harus memberikan superblok alternatif untuk bergerak maju.testdisk
seharusnya dapat melakukan pemindaian terperinci dan memperbaiki tabel partisi untuk Anda.testdisk
benar-benar wilayah baru bagi saya. Jalankan dasar (Analisis) menunjukkanNo ext2, JFS, Reiser.. marker. Bad relative sector. No partition is bootable.
Ini juga menyediakan yang berikut:1 P Linux 0 1 1 121600 254 63 1953520002
Bagaimana saya bisa memahaminya untuk membantu situasi?