Làm thế nào để thực hiện kiểm tra đầy đủ cấu trúc hệ thống tập tin ext4?


25

Tôi có phân vùng ext4 2TB với nửa triệu tệp trên đó.
Tôi muốn kiểm tra xem phân vùng này có chứa bất kỳ lỗi nào hay không.
Tôi không muốn tìm kiếm các khối xấu, chỉ nên kiểm tra cấu trúc logic.

Tôi đã ngắt kết nối phân vùng và chạy fsck /dev/sda2, nhưng fsck trả về ngay lập tức với mã thoát 0 mà không thực sự kiểm tra toàn bộ hệ thống tệp.
Tôi hy vọng kiểm tra phân vùng đầy đủ sẽ mất nhiều giờ để hoàn thành.
Tôi đã đọc man fscknhưng không tìm thấy tùy chọn "kiểm tra kỹ lưỡng".

Tôi sợ phân vùng của tôi có thể có một số lĩnh vực vô tình bị ghi đè bởi dữ liệu rác.
Ổ cứng của tôi trước đây đã được kết nối với một hệ điều hành khác và phân vùng ext4 có thể bị tổn hại do hành vi sai của hệ điều hành đó.
Đó là lý do tại sao tôi muốn chắc chắn rằng toàn bộ cấu trúc cây là hoàn toàn chính xác.

Nói cách khác, tôi muốn thực hiện kiểm tra tương tự như tiện ích chkdsk.exenào trên Windows.
Tôi nên sử dụng gì trên Debian để kiểm tra hoàn toàn hệ thống tệp ext4?


2
@SatoKatsura - Cảm ơn! Tôi chỉ tự hỏi tại sao e2fsck -fkiểm tra lại nhanh như vậy - chỉ mất vài giây? Thật tuyệt vời so với hành vi của Windows (phải mất hàng giờ).
Egor Skriptunoff

Câu trả lời:


27

Như Satō Katsura đã đề cập , chạy e2fscktrong chế độ "lực lượng":

e2fsck -f /dev/sda2

Điều này sẽ buộc kiểm tra ngay cả khi hệ thống cho rằng hệ thống tệp sạch. Tùy chọn "verbose" cũng hữu ích:

e2fsck -vf /dev/sda2

Là một lưu ý phụ và không áp dụng trong trường hợp của bạn, nhưng nếu bạn sử dụng LVM cho bộ lưu trữ của mình, bạn có thể sử dụng lvcheckcông cụ nhỏ gọn để chạy kiểm tra hệ thống tệp "ngoại tuyến" trên hệ thống tệp được gắn (nó sử dụng ảnh chụp nhanh và cập nhật LVM siêu dữ liệu hệ thống tệp nếu kiểm tra không tìm thấy bất kỳ lỗi nào).


7

Ngoài ra, bạn có thể thêm -ycờ để tránh trả lời câu hỏi.

Từ hướng dẫn :

-y giả sử một câu trả lời yescho tất cả các câu hỏi; cho phép e2fsckđược sử dụng không tương tác.

Vì vậy, mở rộng câu trả lời (vì tôi chưa thể nhận xét) từ @Sato - bạn có thể chạy:

e2fsck -vfy /dev/sda2

6
Tuy nhiên, điều đó có thể có rủi ro, vì bạn không biết trước những gì bạn có thể được hỏi và buộc phải trả lời có cho mọi thứ trong trường hợp xấu nhất có thể dẫn đến mất dữ liệu có thể phục hồi.
Alex

0

Bạn cũng có thể kiểm tra hệ thống tệp trực tiếp ở chế độ chỉ đọc với điều này:

e2fsck -vfn /dev/sda2

Từ trợ giúp của e2fsck: "Tuy nhiên, ngay cả khi an toàn để làm như vậy, kết quả được in bởi e2fsck không hợp lệ nếu hệ thống tệp được gắn kết." Không chắc mục đích là gì như kiểm tra ...: /
joaerl
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.