TL;DR: Không, bạn không thể sửa bad sector vật lý trên ổ cứng. Khi bề mặt đĩa đã hỏng, vết xước là vĩnh viễn. Phần mềm chỉ có thể phát hiện hư hỏng hoặc yêu cầu firmware che giấu nó đi.

  • Phần mềm có sửa được không? Không. badblocks, smartctl và mọi công cụ khác chỉ có thể phát hiện hoặc báo cáo bad sector.
  • Ổ đĩa có tự sửa được không? Một phần. Firmware ổ đĩa có thể ánh xạ lại bad sector sang sector dự phòng, nhưng việc này che giấu hư hỏng chứ không chữa lành.
  • Bạn nên làm gì? Nếu dữ liệu quan trọng, hãy sao chép ổ đĩa bằng ddrescue trước, rồi thay ổ. Nếu chỉ là ổ thử nghiệm, hãy theo dõi xem số lượng bad sector có tăng lên không.

Hướng dẫn này giải thích những gì badblocks, SMART và firmware ổ đĩa thực sự làm, bằng lệnh thật và dữ liệu đĩa thật.

1. Bad sector là gì?

Một sector là đơn vị lưu trữ nhỏ nhất trên ổ cứng. Hãy hình dung nó như một trang trong một cuốn sổ rất dày. Một bad sector là trang mà ổ đĩa không còn đọc hoặc ghi một cách đáng tin cậy được nữa.

Khi một sector hỏng, mọi dữ liệu lưu ở đó đều gặp rủi ro. Các ổ đĩa hiện đại có cơ chế xử lý lỗi tích hợp, nhưng một khi bad sector bắt đầu xuất hiện, chúng thường là dấu hiệu ổ đĩa đang già đi hoặc đã hỏng vật lý.

Điểm chính: Bad sector không phải lúc nào cũng hiện ra trước mắt bạn ngay. Hệ điều hành có thể không phàn nàn cho đến khi nó cố đọc một tập tin nằm ở vị trí hỏng.

2. Hai loại bad sector

Không phải mọi bad sector đều giống nhau. Hiểu được sự khác biệt là phần quan trọng nhất của hướng dẫn này.

2.1 Bad sector mềm (logic)

Loại này xảy ra khi dữ liệu trong một sector bị hỏng nhưng bề mặt vật lý của đĩa vẫn tốt. Nguyên nhân gồm:

  • Mất điện khi ổ đĩa đang ghi dữ liệu
  • Lỗi phần mềm hoặc mã độc
  • Tín hiệu từ tính suy yếu hoặc bị nhiễu

Đôi khi có thể "sửa" chúng bằng cách ghi đè dữ liệu mới lên sector đó. Đĩa vật lý không hỏng; chỉ có thông tin trên đó là sai.

2.2 Bad sector cứng (vật lý)

Loại này xảy ra khi bề mặt thực tế của đĩa từ bị hỏng. Nguyên nhân gồm:

  • Đầu đọc/ghi chạm vào đĩa từ (một "head crash")
  • Bụi hoặc tạp chất bên trong khoang ổ đĩa kín
  • Hao mòn tự nhiên sau nhiều năm sử dụng
  • Lỗi sản xuất

Không phần mềm nào chữa được hư hỏng vật lý. Phần mềm chỉ có thể yêu cầu ổ đĩa che giấu hư hỏng bằng cách dùng sector dự phòng. Vết xước trên đĩa từ vẫn còn mãi mãi.

Cảnh báo nghiêm trọng: Nếu ổ đĩa của bạn có bad sector vật lý, việc chạy các bài kiểm tra cường độ cao lặp đi lặp lại có thể làm vấn đề tệ hơn do gây áp lực lên phần cứng vốn đã hỏng.

3. Ổ đĩa thử nghiệm: dữ liệu thật từ một ổ thật

Trong hướng dẫn này, chúng tôi kiểm tra một ổ cứng SATA 250 GB thật. Đây là những gì hệ thống thấy trước khi chạy kiểm tra.

3.1 Kiểm tra bố cục đĩa bằng lsblk

3.1.1 lsblk là gì?

3.1.1 lsblk là gì?

lsblk ("list block devices") hiển thị mọi thiết bị lưu trữ dạng khối kết nối với hệ thống: ổ cứng, SSD, ổ NVMe và các phân vùng của chúng. Nó cũng cho biết phân vùng nào đang được gắn kết và ở đâu. Điều này giúp bạn xác nhận mình đang nhắm đúng ổ đĩa trước khi chạy các lệnh có tính phá hủy.

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 232.9G  0 disk
└─sda1        8:1    0 232.9G  0 part
[...]

