Làm cách nào để buộc bản tóm tắt của các lĩnh vực được báo cáo trong SMART C5 (Số lượng ngành đang chờ xử lý hiện tại)?


37

Giá trị SMART C5 của Ổ cứng Samsung HM640JJ của tôi (trong máy tính xách tay HP Pavilion dv6) là "trạng thái màu vàng = thận trọng"

C5 là 10 ngày hôm qua và hôm nay là 21.

C4 (Reallocation Event Count) = 005 (Reallocated Sectors Count) = 0

Làm thế nào tôi có thể buộc phần sụn để phân bổ lại chúng?

  • Tôi xóa các phân vùng, tạo lại chúng một lần nữa và định dạng toàn bộ ổ đĩa.
  • Tôi đã chạy chkdsk /r /f
  • Tôi đã chạy tiện ích kiểm tra đĩa BIOS và các công cụ chẩn đoán / sửa chữa khác

Tôi sử dụng đĩa khởi động spinrite6 ở cấp độ 2 để làm điều này .... grc.com/intro.htm
Moab

Câu trả lời:


114

Câu trả lời ngắn: Viết một cái gì đó mới cho khu vực (thậm chí số không - mà một định dạng dài làm).

Câu trả lời dài

Các ổ đĩa cứng ngày nay cố gắng che giấu các thành phần xấu từ máy tính chủ. Máy tính chủ chỉ cần yêu cầu ổ đĩa trả về nội dung của một số khu vực cụ thể. Thông thường ổ đĩa đọc sector, trả nó về máy chủ và mọi thứ đều ổn.

Ổ cứng biết giá trị mà nó đọc có hợp lệ hay không, bởi vì ổ đĩa sử dụng mã sửa lỗi (ECC) để xác thực rằng nội dung mà nó đọc là chính xác. Nếu ổ đĩa phát hiện ra rằng nội dung của khu vực không hợp lệ, nó sẽ thử lại đọc. Hy vọng là nếu chỉ cần đọc lại, nó có thể có được nội dung ngành chính xác. Nó sẽ tiếp tục thử lại cho đến khi nhận được giá trị tốt hoặc đạt đến giới hạn thời gian (chính thức được gọi là giới hạn thời gian hoàn thành Lệnh hoặc CCTL ).

Trong những lần thử lại, ổ đĩa sẽ xuất hiện xác chết; vì nó không còn đáp ứng với các lệnh .

Phụ tùng

Hầu hết các ổ đĩa hiện đại đều chứa một số lĩnh vực "dự phòng" (ví dụ: 1.024 khu vực dự phòng). Nếu ổ đĩa nhận ra một khu vực là xấu, nó sẽ ngừng sử dụng nó. Mọi yêu cầu đọc hoặc ghi vào khu vực bị hư hỏng đó sẽ được chuyển hướng một cách minh bạch sang khu vực dự phòng. Việc đánh dấu một khu vực xấu và phân bổ lại dữ liệu của nó cho một khu vực dự phòng, được gọi là Sự kiện Tái phân bổ . Và tổng số lĩnh vực đã được phân bổ lại (và do đó, có bao nhiêu lĩnh vực phụ tùng của bạn đã được sử dụng hết) là Tổng số ngành được phân bổ lại .

Trong ví dụ này từ một trong những ổ đĩa cứng của riêng tôi, 64 lĩnh vực được phát hiện là xấu. Điều đó có nghĩa là 64 lĩnh vực phụ tùng của ổ đĩa đã được sử dụng:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140        64

Trên cùng ổ cứng này, đã có 4 Sự kiện Tái định vị . Điều này có nghĩa là đã có bốn lần ổ đĩa đánh dấu các khu vực là xấu và sử dụng các lĩnh vực phụ tùng thay thế.

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140         64
(C4) Reallocated Event Count   196      196    0            4

Điều gì nếu nó không bao giờ có thể đọc dữ liệu?

Những hành động của việc đọc lại các lĩnh vực, tiêu thụ phụ tùng, tất cả đằng sau lưng máy tính là một điều tốt. Điều đó có nghĩa là hệ điều hành máy chủ không phải đối phó với vấn đề thất bại. Ổ đĩa có thể tự xử lý các chi tiết đó.

Phần thưởng trò chuyện : Vào thời xa xưa, ổ cứng của bạn được vận chuyển với nhãn dán được gắn chặt vào nó. Nhãn dán này chứa Danh sách khuyết tật của nhà máy ; danh sách tất cả các điểm xấu được biết đến trên ổ đĩa.

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

