Làm cách nào để sửa lỗi Số ngành đang chờ xử lý


8

Từ dữ liệu SMART, nó cho thấy tôi có 3 số lượng ngành đang chờ xử lý. (Chạy Ubuntu Maverick.)

Tôi đã thử theo một liên kết diễn đàn về cách giải quyết vấn đề đó , nhưng tôi không thể xác định chính xác số lượng ngành để viết cho khu vực đó. Tôi sẽ chạy tự kiểm tra đầy đủ từ Tiện ích đĩa, nhưng Tiện ích đĩa không hiển thị số khu vực chính xác trong Maverick, mặc dù không chắc chắn về các phiên bản trước đó. Điều này đã thay đổi trong Maverick?

Làm thế nào để tôi xác định khu vực và sửa chữa số lượng đang chờ xử lý? Là mẹo đó trong các diễn đàn an toàn?

Tái bút: Tôi có vấn đề khác với "Số lượng khu vực được phân bổ lại", từ những gì tôi đã hiểu, không thể khắc phục được .. Có cách nào để ngăn chặn nó tăng lên không?


1
Ảnh chụp màn hình của Dữ liệu SMART: foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..! PS: cần cho phép nhiều hơn một siêu liên kết hoặc ít nhất một liên kết hình ảnh cho người dùng mới: - /
— Vish

Bạn đã chạy thử nghiệm "dài"?
— TJ L

1
Vâng, tôi đã thử "mở rộng", nhưng tôi không nhận được số ngành được báo cáo. Hoặc có lẽ tôi không tìm đúng chỗ sau khi chạy thử?
— Vish

Câu trả lời:


7

Đây thực sự là một bình luận dài ;-)

IMO hệ thống tập tin sẽ tự động chăm sóc nó trong khóa học do, đặc biệt là khi bạn đã chạy tự kiểm tra. Như bạn có thể thấy nó nói rằng ánh xạ lại được thực hiện trong trường hợp thất bại ghi, vì vậy lần tiếp theo nó cố gắng ghi vào nó, nó sẽ được ánh xạ lại.

Bạn có thể nói mục đích lớn hơn đằng sau việc này không? Ngoài mối quan tâm về các khối yêu cầu ánh xạ lại, còn có vấn đề / phiền toái nào khác mà bạn đang cố gắng giải quyết bằng cách này không?

Mẹo trong bài đăng ubuntuforums bạn đã trích dẫn là an toàn miễn là bạn biết chính xác lĩnh vực nào đã bị hỏng và có lý do thuyết phục để khắc phục nó. Thông thường, sector # không được báo cáo ngay cả bởi các chương trình kiểm tra tệp vì nó được trừu tượng hóa và xử lý bên trong bởi hệ thống tệp.

Nhưng nếu bạn phải tìm các lỗi xấu, bạn có thể sử dụng các bước dưới đây:

  1. Lưu ý tập tin thiết bị tương ứng với hệ thống tập tin. Đây là dạng / dev / hdc hoặc / dev / sdb tùy thuộc vào loại đĩa. Điều này được hiển thị trong Disk Utility ( System -> Administration -> Disk Utility). Nếu bạn nhấp vào tên đĩa trong danh sách được hiển thị trong bảng điều khiển bên trái, tên thiết bị có thể được đọc theo "Thiết bị:" ở bên phải.

  2. Ngắt kết nối tất cả các hệ thống tệp trong đĩa đó. Lệnh sau sẽ không trả lại kết quả.

    mount | grep -i <device-name>
    
  3. Chạy lệnh sau

    badblocks -sv -b 512 <device-name>
    

    Lưu ý Điều chỉnh -b 512là căn chỉnh kích thước khối thành 512 để bạn có thể sử dụng số được báo cáo bởi lệnh này làm đầu vào ddnhư được giải thích trong bài đăng trên diễn đàn

Tôi sẽ không đề xuất tất cả những điều trên vì dù sao nó cũng được chăm sóc bởi các hoạt động bình thường của đĩa.


1
Cảm ơn các câu trả lời chi tiết. Ba lĩnh vực đang chờ xử lý đó tồn tại trong một thời gian rất dài, gần hơn 6 tháng, đó là lý do tôi muốn sửa chữa những khu vực đang chờ xử lý đó. Và những khu vực đó nằm trong phân vùng chính / nhà của tôi, làm thế nào để tôi làm điều này trực tuyến? Bạn đã đề cập đến việc ngắt kết nối tất cả các phân vùng, tôi có nên làm điều này từ một đĩa CD trực tiếp không?
— Vish

Vì nó là phân vùng chính cho cài đặt của bạn, nên bạn thực sự muốn thực hiện các bước trên từ livecd. Đảm bảo rằng tất cả các phân vùng trên đĩa không được đếm (bao gồm cả việc hoán đổi bất kỳ phân vùng trao đổi nào).
— koushik

Thật kỳ lạ, tôi đã có số lượng chờ xử lý trong gần 6 tháng với ext4, nhưng khi tôi cài đặt lại với brtfs thì nó không còn nữa. Do đó tôi đã lo lắng. Từ lời khuyên của bạn, tôi đã cân nhắc chờ đợi một vài tuần trước khi tôi làm điều gì đó. Bây giờ Bỗng dưng tất cả đều biến mất! Vì vậy, tôi đoán chờ đợi là tốt nhất. :-) Dường như để giải quyết nhanh hơn với btrfs.
— Vish

1

trường hợp xấu hơn bạn luôn có thể làm điều này: Tháo đĩa hoặc mảng và dừng bất kỳ mảng nào.

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

Nó sẽ mất một thời gian dài, nhưng nên làm việc.

Lý tưởng nhất là bạn có thể truy vấn danh sách khiếm khuyết tăng trưởng ổ cứng (glist), nhưng tôi chưa tìm ra cách để làm điều đó.


1

Có vẻ như các conv=noerrortùy chọn giúp. Khi có lỗi i / o, có vẻ như tùy chọn này buộc ddphải thử lại cho đến khi hoàn thành việc đọc / ghi. Tôi đã tạo một tệp nguồn với lệnh sau cho mỗi khối xấu được tìm thấy bởi lệnh badblocks (được đưa ra bởi Kaushik ở trên) và nó đã xóa "Số lượng ngành đang chờ xử lý hiện tại" ("đang chờ để được ánh xạ lại") về 0 từ 5.

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809

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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.