How to detect bad sectors and blocks on your hard drive on Linux
Let’s start with the definition of bad sectors and bad blocks. They are parts of a disk or flash memory that can no longer be read or written, usually due to specific physical damage to the disk surface or failure of the flash memory transistors.
As bad sectors continue to accumulate, they can have unpleasant or damaging effects on your disk or flash memory capacity, and may even cause hardware failure.
At the same time, it is also important to note that the presence of bad blocks is a warning that you should start thinking about buying a new disk, or simply mark the bad blocks as unusable.
So, in this article, we go through a few necessary steps to use a specific disk scanning tool to enable you to determine whether a Linux disk or flash memory has bad sectors.
Here are the steps:
Use the Bad Block Tool to check for bad sectors on Linux
The Bad Block Tool allows users to scan the device to check for bad sectors or blocks. The device can be a disk or external disk and is represented by a file such as /dev/sdc.
First, execute the fdisk command with superuser privileges to display the information of all your disks or flash drives and their partition information:
$ sudo fdisk -l
List Linux file system partitions
Then check you with the following command Bad sectors/bad blocks on the Linux hard disk:
$ sudo badblocks -v /dev/sda10 > badsectors.txt
Scan the hard disk for bad sectors on Linux
In the above command, badblocks scans the device /dev/sda10 (remember to specify your actual device), The -v option causes it to display details of the operation. In addition, output redirection is used here to redirect the operation results to the file badsectors.txt.
If you find any bad sectors on your disk, unmount the disk and tell the system not to write data to the reported sectors as below.
You need to execute the e2fsck (for ext2/ext3/ext4 file system) or fsck command. The badsectors.txt file and device file are also required in the command.
The -l option tells the command to add the sector numbers listed in the specified file badsectors.txt to the bad block list.
------------ 针对 for ext2/ext3/ext4 文件系统 ------------ $ sudo e2fsck -l badsectors.txt /dev/sda10 或 ------------ 针对其它文件系统 ------------ $ sudo fsck -l badsectors.txt /dev/sda10
Use Smartmontools tool to scan for bad sectors on Linux
This method is suitable for modern disks (ATA/SATA and SCSI/SAS hard drives with S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) system) and solid-state drives) are more reliable and efficient. S.M.A.R.T systems can help detect, report, and possibly record their health so you can identify any possible hardware failures.
You can install smartmontools using the following command:
------------ 在基于 Debian/Ubuntu 的系统上 ------------ $ sudo apt-get install smartmontools ------------ 在基于 RHEL/CentOS 的系统上 ------------ $ sudo yum install smartmontools
After the installation is complete, use smartctl to control the disk-integrated S.M.A.R.T system. You can view its manual or help like this:
$ man smartctl$ smartctl -h
Then execute the smartctrl command and specify your device as a parameter in the command. The following command includes the parameter -H or --health to display the SMART overall health self-assessment test results.
$ sudo smartctl -H /dev/sda10
Check Linux hard drive health
The above results indicate that your hard drive is healthy and hardware failure is unlikely to occur in the near future.
To get an overview of disk information, use the -a or --all option to display all SMART information about the disk, and -x or --xall to display all SMART information about the disk as well as non-SMART information.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.

Visual Studio Code (VSCode) is a cross-platform, open source and free code editor developed by Microsoft. It is known for its lightweight, scalability and support for a wide range of programming languages. To install VSCode, please visit the official website to download and run the installer. When using VSCode, you can create new projects, edit code, debug code, navigate projects, expand VSCode, and manage settings. VSCode is available for Windows, macOS, and Linux, supports multiple programming languages and provides various extensions through Marketplace. Its advantages include lightweight, scalability, extensive language support, rich features and version

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.
