web-dev-qa-db-fra.com

Comment déterminer quel fichier occupe un secteur donné?

J'ai un disque dur avec 3 secteurs défectueux. Je connais les numéros de secteur et l'ordinateur peut toujours démarrer sous Windows. Je souhaite exécuter la réparation de secteur à partir d'un outil de diagnostic de disque dur fourni par le fabricant, mais avant cela, j'aimerais savoir quels fichiers sont affectés. Existe-t-il un moyen de savoir quel fichier ou quels fichiers occupent ces secteurs?

34
Jason81

Voici le processus utilisant WinHex , un éditeur hexadécimal pratique qui permet d’examiner et de modifier directement les lecteurs. Soyez très prudent; Cet outil peut endommager votre système s’il n’est pas utilisé correctement. Ouvrez les disquesen lecture seuleautant que possible.

  1. Puisque vous avez déjà les emplacements de secteur défectueux, vous pouvez ouvrir le lecteur directement dans WinHex (bouton"Open Disk"/ de la barre d’outils), puis naviguer jusqu’au secteur pour afficher les données (" Cliquez sur Secteur "bouton de la barre d’outils). En supposant que vos emplacements de secteur soient des adresses de secteur physiques, vous devez ouvrir votre lecteurphysicalà cette étape.

    Cenotidentifie directement le fichier, mais le volet de gauche doit identifier la partition contenant ce secteur et son secteurrelatif correspondant.

  2. Si la partition que vous avez identifiée est une partition NTFS ou FAT, nous pouvons ouvrir la partition directement ("Open Disk"à nouveau). Cela ouvrira la partition dans un nouvel onglet, de sorte que vous pourrez basculer au besoin. Dans l'onglet partition, utilisez à nouveau la fonction"Aller au secteur", mais cette fois, entrez le secteur traduit (le"secteur relatif"identifié dans le lecteur vue).

    Maintenant, dans le volet de gauche, vous devriez voir une section sur"Alloc. D'espace disque visible". Sous cela se trouvent le numéro de cluster, le secteur physique, le secteur logique (relatif) et le nom de fichier si ce secteur appartient réellement à un fichier.

Si ces étapes ne vous donnent pas une réponse immédiate, vos secteurs défectueux peuvent ne pas être utilisés. Si les résultats ne sont pas clairs, vous devrez peut-être creuser davantage pour trouver votre réponse.

21
quack quixote

Essayez nfi.exe - Utilitaire d'informations sectorielles sur les fichiers du système de fichiers Windows NT (NTFS). Téléchargez depuis Outils de support OEM Microsoft Phase 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.

Notez que vous devez omettre le "\\?" préfixe du chemin de périphérique du bloc. Exemple:

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)
20
Robert Collier

La plupart des programmes de défragmentation affichent une carte du disque affichant tous les clusters du disque sur lesquels vous pouvez cliquer (recherchez ceux marqués comme mauvais ) pour afficher le fichier. fichier (s) situé (s) dans ce cluster.

Comme Walter l'a dit, tous les disques et systèmes d'exploitation de la dernière décennie veilleront à déplacer automatiquement les fichiers de secteurs défectueux (le micrologiciel du lecteur le gère généralement, mais les outils de disque tels que chkdsk ou les défragmenteurs le font également).


Defraggler:

enter image description here

Défragmenter un fichier:

enter image description here

Vopt:

enter image description here

8
Synetech

DiskView de Sysinternals remplit exactement cette fonction: afficher une disquette du disque et vous permettre de voir quels fichiers occupent quels clusters.

Malheureusement, il ne semble pas y avoir de moyen d’afficher les noms des fichiers système.

DiskView main windowDiskView system file

6
Synetech

autant que je sache, lorsqu'un lecteur rencontre un certain nombre d'erreurs de lecture sur un secteur, il est marqué comme défectueux et son contenu est copié dans un autre emplacement du lecteur. cela se produit généralement avant que les données de ce secteur ne soient complètement illisibles.

J'essaie de trouver une source pour cela, lisez-la hier, mais je ne me souviens plus où.

à partir de man hdparm (8)

Notez également que le drapeau --repair-sector peut être utilisé pour restaurer (tout) les secteurs défectueux quand ils ne sont plus nécessaires, y compris les secteurs véritablement défectueux (le lecteur va probablement remapper ceux-ci vers une nouvelle zone du support).

En bout de ligne: vous n’avez pas à vous soucier des mauvais secteurs, le microprogramme des disques durs le fait pour vous. La seule chose que vous devez faire est d’obtenir un nouveau lecteur avant qu’ils ne soient trop nombreux et que votre lecteur meure.

3
Baarn

Vous pouvez utiliser fsutil à partir de l'invite de la commande administrateur. La sous-commande volume a la sous-commande querycluster. Reportez-vous à Référence de la ligne de commande Windows Fsutil .

Fsutil prend le numéro de cluster dans le lecteur logique comme argument d'entrée, au lieu du numéro de secteur. Mais il devrait être facile de calculer ce nombre:
cluster # = (absolu_sector - start_of_partition_sector)/secteurs_per_cluster.

Exemple de sortie:

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

RunExime DiskExplorer vous permet d'examiner un lecteur par secteur. C'est un payware (70 $ pour la version NTFS) mais gratuit à essayer. Ils ont des versions pour NTFS, FAT et Linux (ext2/3).

alt text

2
quack quixote