Nếu bạn thực hiện định dạng cấp thấp của ổ đĩa, bạn phải sử dụng một công cụ để nhập vào tất cả các vị trí Xy lanh-Đầu-Khu vực của các điểm xấu.
Các ổ đĩa SCSI có một lệnh, IOCTL_DISK_REASSIGN_BLOCKSđể bảo chúng phân bổ lại một điểm xấu trên ổ đĩa sau khi hệ điều hành phát hiện ra nó. Trong các ổ đĩa IDE, tất cả điều này xảy ra tự động, không cần sự can thiệp của hệ điều hành.

Lý tưởng nhất là ổ đĩa sẽ nhận ra khu vực bị lỗi, chuyển dữ liệu sang khu vực dự phòng và không bao giờ sử dụng khu vực ban đầu nữa. Nhưng điều gì xảy ra nếu ổ đĩa không thể đọc thành công khu vực?

Đây là những gì Pending Sectors. Ổ đĩa đã phát hiện ra rằng một khu vực đang thất bại, và cần phải được ánh xạ lại cho một phụ tùng. Nhưng nó không thể làm điều đó cho đến khi nó có thể đọc dữ liệu thành công. Khi ổ đĩa biết rằng một khu vực là xấu và cần phải được ánh xạ lại, nhưng nó không thể làm điều đó bởi vì nó đang chờ để có được một đọc tốt từ khu vực đó: đó gọi là Đếm ngành đang chờ xử lý :

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          64
(C4) Reallocated Event Count   196      196    0             4
(C5) Current Pending Sector    100      100    0             2

Ổ cứng của tôi có 2 khu vực mà ổ đĩa nhận ra là xấu, nhưng chưa thể được phân bổ lại. Nếu bạn đã đọc một trong những 'Lĩnh vực đang chờ xử lý' này, ổ đĩa có thể sẽ thử lại (và thử lại và thử lại), và cuối cùng trả về lỗi đọc cho hệ điều hành máy chủ:

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

Từ bỏ lĩnh vực đang chờ xử lý và nó sẽ được phân bổ lại

Có hai cách mà ổ đĩa cuối cùng có thể phân bổ lại khu vực và tiêu thụ một khu vực phụ tùng khác:

  • cuối cùng nó cũng được đọc
  • bạn không quan tâm những gì trong lĩnh vực này nữa

Nếu ổ đĩa cuối cùng đọc khu vực, thì nó biết rằng nó có thể phân bổ lại khu vực.

Một cách khác để ổ đĩa có thể phân bổ lại khu vực là nếu bạn cho nó biết rằng nội dung của khu vực đó không liên quan; rằng bạn không quan tâm những gì trong đó nữa. Làm thế nào để bạn làm điều đó?

Bằng cách viết một cái gì đó mới cho ngành.

Bất cứ khi nào bạn đọc từ hoặc ghi vào một khu vực trên ổ cứng, bạn phải đọc / ghi toàn bộ khu vực 512 byte 1 . Bạn không thể chỉ viết một phần của một lĩnh vực. Khi HĐH ghi dữ liệu vào một sector, nó phải chỉ định toàn bộ 512 byte. Nếu bạn nói với ổ cứng rằng bạn muốn những nội dung mới này thay thế khu vực xấu này, thì ổ đĩa đó sẽ biết bạn thậm chí không quan tâm đến những gì hiện tại trong khu vực xấu. Sau đó, nó có thể Tái phân bổ một khu vực xấu thành một trong những phụ tùng và khu vực đó không còn đang chờ xử lý .

Đây là lý do tại sao khi mọi người hỏi về việc có một số Current Pending Sectors, lời khuyên phổ biến là sử dụng một công cụ (chẳng hạn như Data LifeGuard của Western Digital) để ghi tất cả số 0 vào ổ đĩa.

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

Bằng cách viết các số không cho mọi khu vực trên ổ đĩa, bạn đang nói với ổ đĩa rằng cuối cùng nó có thể phân bổ lại tất cả các khu vực đang chờ xử lý . Sau khi lau, tất cả ý chí của bạn Pending Sectorssẽ trở thành Reallocated Sectors:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          66
(C4) Reallocated Event Count   196      196    0             5
(C5) Current Pending Sector    100      100    0             0

Lưu ý: Không nhất thiết phải sử dụng công cụ "cấp thấp" như Data LifeGuard của Western Digital. Nếu bạn hướng dẫn Windows thực hiện định dạng đầy đủ (nghĩa là định dạng không nhanh ) của một ổ đĩa, nó sẽ ghi các số không cho mọi khu vực trong ổ đĩa.

Hệ thống lưu trữ hệ điều hành hỗ trợ đánh dấu các ngành là xấu

Được trang bị kiến ​​thức này, chúng ta sẽ khám phá một kịch bản thường khó hiểu.