Lưu ý rằng sda là ổ 232.9 GB với một phân vùng (sda1), và nó chưa được gắn kết. Như vậy là an toàn để kiểm tra.

Nếu nó đang được gắn kết, bạn nên ngắt kết nối (unmount) trước. Điều này rất quan trọng.

3.2 Hiển thị bố cục phân vùng và hình học đĩa bằng fdisk -l

3.2.1 fdisk -l là gì?

3.2.1 fdisk -l là gì?

fdisk là công cụ thao tác bảng phân vùng trên Linux. Cờ -l nghĩa là "liệt kê", yêu cầu nó hiển thị bố cục phân vùng và hình học đĩa mà không thay đổi gì. Nó cho thấy tổng dung lượng đĩa, số sector, kích thước sector và ranh giới các phân vùng.

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: 045
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Điều này xác nhận ổ đĩa có 488,397,168 sector, mỗi sector 512 byte. Đó là toàn bộ bề mặt mà badblocks sẽ quét.

4. Dùng badblocks để kiểm tra bad sector trên Linux

4.1 badblocks là gì?

badblocks là tiện ích Linux kiểm tra thiết bị lưu trữ tìm sector hỏng bằng cách ghi các mẫu thử lên mọi khối, đọc lại rồi so sánh những gì đã ghi với những gì đọc được. Đây là công cụ chẩn đoán, không phải công cụ sửa chữa. Nó cho bạn biết khối nào không đáng tin cậy, nhưng không sửa chúng.

4.2 badblocks -wsv thực sự làm gì?

sudo badblocks -wsv /dev/sda

Hãy phân tích từng phần:

Cảnh báo: thao tác phá hủy dữ liệu: Cờ -w xóa sạch mọi thứ trên ổ đĩa đích. Không có lời nhắc xác nhận. Nó bắt đầu ghi ngay lập tức. Chỉ dùng nó trên ổ đĩa không có dữ liệu quan trọng.

4.3 Các mẫu thử có ý nghĩa gì

badblocks -w không chỉ ghi số 0. Nó dùng nhiều mẫu thử theo trình tự:

  • 0xaa (nhị phân: 10101010)
  • 0x55 (nhị phân: 01010101)
  • 0xff (nhị phân: 11111111)
  • 0x00 (nhị phân: 00000000)

Mỗi mẫu được ghi lên mọi khối, rồi đọc lại và so sánh. Nếu dữ liệu đọc không khớp với dữ liệu ghi, khối đó bị báo là hỏng.

4.4 Những gì badblocks KHÔNG làm

badblocks không trực tiếp điều khiển hay thực hiện việc ánh xạ lại sector. Nó không sửa chữa bề mặt vật lý của đĩa. Thay vào đó, nó đọc và/hoặc ghi sector rồi báo lỗi I/O. Tuy nhiên, khi thực hiện thao tác ghi, firmware của chính ổ đĩa có thể phát hiện sector lỗi và ánh xạ nó sang một sector dự phòng. Việc ánh xạ lại đó do HDD thực hiện, không phải badblocks.

4.5 Trang hướng dẫn tự cảnh báo không nên dùng trực tiếp

Xin lưu ý rằng trang hướng dẫn (man page) của badblocks khuyến nghị rõ ràng rằng bạn không nên chạy nó trực tiếp. Thay vào đó, nó khuyên dùng e2fsck -c hoặc mke2fs -c, vì các công cụ này gọi badblocks bên trong với kích thước khối đúng cho hệ thống tập tin của bạn.

4.6 Vì sao trang hướng dẫn không khuyến khích dùng trực tiếp?

Số khối mà badblocks tạo ra phụ thuộc vào kích thước khối. Mặc định là 1024 byte. Nếu hệ thống tập tin của bạn dùng kích thước khối khác (như 4096 byte) mà bạn không truyền -b, thì các con số trong kết quả không trỏ đến những khối bạn tưởng. Chạy quét qua e2fsck -c hoặc mke2fs -c nghĩa là kích thước khối đúng theo thiết kế. Công cụ hệ thống tập tin biết kích thước khối của chính nó; bạn thì có thể không.

4.7 Các lựa chọn an toàn thay cho -w khi đã có dữ liệu

