Lệnh badblocks trong linux với các ví dụ dễ hiểu

Lệnh badblocks trong Linux là công cụ mạnh mẽ để kiểm tra các sector bị lỗi trên ổ cứng hoặc các thiết bị lưu trữ khác. Nó sẽ quét bề mặt đĩa và xác định các khối bị hỏng, giúp bạn phát hiện sớm các vấn đề tiềm ẩn. Bạn có thể sử dụng lệnh này để đánh dấu các bad sector, ngăn hệ thống sử dụng chúng và bảo vệ dữ liệu quan trọng. Hãy nhớ sao lưu dữ liệu trước khi sử dụng để tránh mất mát không mong muốn.

Lệnh badblocks trong linux là gì?

Lệnh command badblocks in linux là một công cụ mạnh mẽ giúp kiểm tra các sector bị lỗi trên ổ cứng hoặc các thiết bị lưu trữ khác của bạn. Nó sẽ quét toàn bộ bề mặt đĩa và xác định những khu vực không thể đọc hoặc ghi dữ liệu một cách chính xác. Khi phát hiện bad sector, badblocks có thể đánh dấu chúng để hệ điều hành không sử dụng những khu vực này nữa, giúp bảo vệ dữ liệu của bạn. Việc sử dụng lệnh này thường xuyên giúp bạn phát hiện sớm các vấn đề tiềm ẩn và ngăn ngừa mất mát dữ liệu quan trọng. Hãy nhớ sao lưu dữ liệu trước khi chạy badblocks, vì quá trình này có thể gây ra một số rủi ro nhỏ.

Giới thiệu về Lệnh badblocks

Trong bước này, chúng ta sẽ tìm hiểu lệnh badblocks, một tiện ích Linux để quét đĩa tìm bad block.

Lệnh badblocks giúp xác định và đánh dấu các sector lỗi trên đĩa, ngăn ngừa mất dữ liệu và tăng độ tin cậy.

Đầu tiên, hãy kiểm tra phiên bản lệnh badblocks đã được cài đặt trên hệ thống của bạn:

badblocks --version

Ví dụ về kết quả:

badblocks 1.46.2 (11-Nov-2022)

Lệnh badblocks có nhiều tùy chọn để tùy chỉnh quá trình quét theo nhu cầu của bạn.

Một số tùy chọn thường dùng bao gồm:

  • -b: Chỉ định kích thước block tính bằng byte (mặc định là 1024 bytes).
  • -c: Chỉ định số lượng block cần kiểm tra cùng lúc (mặc định là 64).
  • -s: Hiển thị trạng thái của quá trình quét khi nó đang diễn ra.
  • -t: Chỉ định loại kiểm tra (đọc-ghi không phá hủy, chỉ đọc không phá hủy, hoặc phá hủy).
  • -v: Bật chế độ hiển thị chi tiết (verbose output).

Để thực hiện quét chỉ đọc không phá hủy trên đĩa, bạn có thể sử dụng lệnh sau:

sudo badblocks -v /dev/sdb

Lệnh này sẽ quét đĩa /dev/sdb để tìm bad block và hiển thị tiến trình quét.

Tùy chọn -v bật chế độ verbose output, cung cấp thông tin chi tiết hơn về quá trình quét.

Quét đĩa để tìm Bad Blocks

Trong bước này, chúng ta sẽ tìm hiểu cách quét toàn diện một đĩa để xác định các bad blocks.

Đầu tiên, hãy xác định đĩa mà chúng ta muốn quét bằng lệnh lsblk để liệt kê các block devices:

sudo lsblk

Ví dụ về kết quả:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
└─sda1   8:1    0   100G  0 part /
sdb      8:16   0    20G  0 disk

Trong ví dụ này, đĩa chúng ta muốn quét là /dev/sdb, một đĩa có dung lượng 20GB.

Để thực hiện quét read-only không phá hủy dữ liệu, ta dùng lệnh sau:

sudo badblocks -v /dev/sdb

