Hangi dosyanın belirli bir sektörü işgal ettiğini nasıl belirlerim?


34

3 kötü sektörden oluşan bir sabit diskim var. Sektör numaralarını biliyorum ve bilgisayar hala Windows’a açılabiliyor. Üreticiden bir HDD tanılama aracından sektör onarımı yapmak istiyorum, ancak bunu yapmadan önce hangi dosyaların etkilendiğini bilmek istiyorum. Bu sektörleri hangi dosya veya dosyaların işgal ettiğini bulmanın bir yolu var mı?


1
roadkil'in sektör editörü yolun bir parçası olabilir, programları listelemez.
barlop

Ayrıca bkz. Belirli bir sektörde hangi dosyanın olduğunu bulma - aynı soru, ancak Linux'tan erişilen bir NTFS dosya sistemi için.
sleske,

Yanıtlar:


22

İşte sürücüleri doğrudan inceleyip düzenleyebilen kullanışlı bir hex editörü olan WinHex kullanan süreç . Çok dikkatli ol; Bu araç uygun şekilde kullanılmadığında sisteminize zarar verebilir. Diskleri mümkün olduğunca salt okunur açın .

  1. Zaten hatalı sektör konumlarınız olduğundan, sürücüyü doğrudan WinHex'te ( "Diski Aç" araç çubuğu düğmesi) açabilir ve ardından verileri görüntülemek için sektöre gidebilirsiniz ( "Sektöre Git" araç çubuğu düğmesi). Sektör konumlarınızın fiziksel sektör adresleri olduğunu varsayarak, fiziksel sürücünüzü bu adımda açmanız gerekir .

    Bu alışkanlık doğrudan dosyayı tanımlamak, ancak sol bölmesinde bu sektör ve karşılık gelen içeren bölümü belirlemelidir göreceli sektör adresini.

  2. Tanımladığınız bölüm bir NTFS veya FAT bölümü ise, bölümü doğrudan açabiliriz ( tekrar "Diski Aç" ). Bu, bölümü yeni bir sekmede açacaktır, böylece gerektiğinde ileri geri geçiş yapabilirsiniz. Bölüm sekmesinde, tekrar "Sektöre Git" işlevini kullanın , ancak bu kez çevrilen sektörü ( sürücü görünümünde tanımlanan "göreceli sektör" ) girin.

    Şimdi, soldaki bölmede, "Görünür sürücü alanı tahsisi" konulu bir bölüm görmelisiniz . Bunun altında küme #, fiziksel sektör #, mantıksal (göreceli) sektör # ve bu sektör aslında bir dosyaya aitse dosya adıdır.

Bu adımlar size acil bir cevap vermezse, kötü sektörleriniz kullanımda olmayabilir. Sonuçlar net değilse, cevabınızı bulmak için biraz daha kazma yapmanız gerekebilir.


1
indirilebilir sürüm bir değerlendirme sürümü olduğunu iddia ediyor, ancak çok yetenekli görünüyor. Duruşma süresinin ne olduğundan emin değilim. lisans seçenekleri için buraya bakın: x-ways.net/winhex/order.html
quack quixote

WinHex bomba oldu .... Birkaç dakika içinde kötü sektörlerden (yüzey taramasından mutlak sektörler) etkilenen dosyaları buldum. Müthiş öğretici. Teşekkürler, "quix quixote" u

Kullanıcı arayüzü, sektörü okumadan bu bilgiyi açığa çıkarmaya zorlanabilir mi? Belirli sektörleri okuduğumda kapanan (ayrılıp kapanan) bir disk üzerinde kurtarma işlemi yapıyorum.
19'da Sheldonh

winhex web sitesi aşağı görünüyor / mevcut değil ( i.imgur.com/1FAX5cN.png ) aşağıdaki nfi çözümünü deneyin. Düz ve basit. ücretsiz. "hemen cevap";)
Costin Gușă

21

Nfi.exe'yi deneyin - Windows NT Dosya Sistemi (NTFS) Dosya Sektörü Bilgi Yardımcı Programı. İndirme Microsoft OEM Destek Araçları Faz 3 SR2 .

> nfi.exe
Dumps information about an NTFS volume, and optionally determines
which volume and file contains a particular sector.

