Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử dụng lệnh fsck trong Linux để kiểm tra và sửa lỗi filesystem

    Nguyễn Hưng

    Ngày đăng:

    02/05/2026

    Cập nhật lần cuối:

    02/05/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    02/05/2026

    Cập nhật lần cuối:

    02/05/2026

    Mục lục

    Lệnh fsck là công cụ quan trọng được sử dụng để kiểm tra và sửa chữa các lỗi không nhất quán của hệ thống tập tin trên Linux. Bài viết này được mình đúc kết từ hơn 5 năm kinh nghiệm thực chiến trong quá trình xử lý các sự cố lỗi Filesystem, treo server và cứu hộ dữ liệu cho hàng ngàn khách hàng. Thay vì chỉ cung cấp lý thuyết, mình sẽ hướng dẫn bạn cách vận hành fsck một cách an toàn nhất, giúp bạn chủ động phục hồi dữ liệu và tránh những sai lầm có thể dẫn đến mất dữ liệu vĩnh viễn khi hệ thống gặp sự cố.

    Những điểm chính

    • Quan điểm của mình: Dù các hệ thống file hiện đại ngày nay đã rất bền bỉ, nhưng mình nhận thấy việc nắm vững cách sử dụng fsck vẫn là kỹ năng cần thiết cho mọi quản trị viên để lấy lại dữ liệu trong các kịch bản hỏng phần cứng hoặc mất điện đột ngột mà các cơ chế tự sửa lỗi thông thường không thể xử lý.
    • Khái niệm fsck: Hiểu rõ bản chất công cụ kiểm tra tính toàn vẹn giúp bạn chủ động khắc phục các sự cố không nhất quán trên hệ thống file Linux.
    • Cú pháp và tùy chọn: Nắm vững cấu trúc lệnh và các tham số như -y, -A, -f để tự động hóa quy trình quét và sửa lỗi chuyên nghiệp.
    • Trường hợp ứng dụng: Biết chính xác thời điểm cần sử dụng lệnh để xử lý lỗi khởi động, lỗi I/O hoặc bảo trì định kỳ cho thiết bị lưu trữ.
    • Hướng dẫn sử dụng cơ bản: Làm chủ quy trình 4 bước an toàn từ việc xác định phân vùng, ngắt kết nối đến thực thi sửa lỗi và gắn kết lại dữ liệu.
    • Sửa chữa Root File System: Biết cách vận dụng chế độ Recovery để can thiệp và khắc phục lỗi cho phân vùng gốc một cách an toàn, hiệu quả.
    • Câu hỏi thường gặp: Giải đáp các câu hỏi phổ biến liên quan đến lệnh fsck Linux.

    Lệnh fsck là gì?

    fsck là lệnh được sử dụng để kiểm tra tính toàn vẹn và khắc phục các lỗi cấu trúc không nhất quán trên hệ thống file. Được tích hợp sẵn như một công cụ mặc định trong hầu hết các bản phân phối Linux, fsck đóng vai trò quan trọng trong khi hệ điều hành gặp sự cố khởi động hoặc phân vùng đĩa bị lỗi không thể gắn kết.

    Cụ thể, fsck hoạt động bằng cách đối chiếu cấu trúc hiện tại của hệ thống file với cấu trúc chuẩn. Khi phát hiện các sự cố bất thường như lỗi block, sai lệch thông tin inode hoặc hệ thống bị sập do mất điện đột ngột, fsck sẽ tiến hành quét và khôi phục dữ liệu để ngăn chặn nguy cơ mất mát thông tin. Một lưu ý vô cùng quan trọng là bạn tuyệt đối không được chạy lệnh này trên các phân vùng đang được mount để tránh làm hỏng dữ liệu vĩnh viễn.

    fsck là lệnh được sử dụng để kiểm tra tính toàn vẹn và khắc phục các lỗi cấu trúc không nhất quán trên hệ thống file.
    fsck là lệnh được sử dụng để kiểm tra tính toàn vẹn và khắc phục các lỗi cấu trúc trên filesystem

    Cú pháp và các tùy chọn của lệnh fsck Linux

    Dưới đây là cấu trúc lệnh tiêu chuẩn của fsck:

    fsck [tùy chọn] [hệ thống tập tin]

    Trong đó:

    • [tùy chọn]: Các tham số được sử dụng để thay đổi hành vi của lệnh.
    • [hệ thống tập tin]: Tên thiết bị, phân vùng hoặc điểm mount cần kiểm tra, ví dụ như /dev/sdX1.

    Dưới đây là bảng tổng hợp các tùy chọn thường dùng để điều khiển quá trình kiểm tra:

    Tùy chọnMô tả
    -AKiểm tra tất cả các hệ thống file được liệt kê trong file /etc/fstab.
    -aTự động sửa hệ thống file mà không cần hỏi xác nhận.
    -yChạy ở chế độ không tương tác, tự động trả lời “yes” cho tất cả các lời nhắc sửa lỗi.
    -fBuộc fsck kiểm tra hệ thống file.
    -nChạy thử, chỉ thực hiện kiểm tra mà không ghi bất kỳ thay đổi thực tế nào lên đĩa.
    -rCho phép sửa chữa tương tác, hệ thống sẽ hỏi người dùng xác nhận trước khi sửa chữa từng lỗi.
    -RBỏ qua việc kiểm tra hệ thống file gốc, thường được dùng kết hợp với -A.
    -MBỏ qua các hệ thống file đang được mount để đảm bảo an toàn.
    -tChỉ định cụ thể loại hệ thống file cần kiểm tra.
    -CHiển thị thanh tiến trình đối với các định dạng ext2 và ext3 để người dùng theo dõi mức độ hoàn thành.
    -lThiết lập khóa trên thiết bị, ngăn chặn các tiến trình khác cố gắng truy cập phân vùng trong khi lệnh đang chạy.
    -NChỉ mô phỏng quá trình kiểm tra và báo cáo những thao tác sẽ được thực hiện mà không ghi đè dữ liệu thực tế.
    -PKích hoạt chế độ kiểm tra song song cho nhiều hệ thống file cùng lúc để tiết kiệm thời gian
    -TTắt việc hiển thị dòng tiêu đề giới thiệu thông tin khi lệnh bắt đầu khởi chạy để làm gọn giao diện console.
    -vKích hoạt chế độ chi tiết, xuất ra màn hình toàn bộ thông tin cụ thể về quá trình kiểm tra và sửa lỗi.

    Khi nào cần sử dụng lệnh fsck?

    Việc nắm bắt đúng thời điểm để kích hoạt fsck là kỹ năng quan trọng giúp ngăn chặn sự cố lan rộng. Dưới đây là 4 trường hợp cần sử dụng fsck:

    • Khắc phục sự cố không thể khởi động: Khi hệ thống không thể nạp hệ điều hành do lỗi cấu trúc phân vùng, bạn sử dụng fsck để sửa chữa các bad sector hoặc node bị hỏng, giúp hệ thống tiếp tục quy trình boot.
    • Xử lý lỗi truy xuất dữ liệu: Khi bạn gặp các thông báo lỗi liên quan đến “Input/Output error” hoặc hệ thống file đột ngột chuyển sang chế độ “Chỉ đọc” để tự bảo vệ, đó là dấu hiệu cho thấy cấu trúc dữ liệu đang bị tổn hại nghiêm trọng và bạn cần sử dụng fsck để tái cấu trúc.
    • Bảo trì dự phòng và kiểm soát tính nhất quán: Việc chạy fsck định kỳ giúp phát hiện sớm các sự cố ngầm, qua đó ngăn ngừa hậu quả mất mát dữ liệu thực tế.
    • Kiểm tra sức khỏe thiết bị lưu trữ ngoài: Các thiết bị di động như USB, thẻ nhớ SD hoặc ổ cứng gắn ngoài rất dễ bị lỗi do tháo rút đột ngột, do đó, việc sử dụng fsck sẽ giúp bạn rà soát và sửa chữa các lỗi logic trên các thiết bị này để đảm bảo khả năng lưu trữ ổn định.
    Các trường hợp thường cần sử dụng lệnh fsck
    Các trường hợp thường cần sử dụng lệnh fsck

    Bước 1: Xác định phân vùng

    Trước khi tiến hành sửa lỗi, bạn phải tìm ra tên chính xác của phân vùng đang gặp sự cố bằng cách mở Terminal và sử dụng các lệnh sau để liệt kê toàn bộ các ổ đĩa trên hệ thống:

    lsblk

    Hoặc lệnh:

    df -h

    Bước 2: Ngắt kết nối thiết bị

    Để đảm bảo an toàn dữ liệu, bạn hãy ngắt kết nối phân vùng cần kiểm tra bằng lệnh sau:

    sudo umount /dev/[partition]

    Sau khi chạy lệnh, bạn có thể dùng df -h một lần nữa để xác nhận phân vùng đã hoàn toàn biến mất khỏi danh sách các thiết bị đang được gắn kết.

    Lỗi thường gặp: Rất nhiều người dùng gặp lỗi target is busy khi chạy lệnh umount. Nguyên nhân là do đang có một tiến trình đọc/ghi ngầm trên phân vùng đó. Bạn tuyệt đối không được cố gắng ép chạy fsck lúc này. Hãy dùng lệnh lsof +D /đường_dẫn_mount để tìm và tắt tiến trình đó trước khi unmount.

    Bước 3: Kiểm tra và sửa lỗi

    Sau khi đã ngắt kết nối, bạn chạy lệnh fsck trên phân vùng đó:

    sudo fsck /dev/[partition]

    Lúc này, công cụ sẽ tiến hành rà soát cấu trúc đĩa. Nếu hệ thống phát hiện ra block nào bị hỏng thì sẽ dừng lại và hiển thị thông báo yêu cầu bạn nhấn y để xác nhận việc sửa chữa. Nếu bạn muốn hệ thống tự động sửa chữa mà không cần hỏi lại, hãy dùng tùy chọn -y:

    sudo fsck -y /dev/[partition]

    Bước 4: Mount lại

    Sau khi quá trình sửa chữa hoàn tất, bạn có thể gắn kết lại phân vùng để sử dụng bình thường bằng lệnh dưới đây:

    sudo mount /dev/[partition]
    Cách sử dụng lệnh fsck cơ bản
    Cách sử dụng lệnh fsck cơ bản

    Cách tự động sửa chữa tất cả các hệ thống file với fsck

    Trong trường hợp cần sửa lỗi cho hệ thống file gốc, bạn không thể umount khi máy đang chạy bình thường mà phải thực hiện thông qua chế độ Recovery:

    Bước 1: Đầu tiên, bạn hãy khởi động lại hệ thống Linux sau khi đã dừng các dịch vụ quan trọng như MySQL/MariaDB bằng lệnh:

    sudo reboot

    Kinh nghiệm của mình: Trước khi gõ lệnh reboot, bạn nên chạy lệnh sync khoảng 2-3 lần. Lệnh này giúp ép hệ thống ghi toàn bộ dữ liệu từ bộ nhớ đệm xuống ổ cứng ngay lập tức, từ đó giảm thiểu rủi ro mất các bản ghi cuối cùng của Database trước khi máy sập nguồn.

    Bước 2: Trong quá trình khởi động lại, bạn hãy nhấn và giữ phím Shift để truy cập vào menu GNU GRUB.

    Bước 3: Tại giao diện GRUB, bạn sử dụng phím mũi tên để chọn tùy chọn Advanced options for Ubuntu.

    Trong menu khởi động, chọn Advanced options for Ubuntu để sửa chữa root file system
    Trong menu khởi động, chọn Advanced options for Ubuntu để sửa chữa root file system

    Bước 4: Tiếp theo, bạn chọn dòng có chữ recovery mode để vào menu khôi phục.

    Để hiển thị Recovery Menu, bạn hãy chọn chế độ recovery
    Để hiển thị Recovery Menu, bạn hãy chọn chế độ recovery

    Bước 5: Trong danh sách các công cụ hiện ra, bạn chọn tùy chọn fsck.

    Chọn fsck để sửa chữa Root File System của Linux bằng fsck
    Chọn fsck để sửa chữa Root File System của Linux bằng fsck

    Bước 6: Hệ thống sẽ hỏi xác nhận, bạn hãy chọn “yes” để đồng ý remount hệ thống tập tin ở chế độ đọc-ghi và tiến hành sửa lỗi.

    Tiến hành sửa chữa Root File System bằng fsck
    Tiến hành sửa chữa Root File System bằng fsck

    Lỗi thường gặp: Nếu sau khi chạy fsck mà màn hình hiện thông báo UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY, điều này có nghĩa là lỗi quá nặng và hệ thống cần bạn xác nhận sửa từng khối dữ liệu một. Lúc này, bạn có thể phải dùng lệnh fsck -y /dev/sda1 (với -y để tự động chọn Yes cho mọi câu hỏi) để đẩy nhanh tiến độ.

    Bước 7: Sau khi quá trình kiểm tra và sửa lỗi hoàn tất, bạn chọn tùy chọn resume từ Recovery Menu để khởi động lại máy vào chế độ bình thường.

    Chọn resume để khởi động hệ thống Linux sau khi đã sửa lỗi root file system
    Chọn resume để khởi động hệ thống Linux sau khi đã sửa lỗi root file system

    Câu hỏi thường gặp

    Tại sao không nên chạy fsck trên phân vùng đang được mount?

    Khi một phân vùng đang được mount, hệ điều hành có thể đang ghi dữ liệu lên đó. Nếu fsck cố gắng sửa chữa cấu trúc file trong khi dữ liệu đang thay đổi liên tục, điều này sẽ dẫn đến xung đột và làm hỏng hoàn toàn hệ thống tập tin, khiến dữ liệu bị mất vĩnh viễn.

    Thư mục /lost+found xuất hiện sau khi chạy fsck có ý nghĩa gì?

    Trong quá trình sửa lỗi, nếu fsck tìm thấy các dữ liệu có nội dung nhưng không còn liên kết với tên file hay thư mục nào, lệnh sẽ khôi phục và đưa các dữ liệu này vào thư mục /lost+found. Bạn có thể kiểm tra thư mục này để tìm lại các dữ liệu bị thất lạc.

    Nếu muốn hệ thống tự động chạy fsck trong lần khởi động tiếp theo thì làm thế nào?

    Bạn có thể tạo một file rỗng có tên là forcefsck ngay tại thư mục gốc. Khi khởi động lại, hệ thống sẽ phát hiện file này và tự động kích hoạt quy trình kiểm tra ổ đĩa. Cú pháp tạo file /forcefsck như sau:
    sudo touch /forcefsck

    Trong quy trình vận hành và bảo trì hệ thống Linux, lệnh fsck đóng vai trò quan trọng trong việc đảm bảo tính toàn vẹn và sự nhất quán của cấu trúc file. Công cụ này hỗ trợ khôi phục hệ thống sau các sự cố gián đoạn đột ngột và là giải pháp tối ưu để xử lý các lỗi Bad Sector hoặc Corrupted Inode. Chúc bạn thao tác với lệnh fsck thành công và hẹn gặp lại bạn trong các bài viết tiếp theo!

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh lspci trong Linux để kiểm tra chi tiết phần cứng PCI
    Hướng dẫn sử dụng lệnh lspci trong Linux để kiểm tra chi tiết phần cứng PCI

    lspci là lệnh dùng để liệt kê chi tiết các thiết bị phần cứng kết nối qua bus PCI/PCI Express trên hệ thống Linux như card mạng, card đồ họa, controller SATA/USB,… Với kinh nghiệm hơn 10 năm thực chiến trong việc tối ưu hóa và gỡ lỗi hạ tầng server, mình sẽ hướng dẫn…

    04/05/2026

    Cách sử dụng lệnh lsblk trong Linux để kiểm tra ổ đĩa và phân vùng chi tiết nhất
    Cách sử dụng lệnh lsblk trong Linux để kiểm tra ổ đĩa và phân vùng chi tiết nhất

    lsblk là lệnh dùng để liệt kê thông tin các thiết bị lưu trữ dạng block như ổ cứng, SSD, USB, phân vùng, LVM,… trên hệ thống theo dạng bảng hoặc cây. Trong quá trình quản trị hệ thống cho hàng ngàn khách hàng, lsblk thường là công cụ mà mình ưu tiên sử dụng…

    03/05/2026

    Hướng dẫn dùng lệnh mkfs trong Linux để tạo filesystem cho ổ đĩa hiệu quả
    Hướng dẫn dùng lệnh mkfs trong Linux để tạo filesystem cho ổ đĩa hiệu quả

    Lệnh mkfs trong Linux đóng vai trò thiết lập hệ thống file mới trên các thiết bị lưu trữ và sẽ xóa bỏ toàn bộ dữ liệu hiện có trong quá trình thực hiện. Dựa trên kinh nghiệm quản trị hạ tầng hơn 10 năm, mình nhận thấy mkfs là một lệnh mạnh mẽ nhưng…

    01/05/2026

    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt
    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt

    parted Linux là một công cụ dòng lệnh chuyên dụng dùng để quản lý phân vùng ổ đĩa như tạo, sửa, xóa, thay đổi kích thước partition và thiết lập bảng phân vùng. Trong quá trình vận hành và quản trị hàng nghìn máy chủ, mình thường xuyên phải xử lý các bài toán mở…

    29/04/2026

    linux

    lenh

    text