Trước sự ra đời của Tích hợp điện tử ổ đĩa (IDE), hệ điều hành máy chủ có trách nhiệm phát hiện các thành phần xấu, thử lại đọc, di chuyển dữ liệu sang khu vực khác và đánh dấu các khu vực cũ là xấu.

Nếu bạn chạy chkdsk /r c:hệ điều hành máy chủ, nó sẽ nhận ra rằng các khu vực "đang chờ xử lý" là xấu và tự đánh dấu chúng là xấu và không bao giờ thử sử dụng lại chúng:

> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.

        12 KB in bad sectors.

Vì vậy, giả sử ổ đĩa cứng 512 byte, 12 KB 'Sending Pending' hoặc trong ví dụ 12KB này được HĐH đánh dấu là 'bad sector', sẽ tương ứng với thập phân 24 hoặc thập lục phân 0x18 như được hiển thị bởi tiện ích đĩa SMART chẳng hạn như thông tin đĩa Crystal:

ID   Attribute Name            Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(C5) Current Pending Sector    100      100    0            18

Lưu ý : Tiện ích Data LifeGuard v1.31 (muộn nhất kể từ ngày 31/8/2017) của Western Digital không xuất hiện để hiển thị chính xác các giá trị bộ đếm SMART 'Raw' hiện tại.

Bây giờ nếu bạn thực hiện một định dạng đầy đủ (ghi số không cho mọi khu vực trong tập) :

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

Điều đó có nghĩa là tất cả những lĩnh vực Pendingsẽ được phân bổ lại. Bây giờ an toàn cho hệ thống nộp đơn để sử dụng lại các lĩnh vực đó. Để hướng dẫn hệ thống lưu trữ rằng các khu vực đó không còn "xấu" , bạn thực hiện một tùy chọn trong đó đánh giá lại các khu vực xấu:

>chkdsk c: /B

tài liệu lệnh nói ở đâu

/B              NTFS only: Re-evaluates bad clusters on the volume
                (implies /R)

Hoặc là

Theo: https://technet.microsoft.com/en-us/l Library / cc730714 (v = ws.11) .aspx

/B              NTFS only: Clears the list of bad clusters on the volume and 
                  rescans all allocated and free clusters for errors. /b includes
                  the functionality of /r. Use this parameter after imaging a
                  volume to a new hard disk drive.

Đây là toàn bộ bài viết lotta, và toàn bộ ảnh chụp màn hình, cho một cái gì đó sẽ không bao giờ được đọc.


Tôi có một tệp 200 MB có vấn đề ở mức 87%. Tôi có 3 lĩnh vực đang chờ xử lý. Tôi đã cố gắng băm tập tin để có được đọc tốt và yêu cầu các khu vực được phân bổ lại, nhưng chúng không được phân bổ lại! Kết quả băm: ok, fail, ok, ok, fail, fail. Mỗi lần HĐH tạo ra một số Lỗi đĩa trong trình xem sự kiện và trên các hàm băm ok, nó sẽ treo trong nửa phút với tỷ lệ 87%. Tất cả các giá trị băm đều như nhau. C5 vẫn là 3 và C4 vẫn là 0. Bạn nghĩ gì về điều này?
Mark Jeronimus

@MarkJeronimus Hãy thử sử dụng một công cụ gạt tập tin, nó sẽ ghi tất cả các số không (hoặc tất cả dữ liệu ngẫu nhiên) vào tập tin. Điều đó sẽ khiến ổ đĩa nhận ra bạn không quan tâm đến những lĩnh vực đó nữa.
Ian Boyd

Tôi đã làm một định dạng đầy đủ, nhưng vẫn không thay đổi.
Mark Jeronimus

2
Một điều tôi không hiểu lắm: có thể (a) hiển thị các tệp nào chứa các lĩnh vực C5 hiện tại và (b) 'nuke' các lĩnh vực đó, tức là chuyển chúng sang C6 và ngừng cố gắng đọc chúng? Tôi không muốn ổ cứng của mình bị kẹt trong một chu kỳ đọc thất bại vô tận; thà bôi đen các thành phần đó và xóa các tệp đang đề cập (khôi phục thủ công chúng từ một số nguồn khác nếu chúng quan trọng).
MM

1
Tôi không muốn bằng không toàn bộ ổ đĩa, chỉ làm việc xung quanh bit xấu. Sẽ có một cái nhìn về chương trình đó, cảm ơn
MM

5

Bạn không cần phải làm bất cứ điều gì - chưa. Số lượng phân bổ lại có nghĩa là "đĩa tìm thấy khu vực bị lỗi và phân bổ lại thành công ". Phần sụn đã khắc phục sự cố.

