Everyone has a flash drive. They’re great little things, and they make safeguarding data easy. However, sometimes flash drives can get corrupted or just flat out quit working. If you’re a Linux user and this has happened to you, there’s an easy fix to all of this. In this article we’ll go over a few really simple tricks on how you can get your flash drive back in working order.
Note: the tricks outlined in this article aren’t necessarily exclusive to USB drives and can be used on hard drives too.
Removing bad blocks from the USB drive with fsck
An easy way to repair a flash drive, or any drive really, is to use the
fsck tool. This tool is great for removing bad file blocks, as most (if not all) corruption and unreadability comes from problems like this. To remove the corrupted file blocks from the USB flash drive, open a terminal window and enter the following commands.
Users must figure out what the drive designation is on the system before things can move forward. Do this by entering the
lsblk command. This will list all of the attached disks on your system.
lsblk command lists all disks, not just USB drives. Pay close attention to the output, as it is easy to mistake a hard drive for a flash drive.
To remove the bad file block, run the
fsck command on either a specific partition (e.g. /dev/sdc1), or the entire disk (e.g. /dev/sdc). Once completed, the USB drive will have a healthy partition again and be fully operational on Linux.
sudo fsck /dev/sdc1
Note: this tutorial assumes that the flash drive is /dev/sdc (or /dev/sdc1). Users may have different labels for their flash drive on their system.
Zeroing the USB drive
Sometimes a USB drive can be totally unreadable to the point where it is no longer worth saving. When this happens the best route is often to just zero out the data and start over. The best tool for the job in this situation is
dd, and it works quite well.
Start by taking the drive label that was found earlier with the
lsblk command, and apply the same logic (remember that /dev/sdc1 is a partition, and /dev/sdc is an entire device).
sudo dd if=/dev/zero of=/dev/sdc
Making a new file system
Zeroing a USB drive (or any device for that matter) renders the data on it totally useless. This means that you’ll need to create a new data partition. Choose a file system, and then run the command!
sudo mkfs.msdos -f 32 /dev/sdc1
sudo mkfs.ext4 -f /dev/sdc1
sudo mkfs.ntfs -f /dev/sdc1
USB flash drives are useful devices. They make it easy for people to easily transfer data from one computer to the other, regardless of the operating system it’s running. That’s why it’s so important to know what to do when the drive is no longer accessible. Luckily, Linux ships with some really useful tools that make saving a flash drive quite easy.
Image credit: CES Thumb-Drive Style Press Kits