512 byte pertama dari disk dihapus; bagaimana saya bisa memulihkan data saya?
12
Saya tidak sengaja menulis biner 512 byte ke disk USB yang salah dddan perangkat tidak lagi menampilkan partisi fdisk.
Saya pikir semua data hilang, tetapi dd if=/dev/sdx | stringsmenunjukkan bahwa data itu tampaknya masih ada, karena dduntungnya terbatas pada 512 byte pertama. Apakah ada cara untuk memulihkannya ?
Disk memiliki dua partisi: satu ext4 (~ 4GB) satu dan sisanya 16GB diformat sebagai NTFS.
Itu tergantung pada apa yang sebenarnya ada di sana sebelumnya, tetapi mungkin mudah (-ish) untuk pulih dari ini.
Gunakan dduntuk membuat gambar lengkap drive USB Anda di lokasi yang aman.
Gunakan dduntuk membuat gambar lengkap drive USB Anda di lokasi yang aman.
Ya, mohon simpan gambar penuh. Operasi pemulihan data sering kali dapat menyebabkan lebih banyak kerusakan daripada yang diperkirakan.
Cobalah untuk mengingat seperti apa tata letak partisi pada drive USB itu. Tuliskan . Mungkin membantu jika Anda memiliki log sistem dari saat disk itu (sebelum diacak) terdeteksi oleh kernel Linux - cukup sering itu akan mencetak beberapa data tentang partisi yang terdeteksi.
Gunakan fdisk untuk membuat ulang MBR dengan tabel partisi yang sama. Jangan memformat dan / atau fsck partisi apa pun .
Cobalah untuk me-mount partisi Anda dengan opsi read-only ( -o ro) mount.
Jika berhasil, coba salin semua file ke lokasi yang aman dan perhatikan terminal Anda dan catat untuk kesalahan I / O - cara khas untuk kesalahan batas partisi untuk diekspresikan adalah melalui akses di luar batas pada perangkat yang mendasarinya.
Jika penyalinan gagal, pulihkan gambar dan kembali ke langkah 4.
Apakah saya menyebutkan memiliki gambar penuh drive USB sebelum melakukan hal lain?
PS: Anda mungkin juga ingin melihat alat-alat seperti TestDisk , yang berupaya mengotomatiskan proses pemulihan. Tapi Anda harus tetap mendapatkan gambar penuh terlebih dahulu.
PS2: Jika Anda merasa cukup nyaman, Anda juga bisa bereksperimen sedikit. Jika Anda dapat membuat asumsi yang masuk akal untuk titik awal partisi pertama, maka Anda dapat menggunakan tune2fs -luntuk mendapatkan ukuran yang tepat dari partisi pertama, yang akan memungkinkan Anda untuk mencari awal partisi kedua.
@black: Ya. Anda mungkin ingin menempatkan bs=...opsi untuk menambah ukuran blok dan mempercepatnya sedikit.
thkala
Blocksize yang bagus untuk digunakan adalah bs=64K. TestDisk pasti patut dicoba, dan dapat berfungsi pada file gambar disk maupun pada disk sebenarnya. Semoga berhasil!
PM 2Ring
Berlari cat /dev/sdx >backup.imgakan lebih cepat daripada dddi banyak keadaan dan tentu saja tidak lebih lambat dalam hal ini.
roaima
6
Untuk mengembalikan ext4partisi dan datanya, saya berpikir untuk membuat satu, partisi ext4 disk-lebar. Ini memungkinkan saya untuk mendapatkan akses ke data dan mengambil informasi tentang partisi dengan tune2fs -l, seperti yang disarankan oleh @thkala. Informasi ini terlihat sangat layak dan, jadi, tidak berubah.
Sangat menarik, gparted agak bisa mengetahui ukuran partisi sebenarnya karena ternyata dari peringatan ini menunjukkan:
10,96 GiB ruang yang tidak terisi dalam partisi. Untuk menumbuhkan sistem file untuk mengisi partisi, pilih partisi dan pilih item menu:
karena 11GiB kira-kira dimensi partisi NTFS.
Perhatikan ruang yang tidak digunakan itu, IIRC, itu adalah ruang yang ext4 masih bebas. The ruang yang tidak terisi gparted mengakui tampaknya menjadi partisi NTFS; sekarang, bagaimana saya bisa mengembalikan yang itu juga , mungkin dengan mencari tahu di mana partisi pertama berakhir yaitu jumlah byte totalnya?
dd if=/dev/sdx of=backup.img
benar?bs=...
opsi untuk menambah ukuran blok dan mempercepatnya sedikit.bs=64K
. TestDisk pasti patut dicoba, dan dapat berfungsi pada file gambar disk maupun pada disk sebenarnya. Semoga berhasil!cat /dev/sdx >backup.img
akan lebih cepat daripadadd
di banyak keadaan dan tentu saja tidak lebih lambat dalam hal ini.Untuk mengembalikan
ext4
partisi dan datanya, saya berpikir untuk membuat satu, partisi ext4 disk-lebar. Ini memungkinkan saya untuk mendapatkan akses ke data dan mengambil informasi tentang partisi dengantune2fs -l
, seperti yang disarankan oleh @thkala. Informasi ini terlihat sangat layak dan, jadi, tidak berubah.Sangat menarik, gparted agak bisa mengetahui ukuran partisi sebenarnya karena ternyata dari peringatan ini menunjukkan:
karena 11GiB kira-kira dimensi partisi NTFS.
Perhatikan ruang yang tidak digunakan itu, IIRC, itu adalah ruang yang ext4 masih bebas. The ruang yang tidak terisi gparted mengakui tampaknya menjadi partisi NTFS; sekarang, bagaimana saya bisa mengembalikan yang itu juga , mungkin dengan mencari tahu di mana partisi pertama berakhir yaitu jumlah byte totalnya?
Akhirnya TestDisk menanganinya dengan mudah.
sumber