Làm thế nào để bỏ đánh dấu một cụm NTFS là xấu?


14

Làm cách nào để bỏ đánh dấu các cụm là xấu trong NTFS?

Lý lịch

Tôi chạy nhầm

>chkdsk /R

trên ổ SSD của tôi, nơi

/ R : Xác định vị trí các thành phần xấu và khôi phục thông tin có thể đọc được (ngụ ý / F)
/ F : Sửa lỗi trên đĩa

Và bây giờ tôi có một cụm được đánh dấu là xấu trên ổ đĩa của tôi. Tôi cần bỏ đánh dấu cụm đó là xấu.

Lưu ý : chkdskcó một tùy chọn để đánh giá lại một cụm và đưa nó trở lại sử dụng:

/ B : Chỉ NTFS: Đánh giá lại các cụm xấu trên ổ đĩa (ngụ ý / R)

Thật không may, tùy chọn đó sẽ chỉ bỏ đánh dấu cụm nếu nó không còn xấu. Tôi cần cụm không được đánh dấu bất kể.

Làm thế nào để tôi bỏ đánh dấu một cụm NTFS là xấu?

Tại sao anh làm điều này?

Không quan trọng tại sao tôi và hàng trăm người khác lại đặt câu hỏi. Nhưng vấn đề là có một khu vực xấu trong ổ đĩa của tôi. Đã đến lúc thay thế ổ đĩa bằng một cái mới. Cách để làm điều đó là phản chiếu SSD sang một SSD khác bằng cách sử dụng phản chiếu phần mềm Windows .

Thật không may, một lỗi đã biết trong phản chiếu NTFS của Windows ngăn không cho nhân bản hoàn thành, như được ghi lại trong KB325615 :

Không thể tạo phần mềm nhân bản nếu đĩa chứa các khối xấu

DMIO hoạt động bên dưới hệ thống tệp và nếu nó tìm thấy lỗi I / O trong khi đọc từ một sector trên đĩa nguồn hoặc trong khi cố gắng ghi dữ liệu vào đĩa đích, nó sẽ hủy bỏ hoạt động phản chiếu.

Cách giải quyết rõ ràng là thu nhỏ âm lượng hệ điều hành, sao cho khu vực xấu đã qua hết âm lượng. Trong Windows 7, khi bạn cố thu nhỏ âm lượng, nó sẽ tự động di chuyển các tệp ra khỏi đường đi.

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

Đây là một điều tốt. Vào thời xa xưa nếu bạn muốn thu nhỏ âm lượng, bạn phải sử dụng công cụ chống phân mảnh để đẩy tất cả các tệp về phía trước ổ đĩa; để lại không gian chùng ở cuối.

Thật không may, bây giờ có một tập tin không thể di chuyển theo cách : $BadClus. Hoạt động chống phân mảnh Shrink lưu ý tệp không thể di chuyển trong Nhật ký sự kiện:

Một phân tích thu nhỏ khối lượng đã được bắt đầu trên hệ điều hành âm lượng (C :). Mục nhật ký sự kiện này chi tiết thông tin về tệp không thể di chuyển cuối cùng có thể giới hạn số byte có thể thu hồi tối đa.

Chi tiết chẩn đoán:

  • Tệp không thể di chuyển cuối cùng xuất hiện là: \ $ BadClus: $ Bad: $ DATA
  • Cụm cuối cùng của tệp là: 0xdc1ded
  • Thu hẹp mục tiêu tiềm năng (địa chỉ LCN): 0xa91bd9
  • Các cờ tệp NTFS là: -S - D
  • Giai đoạn co lại: <phân tích>

Vì thế:

  • tôi không thể phản chiếu âm lượng cho đến khi các thành phần xấu được loại bỏ
  • thu hẹp khối lượng sẽ loại bỏ các thành phần xấu
  • tôi không thể thu nhỏ âm lượng cho đến khi $BadClustập tin thưa thớt được di chuyển
  • tôi không thể di chuyển $BadClustrong khi nó chiếm các cụm xấu
  • $BadClus về mặt vật lý sẽ chiếm các cụm xấu trong khi NTFS nghĩ rằng cụm đó là xấu

Làm thế nào để tôi bỏ đánh dấu một cụm là xấu?

Đối với những người bóng ma ổ đĩa, quá

Giải pháp cho vấn đề của tôi cũng sẽ có hiệu quả đối với trường hợp phổ biến nhất:

Ai đó ma một ổ đĩa chứa các thành phần xấu sang một ổ đĩa mới, và sau đó ổ đĩa tốt vẫn có các cụm được đánh dấu là xấu, mặc dù chúng là tốt. Điều đó xảy ra rằng họ có một cách giải quyết có sẵn cho họ:

>chkdsk /B

Ngoại trừ việc đó không hoạt động trong trường hợp của tôi. (Và ngay cả khi nó hoạt động trong trường hợp của tôi, đó không phải là câu hỏi tôi đang hỏi.)

Thưởng trò chuyện

Tất nhiên, SSD Kingson không duy trì các lĩnh vực phụ tùng. Nếu có, nó có thể sắp xếp lại một cách minh bạch khu vực dự phòng cho tôi và tôi sẽ không có NTFS cố gắng nghĩ quá nhiều.

SpinRite

tôi đã thử SpinRite trong ổ SS. Nó đi qua khu vực bị lỗi, nhưng không thể nhận được bất kỳ giá trị nào từ ổ đĩa:

══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183  │     data samples : 1,999  │  first uncertain bit : · · · · ·
  sector :    17  │   unique samples :     0  │   last uncertain bit : · · · · ·
    head :   187  │  discarded sples :     0  │   uncertain bit span : · · · · ·

Số lượng mẫu dữ liệu lên tới 2.000, sau đó quay trở về 0 và tiếp tục.

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

Sau khoảng 20 vòng lặp (tức là 40.000 mẫu dữ liệu) tôi đã bỏ cuộc.

Nhân bản

Lần nữa; chúng ta đừng nhầm lẫn câu hỏi với ví dụ Câu hỏi là làm thế nào để bỏ đánh dấu các cụm là xấu trong NTFS. Rất lâu sau khi tôi bỏ cuộc và vứt bỏ SSD, câu hỏi vẫn sẽ còn. Đừng nhầm lẫn vấn đề của tôi cho câu hỏi. Điều đó không có nghĩa là tôi có thể cố gắng thực sự giải quyết vấn đề của mình:

DriveImageXML tiếp cận khu vực xấu và hủy bỏ.

GParted không tải được. Một màn hình khởi động đồ họa xuất hiện, sau đó một cửa sổ giao diện điều khiển cuộn văn bản theo, tiếp theo là màn hình đen không có gì

Clonezilla từ chối sao chép SSD của tôi:

Đĩa này chứa phân vùng GPT và MGR không khớp: / dev / sdb
Nó sẽ gây nhầm lẫn cho Clonezill và có thể làm cho hình ảnh đã lưu trở nên vô dụng hoặc không thể sao chép đĩa.

Vui lòng sửa vấn đề htis sau đó khởi động lại Clonezilla.
Chương trình chấm dứt.

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

Làm thế nào để tôi bỏ đánh dấu một cụm là xấu trong NTFS?


Bạn có muốn một giải pháp Windows hoặc sử dụng Linux sẽ ổn không?
Thomas Weller

2
@ThomasW. tôi không phiền một công cụ tự khởi động; sử dụng bất cứ hệ điều hành nào nó thích. Tất nhiên tôi muốn một công cụ GUI. tôi cảm thấy mệt mỏi khi sử dụng các dòng lệnh vào năm 1990. tôi bắt đầu xem xét việc sử dụng CreateFileđể mở âm lượng trực tiếp; nhưng nhận ra rằng tôi phải bắt đầu lại từ đầu, phân tích tất cả các cấu trúc dữ liệu không có giấy tờ. tôi đã mở âm lượng trực tiếp để chỉnh sửa trong trình soạn thảo hex yêu thích của mình nhưng có cùng một nhược điểm, phải phân tích cú pháp các cấu trúc hex.
Ian Boyd

@ThomasW. Tại sao thậm chí hỏi nếu bạn không thể trả lời làm thế nào để sửa nó trong linux? Nếu tất cả những gì bạn muốn nói là nếu sửa nó từ một đĩa cd trực tiếp linux thì tốt, bạn không biết làm thế nào nhưng anh ta nên thêm một thẻ linux.
barlop

Nếu bạn sử dụng MBR cho phân vùng đĩa, sgdisk -z / dev / sdb sẽ xóa sạch GPT và clonezilla sẽ sao chép nó. backup-utility.com/articles/ từ
cybernard

Câu trả lời:


7

Tôi sẽ trả lời câu hỏi tiêu đề không có gì hơn. 1

Đầu tiên, xin lưu ý rằng, nếu khu vực đó thực sự tồi tệ, việc bỏ đánh dấu nó sẽ không thể đọc được. Vì vậy, phần mềm nhân bản của bạn có khả năng bị nghẹt thở khi đọc nó thay vào đó.

Trong NTFS, một cụm được đánh dấu là xấu bằng cách gán nó cho một luồng đặc biệt$BadClus:$Bad , một tệp thưa thớt.

