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 chkdsk
diskin 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, dd
Linux 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
, sdb
ve sdc
zaten 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 sdc
da 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.raw
ve 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" chkdsk
bazı 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 sd
aygı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.img
ve 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/sdc1
iç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.