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ó:
-
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 -fVí dụ về kết quả:
NAME FSTYPE LABEL UUID MOUNTPOINT sda1 ext4 c4a1d8d1-c3d3-4d4f-a6b0-e0c8c6a6d8d7 / sdbTrong ví dụ này, ổ đĩa
/dev/sdbkhông có hệ thống tập tin, nên không thể dùnge2fsckđể sửa chữa. -
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/sdbLệ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
e2fsckkhô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.