Harici Sabit Diske erişilemiyor. “Disk yapısı bozuk ve okunamıyor”


11

1 TB AgentGoFlex Seagate harici HDD'im var.

Son zamanlarda veri içeren birkaç klasör gibi bazı dosyalara neden olmuyordu. Birkaç klasör açılmıyordu vs.

Bu yüzden chkdskWindows 8'de çalışmayı denedim , ancak başarıyla tamamlanmadı. Bu yüzden HDD'yi serbest bıraktım. Şimdi HDD'yi sisteme taktığımda tanınmıyor. Linux'ta hiç tanınmıyor.

Win8'de komut isteminden diske erişmeye çalıştığımda "Disk yapısı bozuk ve okunamıyor" diyor.

Hatta chkdskşu hatayla başarısız oluyor: "Dosya sistemi NTFS. Birim sürümü ve durumu belirlenemiyor. Chkdsk iptal edildi."

"Check Utility" yi F'den çalıştırmaya çalışırken : → sağ tıklayın → Özellikler → Araçlar → Kontrol et, aşağıdaki hatayı verir.

Hata ekran görüntüsü: Windows diske erişemediği için disk denetimi gerçekleştirilemedi

Üzerinde çok önemli veriler bulunduğundan diski biçimlendirmek bir seçenek değil.

Lütfen sabit diske erişimi etkinleştirmek için neler yapılabileceğini önerin.


1
Diskinizi profesyonel bir veri kurtarma şirketine gönderemiyorsanız, en iyi çözüm, disklerinizin geçerli durumunda (disk tamamen başarısız olmadan önce) bir görüntüsünü oluşturmaya çalışmak olacaktır. Ardından görüntü dosyasını "güvenli bir kopya" olarak saklayabilir, diski veya çoğaltılmış bir görüntü dosyasını kurtarmayı deneyebilirsiniz. Eminim Linux en azından bir düzeyde sürücünüzü tanır, bu yüzden bazı ücretsiz disk görüntüleme araçları almaya çalışın ve önce görüntüyü başka bir diske yazın!
Waxhead

1
Korkarým Ramhound haklý olabilir, sürücün öldü. Veriler kurtarılabilir, ancak bunu evde yapmak daha fazla dosya kaybına neden olabilir - bazı profesyoneller size yardımcı olabilir. Unutmayın, sadece iki tür insan vardır: yedekleme yapanlar ve yapanlar.
gronostaj

Yanıtlar:


10

Her şeyden önce, disk üzerinde daha fazla bir şey yapmayın (en azından asla yazmayın ). Disk kabul edilmesi değil ( "boş ya da okunamayan verileri ile tanınmaktadır ve bulunan" aksine) tamamen püskürdü diski ya işaret gibi görünüyor chkdskdiskin bölüm tablosunda veya geometri ile ilgisi alışkanlık değil, ya da bir şey yanlış veya USB muhafazasının işleme şekli. Bir donanım arızası da mümkündür.

Bu, USB kasaları disk ve bağlı oldukları bilgisayar arasında anlaşmaya çalıştığında olabilir. Bu nedenle yapılacak ilk şey, ddLinux altında kullanarak (açıkça daha büyük) bir diske mümkün olan en yakın fiziksel düzeyde diskin bir görüntüsünü almak olacaktır . Ardından, gerçek diske daha fazla zarar verme riski olmadan kalbinizin içeriğine bir görüntü kopyasıyla uğraşabilirsiniz.

Güncelleme: Linux'ta cihaz tanıma

"Harici diskimizde" en az üç birimimiz var. Bir blok cihaz olarak ortaya çıkan USB muhafaza donanımı. Kasanın içindeki fiziksel disk. Fiziksel cihaz, yani LBA sektörlerinin ilkinden sonuncuya dizisi. Ve son olarak dosya sistemlerini barındıran sıfır veya daha fazla veri bölümü. "Tanınması" ve masaüstünde görüntülenmesi için zincirlerin tüm bağlantılarının çalışıyor olması gerekir. Ancak fiziksel cihazın bir görüntüsünü almak için sadece ilk ikisine ihtiyacınız var. Cihazı takıp komut satırını dmesg(root olarak) çalıştırırsanız, şöyle bir şey görmelisiniz:

