Làm cách nào để xác định tập tin nào chiếm lĩnh một khu vực nhất định?


34

Tôi có một ổ cứng với 3 thành phần xấu. Tôi biết số ngành và máy tính vẫn có thể khởi động vào Windows. Tôi muốn chạy sửa chữa khu vực từ một công cụ chẩn đoán ổ cứng từ nhà sản xuất, nhưng trước khi tôi làm điều đó, tôi muốn biết những tập tin nào bị ảnh hưởng. Có cách nào để tìm ra tập tin hoặc tập tin nào đang chiếm lĩnh các lĩnh vực đó không?


1
biên tập viên ngành của roadkil có thể đi một phần, chỉ không liệt kê các chương trình.
barlop

Xem thêm Cách tìm ra tệp nào trong một lĩnh vực cụ thể - cùng một câu hỏi, nhưng đối với hệ thống tệp NTFS được truy cập từ Linux.
sleske

Câu trả lời:


22

Đây là quá trình sử dụng WinHex , một trình soạn thảo hex tiện dụng có thể kiểm tra và chỉnh sửa ổ đĩa trực tiếp. Hãy thật cẩn thận; công cụ này có thể làm hỏng hệ thống của bạn nếu sử dụng không đúng cách. Mở đĩa chỉ đọc bất cứ khi nào có thể.

  1. Vì bạn đã có các vị trí khu vực xấu, bạn có thể mở ổ đĩa trực tiếp trong WinHex ( nút thanh công cụ "Mở đĩa" ) và sau đó điều hướng đến khu vực để xem dữ liệu ( nút thanh công cụ "Chuyển đến ngành" ). Giả sử vị trí khu vực của bạn là địa chỉ khu vực vật lý, bạn cần mở ổ đĩa vật lý của mình trong bước này.

    Điều này sẽ không xác định trực tiếp tệp, nhưng ngăn bên trái sẽ xác định phân vùng chứa khu vực này và địa chỉ khu vực tương đối của nó .

  2. Nếu phân vùng bạn đã xác định là phân vùng NTFS hoặc FAT, chúng ta có thể mở phân vùng trực tiếp ( "Mở đĩa" lại). Điều này sẽ mở phân vùng trong một tab mới, vì vậy bạn có thể chuyển đổi qua lại khi cần thiết. Trong tab phân vùng, sử dụng lại chức năng "Chuyển đến khu vực" , nhưng lần này, hãy nhập khu vực được dịch ( "khu vực tương đối" được xác định trong chế độ xem ổ đĩa).

    Bây giờ, trong khung bên trái, bạn sẽ thấy một phần trên "Phân bổ không gian ổ đĩa hiển thị" . Bên dưới đây là cụm #, khu vực vật lý #, khu vực logic (tương đối) # và tên tệp nếu khu vực này thực sự thuộc về một tệp.

Nếu các bước này không cung cấp cho bạn câu trả lời ngay lập tức, các thành phần xấu của bạn có thể không được sử dụng. Nếu kết quả không rõ ràng, bạn có thể phải thực hiện thêm một số hoạt động đào để tìm câu trả lời của mình.


1
phiên bản có thể tải xuống tuyên bố là phiên bản đánh giá, nhưng dường như rất có khả năng. Tôi không chắc thời gian dùng thử là gì. xem tại đây để biết các tùy chọn cấp phép: x-ways.net/winhex/order.html
quack quixote

WinHex là quả bom .... Tìm thấy những tập tin bị ảnh hưởng bởi các thành phần xấu (các khu vực tuyệt đối từ quét bề mặt) trong vài phút. Hướng dẫn tuyệt vời. Cảm ơn tôi sẽ bình chọn cho bạn "quack quixote" nhưng tôi không có 15 danh tiếng cần thiết ......

Giao diện người dùng có thể bị ép buộc tiết lộ thông tin này mà không cần đọc khu vực không? Tôi đang thực hiện khôi phục trên một đĩa tắt (tách và tắt nguồn) khi tôi đọc các lĩnh vực cụ thể.
sheldonh

Trang web winhex xuất hiện xuống / không khả dụng ( i.imgur.com/1FAX5cN.png ) hãy thử giải pháp nfi bên dưới. thẳng và đơn giản. miễn phí. "câu trả lời ngay lập tức";)
Costin Gușă