Nếu bạn cần kiểm tra một ổ đĩa vẫn còn dữ liệu, hãy dùng một trong các cách sau:

Cờ -f: badblocks thường từ chối chạy trên thiết bị đã gắn kết vì nó có thể làm sập hệ thống hoặc hỏng hệ thống tập tin. Cờ -f ghi đè điều này. Bình luận của chính trang hướng dẫn rất đáng nhớ: "Nếu bạn nghĩ mình thông minh hơn chương trình badblocks, gần như chắc chắn là bạn không phải." Hãy ngắt kết nối thiết bị thay vì làm vậy.

5. Đọc dữ liệu SMART: các con số có ý nghĩa gì

Ngay cả khi badblocks báo không có lỗi, dữ liệu SMART vẫn cho bạn biết firmware của ổ đĩa biết gì về tình trạng sức khỏe của nó.

5.1 smartctl là gì?

smartctl là giao diện dòng lệnh của gói smartmontools. Nó đọc dữ liệu SMART (Self-Monitoring, Analysis, and Reporting Technology) tích hợp trong gần như mọi ổ cứng và SSD hiện đại.

SMART là hệ thống giám sát sức khỏe bên trong chính ổ đĩa, theo dõi các chỉ số hao mòn, số lỗi, nhiệt độ và dấu hiệu hỏng hóc dự báo trước. Cờ -a yêu cầu nó in mọi thông tin có sẵn.

Trước khi chạy bất kỳ bài kiểm tra phá hủy nào, bạn nên luôn kiểm tra báo cáo sức khỏe tích hợp của ổ đĩa.

$ sudo smartctl -a /dev/sda
=== START OF INFORMATION SECTION ===
Device Model:     GB0250C8045
Serial Number:    9SF0HF1B
Firmware Version: HPG2
User Capacity:    250,059,350,016 bytes [250 GB]
Rotation Rate:    7200 rpm
...
SMART overall-health self-assessment test result: PASSED
...
Self-test execution status:      ( 121) The previous self-test completed having
the read element of the test failed.

Ngay ở đây đã thấy một mâu thuẫn: ổ đĩa báo "PASSED" tổng thể, nhưng bài self-test gần nhất lại thất bại ở thao tác đọc. Điều này thường gặp. Trạng thái tổng thể của SMART có thể lạc quan trong khi từng bài kiểm tra riêng lẻ phơi ra vấn đề thật.

5.2 Tự chạy các bài self-test của SMART

Bạn có thể khởi chạy các bài self-test tích hợp của ổ đĩa mà không cần thao tác phá hủy nào. Chúng chạy bên trong firmware ổ đĩa và báo kết quả cho SMART.

$ sudo smartctl -t short /dev/sda    # Usually under 10 minutes
$ sudo smartctl -t long /dev/sda     # More thorough, tens of minutes
$ sudo smartctl -l selftest /dev/sda # View results of past tests

Bài kiểm tra ngắn kiểm tra hiệu năng điện và cơ khí cùng một mẫu thao tác đọc. Bài kiểm tra dài quét toàn bộ bề mặt. Cả hai chạy nền; bạn kiểm tra kết quả sau bằng -l selftest.

5.3 Các thuộc tính SMART quan trọng nhất

Backblaze, đơn vị vận hành một trong những bộ dữ liệu công bố lớn nhất về hỏng ổ đĩa, theo dõi năm thuộc tính SMART để dự đoán hỏng hóc. Ổ đĩa thử nghiệm của chúng tôi báo cáo phần lớn trong số đó.

45 sector được ánh xạ lại thực sự nghĩa là gì

Ổ đĩa này đã có 45 sector mà firmware đã loại bỏ vĩnh viễn và thay bằng sector dự phòng từ kho dự trữ nội bộ. 45 sector đó là hư hỏng vật lý. Không phần mềm nào khôi phục được chúng. Câu hỏi duy nhất bây giờ là liệu có thêm sector nào nữa xuất hiện hay không.

5.4 Chi tiết nhật ký lỗi SMART

Nhật ký lỗi cho thấy các lần đọc thất bại lặp lại ở cùng một vị trí:

Error 24 occurred at disk power-on lifetime: 9578 hours
Error: UNC at LBA = 0x0018f66b = 1635947
Commands leading to the error were:
READ DMA EXT
READ DMA EXT
READ DMA EXT
...
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
#1   Short offline       Completed: read failure       90%      9578         1635947

