Hard Disk Eksternal tidak dapat diakses. "Struktur disk rusak dan tidak dapat dibaca"

11

Saya memiliki HDD eksternal AgentGoFlex Seagate 1 TB.

Akhir-akhir ini menyebabkan beberapa masalah seperti beberapa folder yang memiliki data tidak menampilkan file apa pun. Beberapa folder tidak terbuka, dll.

Jadi saya mencoba menjalankan chkdskpada Windows 8, tetapi tidak berhasil. Jadi saya melepas HDD. Sekarang ketika saya memasang HDD ke sistem, itu tidak dikenali. Di Linux itu tidak dikenali sama sekali.

Sementara di Win8 ketika saya mencoba mengakses disk dari command prompt itu mengatakan "Struktur disk rusak dan tidak dapat dibaca".

Bahkan chkdsksekarang gagal dengan kesalahan: "Sistem file adalah NTFS. Tidak dapat menentukan versi volume dan negara. Chkdsk dibatalkan."

Saat mencoba menjalankan "periksa utilitas" dari F: → klik kanan → Properti → Alat → Periksa, ini memberikan kesalahan di bawah ini.

Tangkapan layar kesalahan: Pemeriksaan disk tidak dapat dilakukan karena Windows tidak dapat mengakses disk

Memformat disk bukanlah pilihan karena saya memiliki data yang sangat penting.

Harap sarankan apa yang dapat dilakukan untuk mengaktifkan akses ke hard disk.

Anurag Rana
sumber
1
Jika Anda tidak dapat mengirim disk ke perusahaan pemulihan data profesional, solusi terbaik berikutnya adalah mencoba membuat gambar disk Anda dalam kondisi saat ini (sebelum disk gagal total). Kemudian Anda dapat menyimpan file gambar sebagai "salinan aman", cobalah untuk memulihkan disk atau file gambar yang digandakan. Saya yakin Linux setidaknya pada tingkat tertentu mengenali drive Anda, jadi cobalah untuk mendapatkan beberapa alat pencitraan disk gratis dan tulis gambar tersebut ke disk lain terlebih dahulu!
Waxhead
1
Saya khawatir Ramhound mungkin benar, drive Anda mungkin mati. Data mungkin dapat dipulihkan, tetapi melakukannya di rumah dapat mengakibatkan kehilangan lebih banyak file - beberapa profesional mungkin dapat membantu Anda. Dan ingat, hanya ada dua jenis orang: mereka yang membuat cadangan, dan mereka yang mau.
gronostaj

Jawaban:

10

Pertama-tama, jangan melakukan apa-apa lagi pada disk (setidaknya tidak pernah menulisnya ). Disk tidak dikenali (sebagai lawan dari "dikenali dan ditemukan kosong atau dengan data yang tidak dapat dibaca") tampaknya mengindikasikan disk yang benar-benar meledak, yang chkdsktidak ingin dilakukan, atau ada yang salah dengan tabel partisi atau geometri disk. , atau cara kandang USB mengatasinya. Kegagalan perangkat keras juga dimungkinkan.

Ini dapat dan akan terjadi ketika penutup USB mencoba untuk bernegosiasi antara disk dan komputer yang terhubung dengannya. Jadi hal pertama yang harus dilakukan adalah mengambil gambar disk pada disk (jelas lebih besar) pada level terdekat dengan fisik, menggunakan ddLinux. Kemudian Anda bisa mengutak-atik salinan gambar ke isi hati Anda, tanpa risiko kerusakan lebih lanjut ke disk nyata.

Pembaruan: pengenalan perangkat di Linux

Kami memiliki tidak kurang dari tiga entitas di "disk eksternal" kami. Perangkat keras enklosur USB, memperlihatkan sebagai perangkat blok. Disk fisik di dalam enklosur. Perangkat fisik, yaitu, urutan sektor LBA dari pertama hingga terakhir. Dan akhirnya nol atau lebih partisi data, hosting sistem file. Agar "dikenali" dan ditampilkan di desktop, semua tautan rantai perlu bekerja. Tetapi untuk mengambil gambar perangkat fisik Anda hanya perlu dua yang pertama. Jika Anda mencolokkan perangkat dan menjalankan baris perintah dmesg(sebagai root), Anda harus melihat sesuatu seperti ini:

[4984939.028491] usb 8-6: new high speed USB device using ehci_hcd and address 3
[4984939.166658] usb 8-6: configuration #1 chosen from 1 choice
[4984939.170660] scsi7 : SCSI emulation for USB Mass Storage devices
[4984939.172003] usb-storage: device found at 3
[4984939.172005] usb-storage: waiting for device to settle before scanning

... yang mana enklosurnya dikenali, dan kemudian mengidentifikasi dirinya dan isinya:

[4984939.170660] usb 8-6: New USB device found, idVendor=1058, idProduct=1021
[4984939.170660] usb 8-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4984939.170660] usb 8-6: Product: Ext HDD 1021
[4984939.170660] usb 8-6: Manufacturer: Western Digital
[4984939.170660] usb 8-6: SerialNumber: 574D43305431303831303734
[4984944.400970] usb-storage: device scan complete

Selanjutnya Anda akan melihat driver yang memberitahukan geometri, sifatnya, dan secara implisit node perangkatnya, di sini sdd(untuk SCSI Disk Four, sejak sda, sdbdan sdcsudah diambil):

[4984944.404739] scsi 7:0:0:0: Direct-Access     WD      Ext HDD 1021    2021 PQ: 0 ANSI: 4
[4984944.404739] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
[4984944.407367] sd 7:0:0:0: [sdd] Write Protect is off
[4984944.407369] sd 7:0:0:0: [sdd] Mode Sense: 17 00 10 08
[4984944.407371] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[4984944.408741] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)

Kemudian kernel mengakui bahwa ada partisi (jika Anda tidak melihat ini, partisi tidak ada atau tidak valid):

[4984944.411497]  sdd: sdd1

Sekarang Linux memiliki semua yang dibutuhkan dan melaporkan lampiran yang berhasil:

[4984944.416739] sd 7:0:0:0: [sdd] Attached SCSI disk
[4984944.416739] sd 7:0:0:0: Attached scsi generic sg4 type 0

Maka pencarian partisi data dimulai, yaitu, OK, sudah sdd1, tapi apa yang ada di sana? , dan jawabannya adalah:

[4984997.498613] NTFS driver 2.1.29 [Flags: R/W MODULE].
[4984997.554613] NTFS volume version 3.1.
[4984997.568859] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.
[4985390.027808] NTFS-fs error (device sdd1): ntfs_remount(): Volume has errors and is read-only.  Cannot remount read-write.
[4985442.423299] NTFS volume version 3.1.
[4985442.425032] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean.  Mounting read-only.  Mount in Windows.

Ini di atas adalah gunung "baik". Tetapi hanya dengan mengetahui bahwa perangkat ini sdd, atau sdcatau sdb, memungkinkan saya untuk membuat salinan biner (dengan asumsi saya memiliki cukup ruang kosong /mnt/backupdisk): file input /dev/sdd, file output DiskImage.raw, ukuran blok 1 MB :

# dd if=/dev/sdd of=/mnt/backupdisk/DiskImage.raw bs=1M

Perhatikan bahwa file input adalah /dev/sdd dan bukan /dev/sdd1 (atau nomor lainnya). Sekarang jika saya mau, saya bisa mengetahui offset dari partisi data di dalamnya DiskImage.raw, dan memasangnya dengan bantuan perangkat loop. Di sini Anda akan menemukan detail kotor.

Upaya pemulihan pertama

Hal kedua yang harus dilakukan adalah menempatkan disk fisik ke dalam enclosure lain, sehingga memastikan enclosure tersebut baik, dan mendapatkan peluang enclosure baru dengan benar menafsirkan disk. Jika disk muncul kembali, itu mungkin kandang sebelumnya yang rusak. Untuk berjaga-jaga, cadangkan semua konten drive yang baru ditemukan, verifikasi cadangan, disk nol dengan utilitas disk-ditimpa sehingga menjadi benar - benar bodoh (Anda tidak dapat memiliki dua perangkat dengan pendapat berbeda dalam rantai perangkat), memformat ulang asli dari Windows dan pulihkan data. Ini tembakan yang beruntung, tetapi saya melihat itu terjadi; dan upayanya tidak terlalu mahal, kandang yang bagus harganya sekitar US $ 19,99 baru.