[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

... ki kasa tanınmaya başlıyor ve sonra kendini ve içeriğini tanımlıyor:

[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

Daha sonra sürücünün burada geometrisini, doğasını ve dolaylı olarak cihaz düğümünü bilgilendirdiğini göreceksiniz sdd(SCSI Disk Four için sda, sdbve sdczaten alındı):

[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)

Sonra çekirdek bir bölüm olduğunu tanır (bunu görmüyorsanız, bölüm orada değildir veya geçersizdir):

[4984944.411497]  sdd: sdd1

Artık Linux ihtiyaç duyduğu her şeye sahip ve başarılı bir eki bildiriyor:

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

Ve böylece veri bölümü arayışı başlar, yani, tamam sdd1, ama orada ne var? ve cevap:

[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.

Bu yukarıda "iyi" bir montaj oldu. Ama sadece cihazın olduğunu bilmek sdd, ya sdcda sdb, veya bir ikili kopya yapmak için izin verir (yeterli boş alan var varsayarak /mnt/backupdisk): giriş dosyası /dev/sdd, çıktı dosyası DiskImage.raw, blok boyutu 1 MB :

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

Not giriş dosyası olduğunu /dev/sdd ve değil /dev/sdd1 (veya başka bir sayı). Şimdi istersem, içindeki veri bölümünün ofsetini bulabilir DiskImage.rawve bir döngü cihazı yardımıyla monte edebilirim. Burada kirli detayları bulacaksınız.

İlk kurtarma girişimi

Yapılacak ikinci şey, fiziksel diski başka bir kasaya yerleştirmek, böylece kasanın iyi olmasını sağlamak ve yeni kasanın diski doğru şekilde yorumlama şansını elde etmektir. Disk yeniden belirirse, bozulmuş olan önceki kasa olabilir. Her ihtimale karşı, tüm yeni bulunan sürücü içeriğini yedekleyin, yedeklemeyi doğrulayın , diski disk üzerine yazma yardımcı programı ile sıfırlayın, böylece tamamen aptal hale gelir (bir cihaz zincirinde farklı görüşlere sahip iki cihazınız olamaz), yeniden biçimlendirin yerel olarak Windows'dan ve verileri geri yükleyin. Bu şanslı bir atış, ama bunun olduğunu gördüm; ve girişim çok pahalı değil, iyi muhafazalar yaklaşık 19,99 ABD doları yeni olacak.

Orijinal kasanın bozuk olması durumunda, diski yeniden biçimlendiremezsiniz veya diske erişilemez. Yeni kasayı yeniden deneyebilirsiniz ve çalışırsa eski kasayı değiştirin veya yeni kasayı kullanmaya devam edin (ancak yeni kasa 19,99 ABD Doları El Cheapo'dan oldukça iyi ise bu işe yarar ).

Profesyonel kurtarma

Google ile bulabileceğiniz profesyonel kurtarma hizmetleri. Bunun için çok dürüst olmayan bir yol fiziksel diski göndermek ve - "Evet, donanım hasarı yok ve tüm verilerinizi sadece ABD Doları, $ ABD Doları için kurtarabiliriz. $$!" cevap - o zaman verilerin hala kurtarılabilir olduğunu bilirsiniz . Böylece, aldığınız görüntü yedeklemesinde ücretsiz olarak kendiniz yapmaya çalışabilir ve yalnızca tanı ve disk S&H için ödeme yapabilirsiniz. Başarısız olursanız, istenen hamuru öksürme seçeneği hala orada olacaktır. Orada ise bir donanım hasarı, profesyonel hizmet temelde olduğu yalnızca seçeneği. "Geçici" bir diski (geçici olarak) canlandıracak, en azından en önemli verileri kurtarmak için yeterince uzun olan birkaç voodoo hilesi var,Her seferinde çalışması garanti edilen hiçbiri yok (diski ısıtmak, soğutmak, "döndürmek" - hatta sert bir yüzeye karşı akıllıca rap yapmayı önerdim). Hepsi daha fazla hasar verecek, yani, ilk kez çalışacak bir numara kullandığınızdan emin olmalısınız, yoksa diski sonsuza dek öldürdünüz. Sadece canlandı diskler hakkında başarı hikayeleri de görürsünüz niçin bu ekledi: Orada olan bu tür hikayeleri. Ama (çoğunlukla) bunun olacağından emin olmak istiyorsanız , bir profesyonel kiralayın.

Donanımın iyi olduğundan eminseniz - disk dönüyor, çıngırak yok, garip sesler veya vızıltılar yok, tıkırtı-clackety yeniden kalibrasyonları yok - o zaman "hepsi" chkdskbazı verileri berbat ediyor.

DIY kurtarma

"Ev" kurtarma genellikle böyle gider (temelde donanım adamlarının indirim yapıldıktan sonra profesyonel adamların yapacağı şey), disk görüntü kopyası üzerinde çalışır:

  • disk görüntüsünün ilk kesiminin geçerli bir bölüm tablosu olup olmadığını kontrol edin. Değilse, ünitede hangi FS olduğuna bağlı olarak geçerli bir bölüm tablosu veya tanınabilir bir NTFS veya FAT32 önyükleme kesimi arayan disk görüntüsünü tarayın (1 TB birim için NTFS tek mantıksal olasılık gibi görünüyor). Her iki şekilde de ilk birkaç megabayt içinde bir şey bulmalısınız.

  • bölüm tablosu bulunursa, veri bölümünün bölüm tablosunun olması gerektiğini söylediği yerde olduğunu doğrulayın. Değilse, bu çok iyi bir haber: muhtemelen bölüm tablosu yanlış. Bunu düzeltmek kolaydır (birkaç Linux bölüm düzenleyicisi bunu yapar) ve diskin% 100 iyileşmesi beklenebilir. Sadece güvenli tarafta olmak için, okunabilir olup olmadığını görmek için Linux'ta veri bölümünü bir döngü cihazı ile salt okunur modda monte etmeyi deneyin. Eğer öyleyse, bölüm bölme işlemi onaylanır ve disk emin ve tam kurtarma yolunda telaffuz edilebilir. Değilse, muhtemelen bölüm doğrudur ve bir veri bölümünün (bir kısmı) yeniden yazılmıştır. Bu kötü; aşağıya bakınız, 'işler ekşi olur'

  • bulunursa ve geçerliyse, sürücü geometrisine karşı kontrol edin ve eşleşmezlerse, bu aslında iyi bir şeydir, çünkü sorunun temel nedenini bulmuş olabilirsiniz. Fiziksel geometriyi çekirdeğe zorlayabilir (ve Linux önyüklemesinde alabilirsiniz ). Yeni geometrinin diskin Linux'ta tanınmasına yol açıp açmadığını görün. Varsa, verileri yedekleyin, yedeklemenin doğru olduğunu doğrulayın ve diski sıfırlayın dd(uygun sdaygıta birkaç megabayt sıfır yeterlidir). Bilgisayarı kapatın (sadece yeniden başlatmayın; Tamam, paranoyaktır, ancak maliyeti düşüktür ve bir şey başarabilir), ardından Windows'u başlatın ve şimdi clueless diski en iyi format olduğunu düşündüğü şekilde biçimlendirin. Bu, Windows ile çakışma olmamasını sağlar. Diskteki verileri geri yükleyin. Zevk almak.

  • geometri hilesi çalışmazsa veya bölüm bulunamazsa veya bir kez boş göründüğünde, işler ekşidir. Kayıp verilerin veri alanlarını (MFT vb.) Bulmak için disk görüntüsünü tarayabilen bir kurtarma aracına ihtiyacınız vardır . Ve bulunduktan sonra, verilere ulaşmak için bunları yorumlayın. Bu zor bir iştir ve her zaman tam otomatik olamaz. Daha düşük ve daha umutsuz bir düzeyde, bu , diskteki bitişik bloklarda yer almaları umuduyla , tek tek dosyaların imzalarının taranmasını içerir . Yine de profesyonellere bırakacağım bu tür bir operasyon. Eski FAT disklerle her zaman başarılı bir şekilde birkaç kez yaptım. Bunu daha yeni ve daha büyük ve daha parçalanmış FAT32 diskleriyle yaklaşık% 50 başarıyla yaptım. Ben teşebbüs Çok daha karmaşık NTFS ve ext4 dosya sistemlerinde, birkaç kez, kötü sonuçlarla (ancak tam yedeklemeler aldım ve gerçekten her şeyimi vermiyordum).

Linux'tan manuel kurtarma

Tamam, böylece bölümü Linux'a bağlamaya ve hatalar almaya çalışıyorsunuz (bunun farkına varın /dev/sdc ve farklı şeyler olduğunu unutmayın - görüntü ifade eder )./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

... bu , sistemin sisteme ait olduğuna inandığı gibi yanlış veya kötü şekilde hasar gördüğünü gösteriyor. Önce ilk seçeneği inceleyelim:

# fdisk /dev/sdc

Bunun gibi bir şey elde edersiniz:

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

Sonraki adım, gerçek bölüm başlangıcını kontrol etmek olacaktır. Resim dosyasına (veya /dev/sdc) bakarak NTFS imzasını arayacağız:

  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

... yukarıdaki verilerle NTFS önyüklemesinin 63. sektörde olmasını bekliyoruz, bu yüzden hazırladık skip. Ayrıca, ilk megabaytta her sektörle deneyeceğiz ...

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

... sadece tek bir önyükleme sektörü olduğundan emin olmak için (bu benim başıma geldi. FAT32 diskinde, ama yine de ) ve hiçbir yerde okuma hatası olmadığını.

Senin sonucun

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

tam olarak beklediğimiz şey budur: sektör 63, 63 × 512 = 32256 = 7e00 onaltılık bir ofset verir. NTFS önyükleme kesimi var ve bölüm tablosu doğru görünüyor .

Şimdi, büyük bir parçasını kopyalayabilir /dev/sdc1, diyelim /tmp/mydisk.imgve Linux'tan düzeltmeye çalışabiliriz. Bu, fiziksel dengeye zarar vermez, bu da diğer girişimlerde değişmeden kullanılabilir. Ve şimdi PT'nin doğru olduğunu bildiğimiz /dev/sdc1için, kopya için kullanabiliriz ve daha önce yapamayacağımız umutları eğlendirebiliriz:

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

# ntfsfix /tmp/mydisk.img

NTFSfix çalışmıyorsa, sorun yaşıyoruz. Yine de , denenebilecek daha doğru araçlar vardır. JPEG resim dosyalarını kurtarmanız gerekiyorsa ve dosya sistemi parçalanmamışsa, bu JPEG başlıkları aranarak otomatik olarak yapılabilir. Aynı neredeyse, o hariç, PDF, TIFF ve Office belgeleri için gider ben (ben JPEG için olur :-)) tanıyabilmesi için nasıl bilmiyorum. Son seçenek olarak bu adamları buldum - onları bilmiyorum, onlarla ilgili değilim ve hiçbir suçu kabul etmeyeceğim. Ancak, bu şeyler giderken, fiyat çok makul.


@ Iserni - Bilgi için teşekkürler. Her ne kadar benimle ilgili ilk sorun linux üzerinde HDD imajı yapamıyorum çünkü hiç tanınmıyor. Pencerelerde en az tespit edilir, ancak erişilebilir değildir.
Anurag Rana

cevabı güncelleme re: "tanınmadı"
LSerni

@Isreni - Yardımınız için çok teşekkür ederim. Diskteki verilerin görüntüsünü oluşturabiliyorum, ancak diskimdeki veriler 400GB ve dizüstü bilgisayarımdaki maksimum kullanılabilir boyut 200GB. dolayısıyla tam bir görüntü elde edemeyeceğim. Ortada durdurulacak. 400GB'dan 200GB'ı dizüstü bilgisayarıma kopyalayabilmemin ve daha sonra bu 200gb görüntüden bazı verileri kurtarmanın herhangi bir yolu var mı?
Anurag Rana

Evet, kullanabilirsiniz ddile countbirine "200 GB" diğerine "190 GB" anlamına gelebilir - Bir GB büyüklüğüne bağlı görüşte değiliz dd ve disk satıcıları (gigabayt sadece belirli bir sayı elde düşünmeye parametresi. Ama aynı zamanda 500 GB'lık yeni bir USB diskin maliyeti 59,99 USD civarında olabilir; belki de masrafa değer olabilir.Diskiyi görüntüleyebilmeniz, büyük olasılıkla donanımın kusursuz olduğu anlamına gelir. Burada kritik bir bölgede donanım arızasında kanlı bir şansınız yoksa)
LSerni

@Isreni -Thank u :) Bugün bir seagate kurtarma yazılımı (ücretsiz sürüm) kullandım ve HDD'yi okuyabilir, tüm klasörü listeleyebilir (oldukları gibi) ve 64kb'den (tüm ücretsiz sürümü) tüm dosyaları kurtarabilir. Bu, HDD'de kesinlikle herhangi bir donanım hatası bulunmadığı anlamına gelir. 200GB veriyi dd kullanarak dizüstü bilgisayarıma kopyaladıktan sonra, normal dizinlere eriştiğimiz gibi bu döküme erişebilir miyim? Hayır .. doğru.Çünkü oluşturulan döküm normal bir uygulama yüklendiğinde açılamayan bir dosyadır. O zaman bu dökümden gerekli klasörü / dosyayı nasıl ayıklayabilir / kopyalayabiliriz?
Anurag Rana

-2

cmd'ye Yönetici ayrıcalığı olarak gidin ve chkdsk X: / f yazın ("X" Sürücü birim adıdır, "/ f" düzeltilmiştir)


@Iserni cevap üzgün, çok yüksek cevap seviyesine bıraktı ama downvote gerekir
Francisco Tapia

OP Gönderen: "chkdsk bile şimdi hata ile başarısız:" Dosya sistemi NTFS. Birim sürümü ve durumu belirlenemedi. chkdsk iptal edildi. ""
Ƭᴇcʜιᴇ007

-3

Benim ve meslektaşlarım için diski monte etmek ve chkdskWindows 7'de kullanmak olan basit bir çözüm .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.