Cùng một Địa chỉ khối logic (LBA 1635947) xuất hiện trong mọi lỗi. Đây là một vị trí cụ thể trên bề mặt đĩa mà ổ đĩa liên tục không đọc được. Bài self-test ngoại tuyến ngắn cũng thất bại tại đúng vị trí này.

5.5 SMART bỏ sót 23% các ca hỏng

Đây là lưu ý quan trọng nhất về dữ liệu SMART. Thống kê công bố của Backblaze cho thấy 76.7% ổ đĩa hỏng có ít nhất một trong năm thuộc tính then chốt ở trên lớn hơn 0, nhưng điều đó nghĩa là 23.3% ổ đĩa hỏng không hề có cảnh báo SMART nào. Gần một phần tư số ổ đĩa hỏng mà không hề giơ cờ nào trong thống kê này.

SMART là bằng chứng, không phải bảo đảm:

Một lần kiểm tra SMART đạt không có nghĩa là chưa phát hiện điều gì xấu cho đến lúc đó. Nó không có nghĩa ổ đĩa khỏe mạnh, và không thay thế được việc sao lưu. Một báo cáo sạch không phải là giấy chứng nhận sức khỏe. Hãy so sánh ổ đĩa với chính lịch sử của nó, không phải với một bảng trên mạng.

6. Chạy bài kiểm tra badblocks

Giờ chúng ta chạy bài kiểm tra ghi phá hủy. Vì ổ đĩa này không có dữ liệu quan trọng, việc này an toàn.

$ sudo badblocks -wsv /dev/sda
Checking for bad blocks in read-write mode
From block 0 to 244198583
Testing with pattern 0xaa:  20.31% done, 1:55:02 elapsed, (0/0/0 errors)
# After more time passes, you might see errors appear:
Testing with pattern 0xaa:  45.12% done, 4:20:15 elapsed, (3/1/2 errors)

Cảnh báo: Như đã nói, cờ -w sẽ bắt đầu ghi vào ổ đĩa của bạn ngay lập tức. Chỉ dùng khi ổ đĩa đích không có dữ liệu quan trọng.

Nếu ổ đĩa đã suy giảm vật lý, một bài kiểm tra ghi phá hủy đầy đủ có thể đẩy nó vượt ngưỡng và khiến nó ngừng hoạt động hoàn toàn. Với ổ thử nghiệm thì điều đó chấp nhận được, nhưng vẫn đáng nhắc lại.

6.1 Hiểu bộ đếm lỗi: (0/0/0)

Ba con số trong ngoặc ở cuối dòng tiến trình có nghĩa là:

Hãy kiên nhẫn và bảo vệ nguồn điện: Một bài kiểm tra phá hủy đầy đủ có thể mất nhiều giờ. Nếu mất điện trong lúc kiểm tra, bạn có thể kết thúc với một ổ đĩa bị xóa một phần và kết quả không đầy đủ. Dùng UPS nếu có thể, và giữ laptop cắm điện. Trên ổ 250 GB của chúng tôi, bài kiểm tra mất khoảng 9 hours.

7. Điều gì xảy ra sau bài kiểm tra?

7.1 Tình huống A: không tìm thấy bad block

7.3.1 mkfs.ext4 là gì?

Nếu badblocks hoàn tất với 0 lỗi trên mọi mẫu thử, bạn có thể thấy:

Pass completed, 0 bad blocks found. (0/0/0 errors)

Điều này nghĩa là bề mặt đĩa đã vượt qua bài kiểm tra ghi-đọc-xác minh. Tuy nhiên, hãy nhớ rằng ổ thử nghiệm của chúng tôi đã có 45 sector được ánh xạ lại trong lịch sử SMART. Chúng đã bị firmware che giấu trước khi chúng ta bắt đầu. Bài kiểm tra chỉ xem liệu có vấn đề mới xuất hiện hay không.

7.2 Tình huống B: tìm thấy bad block

Nếu badblocks tìm thấy bad block, nó sẽ in số khối của chúng:

1635947
1635948
1635950
Pass completed, 3 bad blocks found. (3/0/3 errors)

Lưu ý rằng khối 1635947 khớp với LBA trong nhật ký lỗi SMART. Đây là bằng chứng xác nhận mạnh mẽ: firmware ổ đĩa và badblocks đang chỉ vào cùng một vị trí vật lý.

7.3 Bạn có thể làm gì với danh sách bad block

Bạn có thể lưu danh sách vào một tập tin và yêu cầu hệ thống tập tin tránh những khối đó khi tạo hệ thống tập tin mới:

7.3.1 mkfs.ext4 là gì?

mkfs.ext4 tạo hệ thống tập tin ext4 trên một phân vùng. Đây là quá trình định dạng phân vùng để Linux có thể lưu tập tin lên đó. Tùy chọn -l (chữ L thường) yêu cầu nó đọc danh sách bad block và đánh dấu chúng là không dùng được trong cấu trúc dữ liệu của hệ thống tập tin, để tập tin của bạn không bao giờ bị ghi vào những vị trí vật lý đó.

sudo badblocks -wsv -o badblocks_list.txt /dev/sda
sudo mkfs.ext4 -l badblocks_list.txt /dev/sda1

Tùy chọn -l yêu cầu mkfs.ext4 đánh dấu những khối đó là không dùng được trong hệ thống tập tin. Dữ liệu của bạn sẽ không bao giờ bị ghi vào đó. Nhưng hãy nhớ đây là cách xử lý tình thế, không phải sửa chữa.

7.4 Ai thực sự làm việc ánh xạ lại?

Đây là phần bị hiểu sai nhiều nhất trong cái mà người ta gọi là "sửa chữa ổ đĩa".

Sự thật về ánh xạ lại:

Khi badblocks -w ghi vào một bad sector, firmware ổ đĩa có thể quyết định tái phân bổ nó sang một sector dự phòng. Nhưng điều này chỉ xảy ra nếu firmware phát hiện vấn đề trong thao tác ghi. badblocks không ra lệnh ánh xạ lại. Nó chỉ ghi dữ liệu, và bộ não nội bộ của ổ đĩa quyết định phải làm gì.

8. Nếu ổ đĩa của bạn vẫn còn dữ liệu thì sao?

8.1.1 ddrescue là gì?

Toàn bộ hướng dẫn này giả định ổ đĩa của bạn không có dữ liệu quan trọng, đây là điều kiện an toàn duy nhất để chạy badblocks -w. Nếu ổ đĩa của bạn chứa tập tin quan trọng, đừng chạy các bài kiểm tra phá hủy trên nó. Mọi thao tác đọc và ghi trên một ổ đĩa đang hỏng đều là rủi ro.

8.1 Nguyên tắc vàng: sao chép ảnh trước, kiểm tra sau

Nếu dữ liệu quan trọng, thứ tự thao tác là:

  1. Sao chép ổ đĩa sang một ổ khỏe mạnh hoặc tập tin ảnh bằng công cụ được thiết kế cho môi trường hỏng
  2. Xác minh bản sao và khôi phục tập tin từ đó
  3. Chỉ sau đó mới chạy kiểm tra trên ổ gốc (nếu bạn vẫn quan tâm đến tình trạng của nó)

8.1.1 ddrescue là gì?

ddrescue (GNU ddrescue) là công cụ khôi phục dữ liệu sao chép dữ liệu từ thiết bị khối này sang thiết bị khối khác, được thiết kế riêng cho ổ đĩa đang hỏng.

Khác với dd, nó thông minh bỏ qua các bad sector, thử lại những vùng lỗi và giữ một mapfile để bạn có thể tiếp tục phiên khôi phục bị gián đoạn. Nó đọc những phần dễ trước, rồi quay lại các vùng hỏng, giảm thiểu áp lực lên ổ đĩa đang hỏng.

$ sudo ddrescue -f -n /dev/sda /dev/sdb rescue.mapfile
# -f = force (overwrite output)
# -n = skip scraping phase initially (faster first pass)
# rescue.mapfile = progress log you can resume from
# Then retry the bad sectors more aggressively:
$ sudo ddrescue -d -r3 /dev/sda /dev/sdb rescue.mapfile
# -d = direct disc access (bypass kernel cache)
# -r3 = retry bad sectors up to 3 times

Ngừng ghi vào ổ đĩa đang hỏng:

Mỗi lần ghi lên một ổ đĩa đang hỏng là một cơ hội ghi đè lên thứ gì đó có thể khôi phục được, và là thêm việc cho một cơ cấu vốn đã chật vật. Nếu dữ liệu quan trọng, hãy sao chép trước, tìm hiểu sau. Chạy badblocks -w trên một ổ đĩa chứa dữ liệu quý giống như kiểm tra cường độ một cây cầu đang cháy trong khi bạn vẫn còn đứng trên nó.

9. Kết luận: bạn có thực sự sửa được bad sector không?

Câu trả lời ngắn là không. Bạn không thể sửa bad sector.