Jika enklosur asli rusak, Anda tidak akan dapat memformat ulang disk, atau disk tidak dapat diakses. Anda dapat mencoba kembali kandang baru, dan jika bekerja, baik mengganti kandang tua, atau tetap menggunakan baru (tapi ini adalah bermanfaat jika kandang baru cukup lebih baik daripada US $ 19,99 El murahan).

Pemulihan profesional

Layanan pemulihan profesional, yang dapat Anda temukan dengan Google. Cara yang tidak terlalu jujur ​​untuk melakukannya adalah dengan mengirim disk fisik, dan - jika Anda mendapat "Ya, tidak ada kerusakan perangkat keras dan kami dapat memulihkan semua data Anda hanya dengan US $ $$$, $ $$! " jawab - Anda akan tahu bahwa data itu masih dapat diselamatkan. Jadi Anda dapat mencoba melakukannya sendiri secara gratis pada cadangan gambar yang Anda ambil, dan hanya membayar untuk diagnosis dan disk S&H. Jika Anda gagal, opsi untuk batuk adonan yang diminta masih ada. Jika ada yang kerusakan hardware, layanan profesional pada dasarnya Anda hanya pilihan. Ada beberapa trik voodoo yang akan (untuk sementara) menghidupkan kembali disk "mati", seringkali cukup lama untuk memulihkan data paling penting, setidaknya,tidak ada yang dijamin bekerja setiap kali (memanaskan disk, mendinginkannya, "memutar-mutarnya" - saya bahkan melihat disarankan untuk dengan rap rap terhadap permukaan yang keras). Semua dari mereka akan melakukan lebih banyak kerusakan, yaitu, Anda harus yakin untuk menggunakan satu trik yang akan bekerja pertama kali, atau Anda akan membunuh disk selamanya. Aku hanya menambahkan ini untuk menjelaskan mengapa Anda akan melihat kisah sukses tentang disk dihidupkan kembali: ada yang cerita seperti itu. Tetapi jika Anda ingin (sebagian besar) yakin itu akan terjadi pada Anda , baik - menyewa seorang profesional.

Jika Anda yakin perangkat kerasnya OK - disk berputar, tidak ada mainan kerincingan, tidak ada suara atau buzz aneh, tidak ada kalibrasi ulang clickety-clackety - maka "semua" yang terjadi adalah yang chkdskmengacaukan beberapa data.

Pemulihan DIY

Pemulihan "Rumah" biasanya akan seperti ini (pada dasarnya hal yang sama yang dilakukan orang-orang pro begitu kerusakan perangkat keras didiskon), bekerja pada salinan disk image:

  • periksa apakah sektor pertama dari disk image adalah tabel partisi yang valid. Jika tidak, pindai gambar disk untuk mencari tabel partisi yang valid atau sektor boot NTFS atau FAT32 yang dapat dikenali, tergantung pada FS apa yang ada di unit (untuk unit 1 TB, NTFS tampaknya satu-satunya kemungkinan logis). Bagaimanapun Anda harus menemukan sesuatu dalam beberapa megabyte pertama.

  • Jika tabel partisi ditemukan, verifikasi bahwa partisi data adalah di mana tabel partisi mengatakan seharusnya. Jika tidak, ini adalah kabar baik: mungkin tabel partisi adalah yang salah. Memperbaiki itu mudah (beberapa editor partisi Linux akan melakukannya), dan disk mungkin diharapkan memiliki pemulihan 100%. Agar aman, coba pasang partisi data di Linux dengan perangkat loop dalam mode baca-saja untuk melihat apakah itu dapat dibaca. Jika ya, partisi borking dikonfirmasi, dan disk mungkin diucapkan dalam perjalanan menuju pemulihan penuh. Jika tidak, mungkin partisi tersebut benar dan (sebagian) partisi data telah ditulis ulang. Ini buruk; lihat di bawah ini di bawah 'segalanya menjadi asam'

  • jika ditemukan dan valid, periksa geometri drive dan, jika tidak cocok, itu juga sebenarnya hal yang baik , karena Anda mungkin telah menemukan akar penyebab masalah. Anda dapat memaksa geometri fisik ke kernel (dan mendapatkannya di Linux boot ). Lihat apakah geometri baru mengarah ke disk yang dikenali di Linux. Jika ya, buat cadangan data, verifikasi cadangan sudah benar, dan beri nol diska dd(beberapa megabyte nol ke sdperangkat yang sesuai sudah cukup). Matikan komputer (jangan hanya me-reboot; OK, ini paranoid, tetapi biayanya kecil dan dapat mencapai sesuatu), lalu boot Windows dan minta format sekarang disk yang tidak mengerti menjadi apa yang dianggapnya format terbaik. Ini memastikan tidak ada konflik dengan Windows. Kembalikan data pada disk. Nikmati.

  • jika trik geometri tidak berfungsi, atau partisi tidak dapat ditemukan, atau sekali ternyata kosong, semuanya menjadi masam. Anda memerlukan beberapa alat pemulihan yang mampu memindai gambar disk untuk mencari area data (MFT, dll.) Dari data yang hilang. Dan begitu ditemukan, interpretasikan untuk mendapatkan data. Ini adalah pekerjaan yang sulit dan tidak selalu dapat sepenuhnya otomatis. Pada tingkat yang lebih rendah dan lebih putus asa, ini melibatkan pemindaian untuk tanda tangan masing - masing file, berharap bahwa mereka akan terletak di blok yang berdekatan di disk. Operasi semacam ini dengan senang hati saya serahkan kepada para profesional. Saya melakukannya beberapa kali, selalu berhasil, dengan disk FAT lama. Saya melakukannya lagi, sekitar 50% berhasil, dengan disk FAT32 yang lebih baru dan lebih besar. Saya berusaha beberapa kali, dengan hasil yang buruk (tapi saya punya cadangan penuh dan tidak benar-benar memberikan segalanya), pada sistem file NTFS dan ext4 yang jauh lebih rumit.