Bạn chỉ cần lưu ý rằng ổ đĩa đang bắt đầu bị lỗi. Tại một thời điểm nào đó trong tương lai, ổ đĩa sẽ không còn các khu vực dự phòng để phân bổ lại và bạn sẽ mất dữ liệu. Nếu một số khối quan trọng bị mất, bạn có thể mất tất cả dữ liệu trên ổ đĩa.

Vì vậy, hãy theo dõi giá trị này hoặc mua một ổ đĩa mới ngay lập tức để bạn có thể quên nó.


3

Tôi đã có kinh nghiệm tốt với phương pháp mô tả ở đây https://www.smartmontools.org/wiki/BadBlockHowto . Đĩa của tôi đã gây ồn và ngừng hoạt động nên tôi sử dụng báo cáo thông minh và công thức để tính toán khối xấu và sử dụng dd để xóa nó. Tôi đã may mắn vì thông minh vẫn báo cáo số lượng khu vực hiện tại nhưng đĩa hoạt động được 2 năm hoặc lâu hơn. Tôi đã mua một sự thay thế nhưng tôi chưa bao giờ sử dụng nó. Dường như với tôi rằng thông minh cũng không chính xác.


oflag = tùy chọn trực tiếp cho dd khi viết số không vào vị trí xấu để buộc phân bổ lại (như được đề xuất trong liên kết đó) là phần tôi đang tìm kiếm. Cảm ơn!
Anton

2

Có thể bạn chưa biết công cụ này: HD Sentinel

Hard Disk Sentinel (HDSentinel) là phần mềm phân tích và giám sát ổ cứng và SSD đa hệ điều hành. Mục tiêu của nó là tìm kiếm, kiểm tra, chẩn đoán và sửa chữa các sự cố ổ đĩa cứng, báo cáo và hiển thị tình trạng sức khỏe của SSD và ổ cứng, suy giảm hiệu suất và lỗi. Hard Disk Sentinel cung cấp mô tả văn bản đầy đủ, mẹo và hiển thị / báo cáo thông tin toàn diện nhất về các đĩa cứng và đĩa trạng thái rắn bên trong máy tính và trong các vỏ bọc bên ngoài (đĩa cứng USB / đĩa cứng e-SATA). Nhiều tùy chọn cảnh báo và báo cáo khác nhau có sẵn để đảm bảo an toàn tối đa cho dữ liệu quý giá của bạn.

Đây dường như là một công cụ tuyệt vời để làm những hành động như vậy. Nhưng hãy cẩn thận, một số tùy chọn chạy có thể phá hủy hoàn toàn dữ liệu.


1

Bạn cần sử dụng một công cụ ghi vào mọi khu vực của ổ đĩa. Nếu không, không có cách nào để làm điều đó. Nếu ổ đĩa phân bổ một khu vực dự phòng và ánh xạ lại, nó nên đặt dữ liệu nào trong khu vực phụ tùng? Nó không có ý tưởng, vì nỗ lực đọc từ khu vực hiện tại đã thất bại. Chỉ có một hoạt động ghi có thể xóa lỗi.


Định dạng toàn bộ ổ cứng là thao tác ghi cho mọi khu vực? Tôi đã định dạng ổ đĩa (lệnh định dạng dựa trên windows, không có 'định dạng nhanh'). Cảm ơn
edteke

2
Một định dạng nhanh không phải là một hoạt động ghi cho mọi lĩnh vực, một định dạng thông thường thường là. Bạn luôn có thể sử dụng DBaN . Định dạng thông thường ít nhất làm giảm số lượng?
David Schwartz

Tôi đã làm một định dạng thông thường (không phải là một định dạng nhanh), tôi mong đợi việc đếm ngược hoặc một bản tóm tắt sau định dạng, nhưng số lượng là như nhau. Cảm ơn
edteke

Điều đó thực sự rất lạ. Là phân vùng bạn định dạng kích thước của toàn bộ ổ đĩa?
David Schwartz

@edgh: Một định dạng thông thường không giúp ích khi bạn gặp lỗi như vậy. Tôi đề nghị bạn thử phương pháp của tôi.
Gigamegie

1

Không viết, còn được gọi là Định dạng cấp thấp. Bạn chỉ có thể làm điều này với một tiện ích đĩa nhà sản xuất thường. Nếu có lỗi ổ cứng gây ra lỗi này, nó có thể quay lại gần như ngay lập tức.


1

Hãy thử đĩa CD khởi động Spinrite 6 hoặc ổ cứng. Họ viết các bài kiểm tra bề mặt để nó xóa các thành phần xấu đang chờ xử lý và tăng số lượng được phân bổ lại.

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.