Không phải bằng badblocks hay smartctl. Không phải bằng bất kỳ phần mềm hay công cụ nào bạn có thể chạy từ máy tính. Một khi sector đã hỏng vật lý, nó hỏng vĩnh viễn.

9.1 Bad sector mềm (logic): "khắc phục được", không phải "đã sửa"

Nếu một sector chứa dữ liệu hỏng nhưng bề mặt vật lý vẫn tốt, ghi đè dữ liệu mới lên đó có thể khiến nó đọc được trở lại. Nhưng bạn không "sửa" sector. Bạn chỉ ghi dữ liệu mới đè lên dữ liệu hỏng cũ. Bản thân sector chưa bao giờ hỏng vật lý.

9.2 Bad sector cứng (vật lý): hỏng vĩnh viễn

Nếu bề mặt vật lý của đĩa từ bị xước, nhiễm bẩn hoặc hỏng, không phần mềm nào chữa được hư hỏng đó. Vết xước không biến mất chỉ vì bạn chạy một lệnh.

Điều firmware ổ đĩa làm là che giấu hư hỏng bằng cách hoán đổi bad sector lấy một sector dự phòng từ kho dự trữ nội bộ. Hư hỏng vẫn còn đó. Chỉ là bạn không còn thấy nó nữa.

9.3 Phần mềm thực sự làm gì so với điều người ta tưởng

9.4 Bạn nên làm gì nếu ổ cứng có bad sector

Một khi một sector hỏng do hư hỏng vật lý, nó hỏng vĩnh viễn. Điều tốt nhất bạn có thể làm là:

  1. Phát hiện nó (bằng badblocks hoặc SMART)
  2. Che giấu nó (bằng ánh xạ lại của firmware hoặc danh sách bad block của hệ thống tập tin)
  3. Thay ổ đĩa (trước khi thêm sector hỏng)

Nếu dữ liệu quan trọng, hãy sao chép ổ đĩa trước bằng ddrescue, rồi thay ổ. Nếu ổ đĩa chỉ để thử nghiệm và không có dữ liệu quan trọng, bạn có thể tiếp tục dùng nó trong khi theo dõi xem số lượng bad sector có tăng lên không. Nhưng bạn chưa "sửa" được gì cả. Bạn chỉ đang xử lý triệu chứng.

10. Những hiểu lầm phổ biến

11. Khi nào nên thay ổ đĩa?

11.1 An toàn để tiếp tục dùng (cần thận trọng)

Không có sector được ánh xạ lại, không có sector đang chờ, không có lỗi ATA, và badblocks vượt qua sạch sẽ. Ổ đĩa khỏe mạnh.

11.2 Theo dõi sát

Một số ít sector được ánh xạ lại (như 45 của chúng tôi) ổn định và không tăng. Ổ đĩa có thể dùng được nhiều năm, nhưng đừng lưu dữ liệu quan trọng trên đó mà không sao lưu.

11.3 Thay ngay lập tức

Sector được ánh xạ lại tăng nhanh, sector đang chờ lớn hơn 0 lỗi ATA lặp lại, tiếng lách cách, hoặc badblocks tìm thấy bad sector mới trong mỗi lần kiểm tra. Ổ đĩa đang hỏng thực sự.

11.4 Cách kiểm tra xem số lượng có tăng không

Chạy smartctl trước và sau bài kiểm tra badblocks, rồi so sánh:

$ sudo smartctl -a /dev/sda | grep -E "Reallocated|Pending|Uncorrectable"
5 Reallocated_Sector_Ct   ... 45
197 Current_Pending_Sector  ... 0
198 Offline_Uncorrectable   ... 5

Nếu Reallocated_Sector_Ct tăng sau badblocks, firmware đã tìm thấy bad sector mới trong lúc kiểm tra và hoán đổi chúng. Điều này chứng minh ổ đĩa vẫn đang suy giảm.

11.5 Một điều nữa: kiểm tra cáp

Không phải mọi lỗi ổ đĩa đều nghĩa là ổ đĩa sắp chết. UDMA_CRC_Error_Count khác 0 (thuộc tính SMART 199) thường chỉ ra cáp SATA hỏng hoặc kết nối lỏng, không phải ổ đĩa hỏng. Trước khi vứt bỏ ổ đĩa, hãy thử cáp và cổng khác. Ổ thử nghiệm của chúng tôi cho thấy 0 lỗi CRC, nên vấn đề thực sự nằm ở ổ đĩa.