Pemulihan manual dari Linux

OK, jadi Anda mencoba untuk me-mount partisi di Linux dan mendapatkan kesalahan ( perhatikan itu /dev/sdc dan hal-hal yang berbeda - gambar mengacu )./dev/sdcN /dev/sdc

# mount -t ntfs /dev/sdc1 /mnt/recovery
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 1024   usa_ofs: 0  usa_count: 65535: Invalid argument
Record 1 has no FILE magic (0x0)
Failed to open inode $MFTMirr: Input/output error

... ini tampaknya menunjukkan bahwa partisi, seperti yang diyakini sistem , salah atau rusak parah. Mari kita periksa opsi pertama terlebih dahulu:

# fdisk /dev/sdc

Anda mendapatkan sesuatu seperti ini:

Disk /dev/sdc: 1000.2 GB, 1000204885504 bytes
1 heads, 63 sectors/track, 31008335 cylinders, total 1953525167 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: 0x9d2b7596

Device       Boot      Start    End          Blocks       Id  System
/dev/sdc1              63       1953520127   976760032+   7   HPFS/NTFS/exFAT

Langkah selanjutnya adalah memeriksa awal partisi yang sebenarnya. Dengan mencari ke dalam file gambar (atau /dev/sdc) kami akan mencari tanda tangan NTFS:

  00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........ 
  00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?... 
  00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J....... 

# dd if=/dev/sdc bs=512 count=1 skip=63 2>/dev/null | hexdump -C | head -n 1

... dengan data di atas kami harapkan boot NTFS berada di sektor 63, itulah mengapa kami atur skip. Selain itu, kami akan mencoba setiap sektor di megabyte (katakanlah) pertama ...

# dd if=/dev/sdc bs=512 count=2000000 2>/dev/null | hexdump -C | grep "00:EB 52 90 4E 54 46 53"

... hanya untuk memastikan hanya ada satu sektor boot (saya punya ini terjadi pada saya. Pada disk FAT32, tapi masih ) dan bahwa tidak ada kesalahan baca di mana saja.

Hasil Anda

00007e00  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|

persis seperti yang kita harapkan: sektor 63 memberikan offset 63 × 512 = 32256 = 7e00 heksadesimal. Sektor boot NTFS ada di sana dan tabel partisi tampaknya benar .

Jadi sekarang kita dapat menyalin sebagian besar /dev/sdc1ke, katakanlah, /tmp/mydisk.imgdan mencoba memperbaikinya dari Linux. Ini tidak akan merusak disk fisik, yang masih akan tersedia tidak berubah untuk upaya lain. Dan karena sekarang kita tahu PT itu benar, kita bisa menggunakan /dev/sdc1salinannya dan menghibur harapan yang sebelumnya tidak bisa kita lakukan:

# dd if=/dev/sdc1 of=/tmp/mydisk.img bs=1G count=10
...after copying 10 gigabytes...

# ntfsfix /tmp/mydisk.img

Jika NTFSfix tidak berfungsi, well, kami dalam masalah. Ada beberapa utilitas yang lebih akurat yang bisa dicoba. Dan jika Anda perlu memulihkan file gambar JPEG dan sistem file tidak terfragmentasi, ini dapat dilakukan secara otomatis dengan mencari header JPEG. Hampir sama dengan dokumen PDF, TIFF, dan Office, kecuali saya tidak tahu cara mengenalinya (untuk JPEG, saya akan :-)). Sebagai pilihan terakhir saya telah menemukan orang-orang ini - saya tidak mengenal mereka, tidak memiliki hubungan dengan mereka dan tidak akan menerima kesalahan apa pun. Namun, seiring berjalannya waktu, harganya sangat masuk akal.

LSerni
sumber
@ Iserni - Terima kasih atas informasinya. Meskipun masalah pertama dengan saya adalah bahwa saya tidak dapat membuat gambar HDD di linux karena tidak dikenali sama sekali. Di windows terdeteksi minimal tetapi tidak dapat diakses.
Anurag Rana
memperbarui jawaban re: "tidak dikenali"
LSerni
@ Isreni - Terima kasih banyak atas bantuannya. Saya dapat membuat gambar data dalam disk, namun data dalam disk saya adalah 400GB dan ukuran maksimum yang tersedia di laptop saya adalah 200GB. karenanya saya tidak akan dapat membuat gambar yang lengkap. Ini akan dibatalkan di tengah. Apakah ada cara saya hanya dapat menyalin 200GB dari 400GB ke laptop saya dan kemudian dari gambar 200GB memulihkan beberapa data?
Anurag Rana
Ya, Anda dapat menggunakan dddengan countparameter untuk mendapatkan hanya sejumlah gigabyte (pertimbangkan bahwa dd dan vendor disk tidak setuju pada seberapa besar GB - "200 GB" yang satu mungkin berarti "190 GB" yang lain. Tetapi juga pertimbangkan bahwa disk USB 500 GB yang baru berharga sekitar USD 59,99, mungkin itu sepadan dengan biayanya. Fakta bahwa Anda dapat mem -image disk tersebut berarti kemungkinan besar perangkat kerasnya sempurna. Kami sedang melihat sebuah perangkat lunak kerusakan di sini (kecuali jika Anda memiliki nasib buruk berdarah kerusakan perangkat keras sektor di area kritis)
LSerni
@Isreni -Terima kasih :) Hari ini saya menggunakan perangkat lunak pemulihan seagate (versi gratis) dan dapat membaca HDD, daftar semua folder (sebagaimana adanya) dan dapat memulihkan semua file kurang dari 64kb (versi gratisnya). Itu berarti HDD pasti bebas dari kesalahan perangkat keras. Setelah menyalin data 200GB ke laptop saya menggunakan dd, dapatkah saya mengakses dump itu seperti kita mengakses direktori normal? Tidak. Benar..Karena dump dibuat adalah file yang tidak dapat dibuka dengan aplikasi normal yang diinstal. Lalu bagaimana kita bisa mengekstrak / menyalin folder / file yang diperlukan dari dump itu?
Anurag Rana
-2

cukup buka cmd sebagai hak istimewa Administratif dan ketik chkdsk X: / f ("X" adalah nama volume driver, "/ f" adalah fix)

electroxeon
sumber
@Iserni jawaban meninggalkan level jawaban terlalu tinggi, maaf tetapi saya harus downvote
Francisco Tapia
Dari OP: "Bahkan chkdsk gagal sekarang dengan kesalahan:" Sistem file adalah NTFS. Tidak dapat menentukan versi dan status volume. chkdsk dibatalkan. ""
Ƭᴇcʜιᴇ007
-3

Solusi simplir yang bagi saya dan kolega saya adalah memasang disk dan digunakan chkdskpada Windows 7.

Raynor
sumber