Những gì bạn cần là

  • chỉnh sửa của nó vào Danh sách chạy để loại bỏ các khối phân bổ tương ứng (s)
  • đánh dấu (các) cụm tương ứng là miễn phí $Bitmap.

  • Để bỏ đánh dấu tất cả các khối xấu, có ntfsfix -b -d( -b= xóa danh sách khối xấu, -d= xóa / không đặt cờ "bẩn") ( một phương pháp khácntfstruncate thực hiện chính xác cùng 2 ).

    • có thể đưa ra sự không nhất quán nhỏ vào siêu dữ liệu (trong trường hợp của tôi, một vài chỉ số rõ ràng đã bị hủy bỏ), tôi không chắc tại sao, do đó, chạy chkdsk -fbằng tay hoặc bỏ qua -dđể kích hoạt nó khi khởi động Windows nếu / trong trường hợp bạn gặp lỗi FS.
  • Để xóa một khối cụ thể khó khăn hơn nhiều vì tôi không tìm thấy bất kỳ phần mềm hiện có nào có thể thực hiện việc này ngoài hộp 3 . Độ phân giải của các phần tử xấu NTFS: Siêu dữ liệu $ BadClus - Mã của Katy mô tả cách thức - về cơ bản, nó đang chỉnh sửa danh sách chạy và bitmap bằng tay.


1 Chỉ vì xử lý các thành phần xấu + NTFS + nhân bản là một chủ đề quá rộng. Tôi sẵn sàng trả lời những câu hỏi liên quan trực tiếp đến vấn đề hiện tại.
2 kiểm tra mã nguồn của ntfsfix v2015.3.14.
3 cho những người khăng khăng, những không thể làm điều đó: ntfscat(không thể đọc thành phần không thể đọc được), ntfscp(không thể viết để bù đắp), ntfstruncate, ntfsfallocate, dd(không thể mở $BadClus:$Badcho văn bản)


Điều này nên được chọn là câu trả lời tốt nhất.
Hashim

1

Tôi đã có một ổ đĩa cứng phát triển một số cụm xấu. Tôi đã thay thế nó bằng một ổ đĩa tốt được biết đến. Quá trình khôi phục đã khôi phục dữ liệu cụm xấu cũng như các dữ liệu khác. Đây là trên máy tính Windows 7 Enterprise.

Giải pháp của tôi là chạy "chkdsk d: / b" (như đã được đề xuất trước đây). / B bảo nó (chỉ dành cho NTFS) quét lại các cụm xấu được đánh dấu trước đó. Ít nhất trong trường hợp của tôi (và tôi sẽ nghi ngờ tất cả các phiên bản hỗ trợ / b), nó sẽ xóa danh sách cụm xấu ngay lập tức trước khi bắt đầu quét đọc. Khi bạn thấy thông báo "Xóa cụm X khỏi Tệp cụm xấu", bạn sẽ có thể tắt quy trình chkdsk (vì nó chỉ đọc dữ liệu).

Lưu ý: Tkdsk có khả năng đang cập nhật tệp cụm xấu ngay khi bạn giết tiến trình nếu tình cờ tìm thấy một khu vực xấu ở đầu ổ đĩa. Tôi đã mạo hiểm và nó đã thiết lập lại thành công tệp cụm xấu mà không cần phải tải xuống một loạt các chương trình khác yêu cầu chkdsk đầy đủ sau đó. YMMV.


Điều này thực sự đã làm việc. Sau Bước 2 bạn chỉ cần đóng cmdcửa sổ. Sau đó chạy chkdsk d: /fmà sẽ nói CHKDSK discovered free space marked as allocated in the volume bitmap.và làm theo Windows has made corrections to the file system..
Davor Josipovic

0

Cách đầu tiên tốt nhất để đi là sao chép ổ đĩa. Sau đó sử dụng chkdsk /Btrên ổ đĩa làm việc mới.

Bây giờ khi đánh dấu một khu vực xấu thực sự là khó khăn. Bạn đã có thể sử dụng:

  • SpinRite , hoặc
  • mhdd (bật lại bản đồ)

Hoặc là sản phẩm nên ánh xạ lại khu vực xấu thì CHKDSK / B sẽ bỏ đánh dấu nó.

Tải xuống ISO gparted hoặc partedmagic . Khởi động từ nó, và thu nhỏ phân vùng.

Điều này sẽ hoạt động vì windows KHÔNG chạy nên phần mềm này thu nhỏ phân vùng bất kể là gì. Sau đó chkdsk /Bsẽ xử lý phần còn lại.

Nếu tất cả điều này thất bại, bây giờ bạn đang ở trong một con đường đau đớn xấu xí. Bạn cần phải có một trình soạn thảo ngành và chỉnh sửa thủ công hệ thống tệp. Thật không may, nó vượt quá phạm vi kiến ​​thức của tôi về NTFS. Đối với FAT hoặc FAT32 thì nó siêu đơn giản.