21

Hãy dùng thử nfi.exe - Tiện ích thông tin khu vực tệp Windows NT (NTFS). Tải xuống từ Công cụ hỗ trợ OEM của Microsoft Giai đoạn 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.

Lưu ý bạn phải bỏ qua "\\?" tiền tố của đường dẫn thiết bị khối. Thí dụ:

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)

Tôi đăng nhập chỉ để upvote này. điều này nên được đánh dấu là câu trả lời!
Costin Gușă

Nếu bạn không biết NT-device-path, bạn có thể thử tìm nó với dd --list. (Chú ý đến người dùng có các công cụ Unix trong PATH: ddở đây là C:\WINDOWS\system32\dd.exe, bạn có thể cần sử dụng đường dẫn đầy đủ)
người dùng

Windows 10 không có tiện ích này trong system32. c:\Windows\System32>dd.exe 'dd.exe' is not recognized as an internal or external command, operable program or batch file.
Aen Sidhe

1
Liên kết tải xuống trên trang web microsoft đã chết
lưu vực

1
Cũng có thể được tìm thấy trên máy Wayback web.archive.org/web/20150329185738/http://...
mkey

8

Hầu hết các chương trình chống phân mảnh đều hiển thị bản đồ đĩa hiển thị tất cả các cụm trên đĩa mà sau đó bạn có thể nhấp vào (tìm những cụm được đánh dấu là xấu ) để xem (các) tệp nằm trong cụm đó.

Như Walter đã nói, bất kỳ kết hợp đĩa và hệ điều hành nào trong thập kỷ qua sẽ đảm bảo tự động di chuyển các tệp khỏi các thành phần xấu (phần sụn ổ đĩa thường xử lý việc này, nhưng các công cụ đĩa như chkdskhoặc trình chống phân mảnh cũng sẽ làm điều này).


Chống phân mảnh:

nhập mô tả hình ảnh ở đây

Chống phân mảnh tệp:

nhập mô tả hình ảnh ở đây

Vopt:

nhập mô tả hình ảnh ở đây


Có vẻ hứa hẹn, tôi sẽ cho nó đi.
ChrisWue

6

DiskView từ Sysiternals thực hiện chính xác chức năng này: để hiển thị một diskmap của ổ đĩa và cho phép bạn xem các tập tin chiếm những cụm nào.

Thật không may, dường như không có cách nào để hiển thị tên của các tệp hệ thống.

Cửa sổ chính của DiskView Tập tin hệ thống DiskView



Đó là lý do tại sao tôi đăng nó dưới dạng một câu trả lời riêng biệt, bởi vì nó là một công cụ được tạo riêng cho mục đích này, vì vậy nó trả lời câu hỏi, nhưng nó bị giới hạn (tôi vẫn sử dụng rộng rãi FAT32), vì vậy nó không phải là tất cả tất cả giải pháp. (Chưa?)
Synetech

5

Bạn có thể sử dụng fsutiltừ dấu nhắc lệnh của Quản trị viên. Tiểu ban volumequeryclustertiểu ban. Xem Fsutil Tham khảo dòng lệnh của Windows .

Fsutil lấy số cụm trong ổ đĩa logic làm đối số đầu vào, thay vì số ngành. Nhưng thật dễ dàng để tính toán số này:
cluster # = (perfect_sector - start_of_partition_sector) / sector_per_cluster.

Ví dụ đầu ra:

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

3

theo như tôi biết khi một ổ đĩa gặp phải một số lỗi đọc nhất định trên một khu vực thì nó bị đánh dấu là xấu và nội dung của nó được sao chép sang một nơi khác trên ổ đĩa. điều này thường xảy ra trước khi dữ liệu về lĩnh vực đó trở nên hoàn toàn không thể đọc được.

Tôi cố gắng đào một nguồn cho điều đó, chỉ đọc nó ngày hôm qua nhưng không thể nhớ nơi nào.

từ người đàn ông hdparm (8)

Cũng lưu ý rằng cờ --repair-sector có thể được sử dụng để khôi phục (bất kỳ) các thành phần xấu khi chúng không còn cần thiết, bao gồm các khu vực thực sự xấu (ổ đĩa sẽ có khả năng sắp xếp lại các khu vực mới trên phương tiện truyền thông).