Usage: nfi drive-letter [logical-sector-number]

        Drive-letter can be a single character or a character followed
        by a colon (i.e., C or C: are acceptable).

        Logical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the volume
        whose drive letter is given by drive-letter. If not
        specified, then information about every file on the volume
        is dumped.

   nfi NT-device-path physical-sector-number

        Determines which volume a given physical sector on a drive is
        within, and then which file on the volume it is in.

        NT-device-path is the NT-style path to a physical device.
        It must not include a partition specification.

        Physical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the physical
        drive whose device path is given by NT-device-path.

    nfi full-win32-path

        Dumps information about a particular file. full-win32-path
        must start with a drive letter and a colon.

"\\" yazısını ihmal etmeniz gerektiğini unutmayın. blok aygıtı yolunun öneki. Örnek:

C:\Users\admin\Downloads>nfi \Device\Harddisk0\DR0 28521816
NTFS File Sector Information Utility.
Copyright (C) Microsoft Corporation 1999. All rights reserved.


***Physical sector 28521816 (0x1b33558) is in file number 5766 on drive C.
\IMAGES\win7HDD.vhd
    $DATA (nonresident)
        physical sectors 32863720-34098663 (0x1f575e8-0x2084de7)
        physical sectors 28519912-32863719 (0x1b32de8-0x1f575e7)
        physical sectors 25727944-26291143 (0x18893c8-0x1912bc7)
        physical sectors 95163976-115106143 (0x5ac1648-0x6dc615f)

Sadece bunu oylamak için giriş yaptım. bu cevap olarak işaretlenmelidir!
Costin Gușă

Bilmiyorsanız NT-device-path, onu bulmayı deneyebilirsiniz dd --list. (Unix araçları bulunan kullanıcıların dikkatine PATH: ddişte C:\WINDOWS\system32\dd.exetam yolunu kullanmanız gerekebilir)
kullanıcı

Windows 10'da system32'de bu yardımcı program yoktur. c:\Windows\System32>dd.exe 'dd.exe' is not recognized as an internal or external command, operable program or batch file.
Aen Sidhe,

1
Microsoft sitesindeki indirme bağlantısı
havza

1
Ayrıca wayback
mkey

8

Birleştirme programlarının çoğu, o kümede bulunan dosyaları görüntülemek için diskteki tüm kümeleri görüntüleyen ve daha sonra tıklayabileceğiniz ( kötü olarak işaretlenmiş olanları arayın) görüntüleyen bir disk haritası gösterir .

Walter'in dediği gibi, son on yıldaki herhangi bir disk ve işletim sistemi kombinasyonu, dosyaları kötü sektörlerden otomatik olarak yeniden yerleştirdiğinizden emin olacaktır (sürücü yazılımı genellikle bunu işler, ancak disk benzeri araçlar chkdskveya birleştiriciler de bunu genellikle yapar).


Defraggler:

görüntü tanımını buraya girin

Defrag-a-Dosya:

görüntü tanımını buraya girin

Vopt:

görüntü tanımını buraya girin


Gelecek vaat ediyor, ben gideceğim.
ChrisWue

6

Sysinternals'tan DiskView bu işlevi tam olarak yerine getirir: sürücünün bir disk haritasını görüntülemek ve hangi dosyaların hangi kümeleri işgal ettiğini görmenize izin vermek için.

Ne yazık ki, sistem dosyalarının adlarını görüntülemek için bir yol görünmüyor.

DiskView ana penceresi DiskView sistem dosyası