Là một ổ SSD, không có khu vực dự phòng để tái cấu trúc. Đó là lý do tại sao SMART của ổ đĩa tiếp tục ghi chú Pending Sector Countsố 0 và Reallocated Sector Countsố 0.
Ian Boyd

Katy Coe có một blog tuyệt vời bắt đầu đi sâu vào ruột của NTFS. Nhưng mắt tôi trừng trừng khi tôi phải bắt đầu tính toán độ lệch, số cụm logic, số cụm ảo và thực tế là $ BadClus là một tệp dự phòng thực sự có kích thước của toàn bộ âm lượng. Tôi gần như chắc chắn sẽ phá hủy ổ đĩa (hoạt động) của tôi.
Ian Boyd

2
Trên thực tế, một ổ SSD có hàng tấn phụ tùng. Trong thực tế, một ssd 120gb có thể có tới 8gb của các phụ tùng. Tại sao ổ đĩa của bạn không remap nó tự động là không biết đối với tôi. Sử dụng gparted và thu nhỏ phân vùng.
gian mạng

Rất có thể đây là ổ đĩa 64 GB cũ, hiện đã ngừng sử dụng, hiện không được hỗ trợ. Hoặc có thể đó chỉ là một lỗi trong phần sụn của ổ đĩa mà họ quên thực hiện ánh xạ lại khu vực.
Ian Boyd

Ngoài ra, việc sao chép ổ đĩa không thành công khi chúng gặp phải khu vực xấu (ít nhất là DriveImageXML đã làm).
Ian Boyd

0

Vì bạn đang cố gắng phản chiếu đĩa của mình (và có vẻ như bạn đang sử dụng Windows 7), nên có một cách tiếp cận khác:

Sử dụng công cụ tích hợp để tạo bản sao lưu được khôi phục trên một đĩa tốt. Chuyển đến Bảng điều khiển, Hệ thống và Bảo mật, Sao lưu. Ở đó, tạo một hình ảnh hệ thống và cũng là một đĩa sửa chữa hệ thống.

Sau đó, bạn có thể thay thế đĩa cũ bị lỗi bằng một cái tốt, sau đó đưa hệ thống về trạng thái của nó bằng đĩa sửa chữa hệ thống và sao lưu được thực hiện.


0

gói gddresTHER (gddresTHER - công cụ phục hồi dữ liệu GNU) sẽ thực hiện công việc cho bạn.

Lấy một bản phân phối độc lập dựa trên Debian (CD hoặc USB) cài đặt gddresTHER với "sudo apt-get install gddresTHER" sau đó sao chép SSd bằng cách mở một cửa sổ đầu cuối và phát hành:

ddresTHER -f / dev / sda / dev / sdb ./ddresTHER.log

(trong đó / dev / sda là nguồn và / dev / sdb là SSD đích)

ddresTHER sẽ cố gắng khôi phục khối xấu và nếu không thể bỏ qua nó.

Khi hoàn thành chkdsk / f / b nên hoàn thành công việc.


0

Có vẻ như mục tiêu của bạn là thu nhỏ kích thước của phân vùng và Windows sẽ không thu nhỏ nó vì tệp $ BadClus, tồn tại do các cụm xấu.

Tôi có một giải pháp thay thế cho bạn, đó là thu nhỏ ổ đĩa mà không phải xử lý trực tiếp tệp $ BadClus. Sử dụng Trình hướng dẫn phân vùng để thu nhỏ phân vùng. Trình hướng dẫn phân vùng rất dễ sử dụng, miễn phí cho sử dụng phi thương mại, có thể chạy từ bên trong Windows bằng GUI hoặc từ khởi động CD hoặc USB chạy Linux nhỏ sau đó cung cấp cho bạn cùng GUI. Chương trình này cũng có thể khôi phục các phân vùng đã xóa và chuyển đổi giữa các bảng phân vùng MBR và GPT.

Tôi đã gặp vấn đề với Windows khi không thu hẹp phân vùng qua một điểm nhất định, sau đó tôi sẽ thử Trình hướng dẫn phân vùng trên cùng phân vùng mà không có vấn đề gì. Tôi cho rằng Trình hướng dẫn phân vùng sẵn sàng bỏ qua tệp $ BadClus. Tôi đã sử dụng chương trình này hơn 8 năm và cuối cùng đã mua phiên bản Pro, vì họ đã kiếm được nó. Tôi tìm thấy chương trình này như một sự thay thế cho PQMagic mà tôi đã mua vào năm 1996, đây là một chương trình phân vùng DOS tuyệt vời cho các ổ đĩa nhỏ hơn.

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.