Lệnh này sẽ quét đĩa /dev/sdb để tìm bad blocks và hiển thị tiến trình quét.

Tùy chọn -v cho phép hiển thị chi tiết (verbose output) về quá trình quét.

Ví dụ về kết quả:

Checking blocks 0 to 41943039
Checking for bad blocks (read-only test)
Pass completed, 0 bad blocks found.

Kết quả cho thấy không tìm thấy bad blocks nào trên đĩa /dev/sdb.

Nếu quá trình quét tìm thấy bad blocks, bạn có thể dùng tùy chọn -o để lưu danh sách vào file:

sudo badblocks -v -o badblocks.txt /dev/sdb

Lệnh này sẽ lưu danh sách bad blocks vào file badblocks.txt trong thư mục hiện tại.

Sửa Chữa Bad Blocks Trên Ổ Đĩa

Ở bước trước, chúng ta đã tìm hiểu cách quét bad blocks trên ổ đĩa bằng lệnh badblocks. Bước này sẽ hướng dẫn cách sửa chữa các bad blocks trên ổ đĩa.

Để sửa chữa bad blocks, ta dùng lệnh e2fsck, một tiện ích kiểm tra và sửa chữa hệ thống tập tin ext2, ext3, và ext4. Dưới đây là cách sử dụng nó:

  1. Xác định loại hệ thống tập tin của ổ đĩa bạn muốn sửa chữa. Bạn có thể dùng lệnh lsblk để liệt kê các thiết bị khối và xác định loại hệ thống tập tin:

    sudo lsblk -f

    Ví dụ về kết quả:

    NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
    sda1   ext4         c4a1d8d1-c3d3-4d4f-a6b0-e0c8c6a6d8d7 /
    sdb

    Trong ví dụ này, ổ đĩa /dev/sdb không có hệ thống tập tin, nên không thể dùng e2fsck để sửa chữa.

  2. Nếu ổ đĩa có hệ thống tập tin ext2, ext3, hoặc ext4, bạn có thể dùng lệnh e2fsck để sửa chữa bad blocks:

    sudo e2fsck -c /dev/sdb

    Lệnh này sẽ quét ổ đĩa /dev/sdb để tìm bad blocks và đánh dấu chúng là không sử dụng được.

    Ví dụ về kết quả:

    e2fsck 1.46.2 (11-Nov-2022)
    Pass 1: Checking inodes, blocks, and sizes
    Checking for bad blocks (read-only test)
    Pass completed, 0 bad blocks found.

    Kết quả cho thấy lệnh e2fsck không tìm thấy bad blocks nào trên ổ đĩa /dev/sdb.

Nếu lệnh e2fsck tìm thấy bad blocks, nó sẽ đánh dấu chúng là không sử dụng được. Bạn có thể tiếp tục dùng ổ đĩa hoặc thay thế nếu số lượng bad blocks quá nhiều.

Kết luận cho linux badblocks command

Vậy là bạn đã nắm được cách sử dụng lệnh badblocks trong Linux rồi đấy! Hy vọng hướng dẫn này giúp bạn tự tin hơn trong việc kiểm tra và xử lý các bad sector trên ổ cứng của mình. Đừng quên sao lưu dữ liệu quan trọng trước khi thực hiện bất kỳ thao tác sửa chữa nào, phòng trường hợp xấu xảy ra nhé. Việc sử dụng linux badblocks command một cách cẩn thận sẽ giúp bạn bảo vệ dữ liệu và kéo dài tuổi thọ ổ cứng. Nếu bạn gặp bất kỳ vấn đề gì, hãy tìm kiếm thêm thông tin trên mạng hoặc tham khảo ý kiến của những người có kinh nghiệm. Chúc bạn thành công và luôn an toàn với dữ liệu của mình! Hãy nhớ rằng, phòng bệnh hơn chữa bệnh, kiểm tra định kỳ sẽ giúp bạn phát hiện sớm các vấn đề tiềm ẩn.

Last Updated : 16/10/2025