Saya menulis gambar ISO ke hard disk saya menggunakan sudo dd if=image.iso of=/dev/sda
. Maksud saya /dev/sdc
, dan sekarang menjalankan sudo fdisk -l
mengembalikan hanya satu partisi di / dev / sda sementara seharusnya ada 6. Apakah mungkin untuk memulihkan data saya?
Saya belum mematikan (reboot) komputer saya.
hard-drive
data-recovery
dd
Sapi Baaing
sumber
sumber
dd
telah menunjukkan wajah 'Data Destroyer' jeleknya lagi :-( Ia telah menimpa ujung kepala drive (sesuai dengan ukuran file iso). Data yang ada di sana hilang. Apakah Anda memiliki cadangan yang cukup baru dari file yang Anda tidak mampu kehilangan? Kalau tidak, Anda harus bersiap untuk kerja keras untuk memperbaiki tabel partisi dan sistem file, terbaik pada salinan kloning menggunakan Testdisk , dan jika itu gagal, bahkan lebih sulit untuk memulihkan data file yang ditemukan 'di belakang' bagian dari drive yang ditimpa. Anda dapat menggunakan PhotoRec untuk tujuan itu. Lihat tautan ini, cgsecurity.orgdd
telah menunjukkan wajah 'Penghancur Data' yang jelek lagi" - Kecuali tidak ada hubungannyadd
, itu ada hubungannya dengan secara langsung mengakses perangkat disk sebagai root. Alat lain mana pun bisa memiliki efek yang sama.cat image.iso > /dev/sda
akan memiliki efek yang sama persis. Ataupv ...
. Atau, sampai batas tertentu, bahkanvi /dev/sda
. Bahkan, ini mengingatkan saya pada kisah di mana Linus Torvalds mencoba masuk ke jaringan menggunakan perangkat hard drive daripada perangkat modem, menimpa awal drive dengan jabat tangan dial-in . Tidak ada hubungannya dengandd
..iso
berkas? Apakah Anda menyeladd
, atau menjalankannya sampai selesai?dd
seperti ini (untuk tujuan ini), jadi saya pikir peringatan 'Penghancur Data' relevan, meskipun peringatan yang sepenuhnya benar harus lebih lama: "Jangan gunakan baris perintah sepertisudo dd if=image.iso of=/dev/sdx
untuk mengkloning ke massa perangkat penyimpanan. Gunakan alat yang membantu Anda mengidentifikasi dan memilih perangkat target yang benar dan yang memiliki titik pemeriksaan akhir, sehingga Anda dapat memeriksa ulang apakah Anda akan mengkloning dari file iso ke perangkat target yang benar, misalnya StartupDiskCreator, Disk, mkusb , Win32DiskImager. "Jawaban:
Karena komputer Anda masih menyala, Anda memiliki peluang bagus untuk menyimpan barang.
Pertama,
sysfs
memaparkan kernel dalam tampilan memori tabel partisi. Saat ini, kernel Anda belum membaca ulang tabel disk dan ia mengingat partisi Anda. Di dalam/sys/block/sda/
, harus ada satu direktori untuk setiap partisi. Setiap subdirektori tersebut berisi filestart
dan filesize
, yang mewakili lokasi dan ukuran partisi, di sektor. Jalankanfdisk
dan kemudian buat kembali setiap partisi (dalam urutan!) Dengan informasi dalamsysfs
direktori. Perhatikan bahwa Anda harus membuat tabel partisi baru juga. Pastikan tabel partisi baru Anda sama dengan yang sebelumnya. Anda dapat memeriksanya/sys/block/sda
. Jika Anda melihatsda1
hinggasda7
sementara Anda hanya memiliki 6 partisi, Anda mungkin memiliki MBR, dan selain itu mungkin GPT. Anda juga perlu mengatur flag dan tipe untuk partisi ini. Lihatlah/etc/fstab
dan cobalah untuk mendapatkan informasi tentang jenis partisi yang Anda miliki, lalu periksa Wikipedia untuk mengonversinya menjadi kode untuk skema partisi Anda.Karena Anda tampaknya dapat menggunakan sistem file Anda, kemungkinan Anda
dd
tidak dapat menimpanya, karena sebagian besar bit penting dari sebuah sistem file ada di bagian depan. Periksa/etc/fstab
untuk melihat partisi mana yang sesuai dengan bagian mana dari sistem Anda, dan kemudian gunakan jumlah data yangdd
disalin untuk mendapatkan perkiraan berapa banyak Anda nuked. Jika Anda hanya menimpa sebagian dari sistem file, suatu barangfsck
mungkin dapat memperbaikinya sedikit (tetapi Anda telah kehilangan banyak data).Kemungkinan besar, Anda menimpa
/boot
. Anda harus menginstal ulang kernel (withaptitude
) dan instal ulang GRUB2 (withgrub-install
) (yang menghancurkan tahap pertama dan kedua). GRUB2 dikonfigurasikan dengan file-file/etc
, jadi Anda tidak perlu membuat ulang apa pun secara manual.sumber
/sys/block/sda/*/{start,end}
dan buat kembali partisi Anda dengan informasi ini": dapatkah Anda sedikit memperluas ini? Ini bukan operasi sepele dan tampaknya menjadi poin utama dari jawaban Anda yang luar biasa.sudo parted
,unit s
,print all
,quit
.bashrc
dan file dot lainnya dari direktori home Anda, dan semuanya/etc
, selain data nyata Anda) ke disk lain ketika komputer Anda yang sedang berjalan masih berfungsi . tar.gz adalah format yang baik untuk menyalin seluruh direktori (karena mempertahankan hak akses dan sebagainya)./boot
seperti ini benar-benar "aman" (modulo benar-benar segalanya tentang situasi ini ) karena kernel tidak pasti tentang apa pun.Maaf membaca tentang keberuntunganmu
Saya kira Anda tidak memiliki cadangan saat ini, dan saya menyesal membaca tentang keberuntungan Anda menggunakan
tempat Anda menggunakan drive letter
x
=a
sehingga Anda menimpa awal hard disk drive tempat Anda menyimpan banyak data berharga.Anda bukan orang pertama dan saya khawatir bukan orang terakhir yang terkena masalah ini.
dd
direkomendasikan di banyak situs web untuk digunakan seperti ini. Ini adalah metode yang kuat tetapi berbahaya, karena ia melakukan apa yang Anda perintahkan tanpa pertanyaan. Untuk alasan ini sering dijuluki 'Penghancur Data'.komentar @marcelm, bahwa nama panggilan ini tidak adil. Dia benar bahwa menulis langsung ke file perangkat sebagai root menyebabkan risiko . Jadi perlu diketahui bahwa Anda dapat dengan mudah menimpa drive dan menghancurkan data berharga dengan menulis ke file perangkat yang sesuai
/dev/sdx
. (Alat yang lebih aman terdaftar di akhir jawaban ini.)Pulihkan tabel partisi, sistem file, dan / atau konten file
Lakukan sesedikit mungkin dengan drive, dan di atas semua itu, jangan menulis apa pun untuk itu, karena dapat memperburuk situasi dengan menimpa data, yang masih mungkin untuk dipulihkan.
Jika data Anda berharga, Anda harus mengerjakan salinan yang dikloning , bukan drive asli (sebagian ditimpa). Lihat tautan ini, gulir ke bawah ke 'Perbaikan lanjutan pada tabel partisi, sistem file dan / atau pemulihan file'
Perbaiki tabel partisi dan sistem file pendrive
Jika Anda memiliki tabel partisi GUID, GPT, ada cadangan tabel partisi di akhir drive
/dev/sda
, dan Anda mungkin dapat mengembalikan tabel partisi utama dari tabel cadangan ini menggunakan alatgdisk
. Lihat manualman gdisk
untuk detailnya.Anda dapat mengatur untuk memulihkan tabel partisi dan sistem file menggunakan Testdisk dari
http://cgsecurity.org
Baca instruksi di situs web CGSecurity dan juga tautan yang disediakan oleh @ElderGeek, Partisi menghilang setelah listrik padam saat menginstal
Anda juga dapat mengatur untuk mengembalikan tabel partisi dan sistem file menggunakan gpart / gparted sesuai dengan tautan yang disediakan oleh @CSM,
HOWTO: Kembalikan Partisi yang Hilang ke Tabel Partisi yang Dihapus atau Rusak
PhotoRec : Jika Anda gagal memulihkan tabel partisi dan sistem file, Anda masih dapat memulihkan beberapa data file. File di ujung kepala, mungkin 1-1,5 GB, ditimpa dan hilang, tetapi file di belakang bagian drive itu masih ada. PhotoRec dari http://cgsecurity.org adalah alat, yang dapat memulihkan data 'dari permukaan drive' tanpa sistem file. Data khas di awal jenis file umum digunakan untuk identifikasi.
Tautan berikut memberikan detail tentang PhotoRec,
https://www.cgsecurity.org/wiki/PhotoRec
Anda harus menyimpan file ke partisi di drive yang terpisah.
Tidak mungkin memulihkan struktur direktori dan biasanya tidak mungkin memulihkan nama file (dan bukan izin dan kepemilikan), dan ada masalah, ketika file terfragmentasi, tetapi banyak file dapat dipulihkan oleh PhotoRec (tidak hanya foto, juga banyak jenis file umum lainnya). Tapi, dan ini hal yang besar, tetapi, banyak kerja keras untuk mengarungi sejumlah besar file yang tidak disortir untuk mengidentifikasi file yang benar-benar penting, yang harus Anda ubah nama menjadi nama file yang bermakna.
Alat yang lebih aman untuk membuat drive boot USB dengan Ubuntu
Di masa mendatang, silakan gunakan alat yang membantu Anda mengidentifikasi dan memilih perangkat target yang benar dan yang memiliki pos pemeriksaan akhir, sehingga Anda dapat memeriksa ulang apakah Anda akan mengkloning dari file iso ke perangkat target yang benar, misalnya
Di Linux:
gnome-disks
,Di Windows: Win32DiskImager .
Anda juga dapat menggunakan alat penggalian , yang menyediakan pos pemeriksaan akhir, misalnya
sumber
testdisk
. Juga skrip wrapper untuk mencegahdd
penulisan ke / sda / sdb / apa pun juga merupakan ide bagus.Dengan
dd
perintah Anda, Anda menimpa tabel partisi / dev / sda dan semua data sejauh ukuran image.iso.Jadi yang terbaik yang dapat Anda capai adalah mengembalikan tabel partisi Anda (dengan ukuran yang tepat) untuk memulihkan setidaknya partisi menjelang akhir / dev / sda.
sumber
Pendeknya memulihkan dari cadangan, tidak ada cara untuk sepenuhnya pulih. DD telah menimpa tabel partisi dan beberapa data perangkat.
sumber
Jika drive Anda dipartisi menjadi terpisah
/
dan/home
partisi, dan/home
partisi itu setelah/
partisi, maka Anda dapat memulihkan data Anda. MBR yang mencantumkan tempat sebagian besar partisi telah ditimpa. Namun, gparted dapat memulihkan/home
partisi Anda .Posting ini di Forum Ubuntu memberikan beberapa ide tentang bagaimana melakukannya; Saya menemukan bahwa dengan mencari "partisi pemulihan gparted".
Setelah Anda menemukan partisi Anda yang hilang (di mungkin berada di dalam partisi extended), Anda harus menambahkannya sebagai satu-satunya partisi di tabel partisi.
Setelah Anda selesai melakukannya, Anda harus menginstal ulang Linux, meminta agar partisi yang dipulihkan tetap
/home
.sumber
Testdisk untuk menyelamatkan
Saya pribadi dapat menjamin untuk Testdisk yang menyimpan data saya setelah saya berulang kali menyalin dan menempel instruksi untuk
/dev/sdb
dan mengubahnya menjadi/dev/sdd
USB saya. Hanya satu kali saya lupa untuk mengubahnya dan saya pergi/dev/sdb
ke tempat sampah.Atur sistem Anda untuk tidak pernah menulis
/dev/sda
Saya sangat menyarankan membuat skrip wrapper: Cegah `dd` dari menghancurkan SSD atau HDD . Ini memastikan
dd
tidak pernah menulis ke/dev/sda
atau mungkin/dev/sdb
atau perangkat penyimpanan massal Anda lainnya.sumber