Điểm mấu chốt: bạn không cần phải quan tâm đến các thành phần xấu, phần cứng ổ cứng sẽ làm điều đó cho bạn. điều duy nhất bạn phải làm là lấy một ổ đĩa mới trước khi có quá nhiều trong số chúng và ổ đĩa của bạn chết.


Tôi khá chắc chắn rằng việc tái phân bổ xảy ra khi viết và không đọc. Dữ liệu SMART của ổ đĩa dường như xác nhận điều đó. Số lượng các lĩnh vực đang chờ xử lý là cao (lớn hơn 0) trong khi Số lượng phân bổ lại khu vực là 0. Đối với tôi điều đó có nghĩa là: Có những khu vực xấu được đánh dấu để tái phân bổ nhưng chúng chưa được phân bổ lại.
ChrisWue

bạn đã thử CHKDSK chưa? vi.wikipedia.org/wiki/CHKDSK
Baarn

nhìn vào tùy chọn / r
Baarn

việc nhận thông tin về các tệp được lưu trữ trong khu vực đó dường như là không thể.
Baarn

2

RunEx's DiskExplorer cho phép bạn kiểm tra ổ đĩa theo khu vực. Đó là phần mềm thanh toán ($ 70 cho phiên bản NTFS) nhưng miễn phí để dùng thử. Họ có các phiên bản cho NTFS, FAT và Linux (ext2 / 3).

văn bản thay thế


Điều này có vẻ đầy hứa hẹn, nhưng thật đáng buồn là nó không hoạt động. DiskExplorer hiển thị "Mục nhập MFT không hợp lệ" cho mọi khu vực của ổ đĩa.

Tôi hy vọng sẽ có một bước cấu hình mà bạn thiếu nếu nó cho thấy rằng đối với tất cả các lĩnh vực, nhưng tôi đã không sử dụng công cụ này trong một thời gian dài vì vậy tôi không thể cung cấp cho bạn hướng dẫn trực tiếp với nó. tôi sẽ thêm một câu trả lời khác bằng một công cụ riêng biệt; có lẽ người khác sẽ kêu vang với việc sử dụng đúng cách này.
quixote quixote

Đây không phải là vấn đề về cấu hình, đó là Disk Explorer rất phức tạp và khó sử dụng. Nó không đủ tự động. (Chương trình DOS cũ Norton Disk Doctor tương tự, nhưng dễ sử dụng hơn nhiều vì nó tự động đọc và điều chỉnh cấu trúc hệ thống tệp. Thật xấu hổ vì nó không hỗ trợ NTFS và đã bị ngừng sử dụng.)
Synetech

0

Tôi biết chủ đề đã cũ nhưng đối với bản ghi cho tất cả mọi người có vấn đề như vậy, có cách để kiểm tra nó từ linux. Người ta luôn có thể sử dụng một số linux trực tiếp trên đĩa cd / usb, như slax rất dễ chạy. Dù sao, trở lại kinh doanh.

Hôm nay tôi đã tìm thấy một số nhật ký deamon thông minh với các cảnh báo ngành không thể đọc được và quyết định điều tra. Sau khi nghiên cứu, cuối cùng tôi cũng chạy (# là dấu nhắc cho biết quyền root, sudo có thể được sử dụng thay thế nếu một người đang chạy như người dùng thông thường):

# smartctl -H /dev/sda2

SMART overall-health self-assessment test result: PASSED

Điều đó chỉ ra rằng ổ đĩa đó là một phần khỏe mạnh, đó là tốt. Nhưng tôi đã làm theo và điều tra thêm và chạy badblocks.

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

271521948

Vì vậy, đã có một số badblock mà tôi muốn biết tập tin đó nó thuộc về và thấy rằng nó có thể được thực hiện với debugfs, vấn đề là phân vùng của tôi là ntfs vì vậy tôi sử dụng ntfstools đó là chìa khóa:

# 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"là để loại bỏ nhiều thông tin vô ích được hiển thị bởi ntfscluster/

Vì vậy, trong trường hợp ntfs tất cả một nhu cầu là ntfscluster -s $SECTOR.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.