Bu yüzden ayrı bir cevap olarak göndermiştim, çünkü bu amaç için özel olarak yapılmış bir araçtır, bu yüzden soruyu cevaplar, ancak sınırlıdır (hala FAT32'yi yoğun kullanıyorum), yani her şeyden önce değildir - tüm çözüm. (Henüz?)
Synetech

5

fsutilYönetici komut isteminden kullanabilirsiniz . Alt komutu volumevardır queryclustersubsubcommand. Bkz. Windows Komut Satırı Başvurusu Fsutil .

Fsutil, küme numarasını, mantıksal sürücüde sektör numarası yerine, giriş bağımsız değişkeni olarak alır. Ancak bu sayıyı hesaplamak kolay olmalı:
cluster # = (absolute_sector - start_of_partition_sector) / sector_per_cluster.

Örnek çıktı:

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA

3

Bir sürücü bir sektörde belirli bir sayıda okuma hatasıyla karşılaştığında bildiğim kadarıyla kötü olarak işaretlendi ve içeriği sürücüdeki başka bir yere kopyalandı. bu genellikle, o sektördeki veriler tamamen okunamaz hale gelmeden önce olur.

Bunun için bir kaynak bulmaya çalışıyorum, sadece dün okuyun, ancak nerede olduğunu hatırlayamıyorum.

gelen erkek hdparm (8)

Ayrıca - sektör-sektörü bayrağının, gerçekten kötü olan sektörler de dahil olmak üzere, artık ihtiyaç duyulmayan kötü sektörleri (herhangi bir) geri yüklemek için kullanılabileceğine dikkat edin (sürücü bunları medyadaki yeni bir alana getirecektir).

Alt satır: Kötü sektörlerle ilgilenmek zorunda değilsiniz, harddri bellenimi sizin için bunu yapıyor. Yapmanız gereken tek şey, fazla sürücü olmadan yeni bir sürücü almak ve sürücünüz ölmeden önce.


Yeniden tahsisatın okula değil yazıyla gerçekleştiğine eminim. Sürücünün SMART verileri bunu doğrular gibi görünüyor. Sektör Yeniden Tahsisi Sayısı 0 iken, bekleyen sektörlerin sayısı yüksektir (0'dan büyük). Bu benim için: Yeniden tahsisat için işaretlenmiş kötü sektörler var ancak henüz yeniden tahsis edilmemişler.
ChrisWue

CHKDSK'i denedin mi? en.wikipedia.org/wiki/CHKDSK
Baarn

/ r seçeneğine bakın
Baarn

Bu sektörde depolanan dosyalar hakkında bilgi almak olsa da mümkün görünmüyor.
Baarn

2

RunTime 's DiskExplorer , bir diski sektörlere göre incelemenizi sağlar. Bu maaş ödülü (NTFS sürümü için 70 $) ama denemek için ücretsiz. NTFS, FAT ve Linux (ext2 / 3) sürümleri vardır.

alt metin


Bu umut verici görünüyordu, ama ne yazık ki işe yaramadı. DiskExplorer, sürücünün her kesimi için "Geçersiz MFT girişi" görüntüler.

Tüm sektörler için bunu gösteriyorsa, kaçırdığınız bir yapılandırma adımı olmasını bekliyorum, ancak bu aracı uzun süredir kullanmadığımdan size doğrudan talimatlar veremem. ayrı bir araçla başka bir cevap ekleyeceğim; belki de bir başkası bunun uygun şekilde kullanılmasını sağlar.
quack quixote

Bu bir yapılandırma sorunu değil, Disk Explorer'ın sadece çok karmaşık ve kullanımı zor. Yeterince otomatik değil. (Eski DOS programı Norton Disk Doctor benzerdi, ancak dosya sistemi yapılarına otomatik olarak okuyup ayarladığı için kullanımı çok daha kolaydı. Utanç
NTFS'yi

0

İplik eski olduğunu biliyorum ama böyle bir sorunu olan herkes için rekor linux dan kontrol etmek için bir yol var. Her zaman cd / usb çubuğundaki bazı canlı linux'ları kullanabilirsiniz. Her neyse, işe geri dönelim.

Bugün bazı smartd deamon kütüklerini okunamayan sektör uyarıları ile bulmuştum ve araştırmaya karar verdim. Sonunda araştırdığım araştırmadan sonra (#, kök ayrıcalıkları gösteren komut isteminde, sıradan bir kullanıcı olarak çalışıyorsa, sudo kullanılabilir):

# smartctl -H /dev/sda2

SMART overall-health self-assessment test result: PASSED

Hangi sürücünün biraz sağlıklı olduğunu gösterir ki bu iyidir. Ama daha sonra takip edip araştırdım ve kaçtım badblocks.

# badblocks -v /dev/sda2 > ~/log/sda2.badsectors
# cat ~/log/sda2.badsectors

271521948

Bu yüzden aittir hangi dosya öğrenmek istedi ve tespit bazı badblock yoktu bu yapılabilir ile debugfs, sorun kullandığım yani benim bölüm NTFS olduğuydu ntfstools anahtar olan:

# ntfscluster -s 271521948 /dev/sda2 > 271521948.secinfo 2>&1
# cat 271521948.secinfo | grep -v "extent"

Searching for sector 271521948
Inode 142427 /tmp/dl/setup_torch_2.exe/$DATA
* one inode found

/ grep -v "extent"Gereksiz bilgi kurtulmak kapalı sürü tarafından görüntülenen elde etmektir ntfscluster/ '

Yani ntfs durumunda tüm ihtiyaçlar ntfscluster -s $SECTOR.

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.