No specific code

RAID Rebuild Stuck on Unreadable Sector – Fixed

Hardware – Hard Drives Intermediate 👁 11 views 📅 Jun 23, 2026

Your RAID rebuild fails because of a bad sector on a drive. Start with a simple check, then try a sector remap, and if that fails, rebuild with a spare drive.

Why Your RAID Rebuild Fails

You're rebuilding a RAID 5 or RAID 10 array. It gets to 80% or 90% and stops. The controller logs show an "unreadable sector" on one of the drives. This is a classic problem. The culprit is almost always a single bad sector on a drive that the rebuild can't read past. Don't panic. You can fix this without losing data.

Step 1: The 30-Second Check

Before you do anything else, check if the drive is just slow or actually dead. Run the controller's quick health check. Most RAID cards (like LSI or Dell PERC) have a command to scan the drive for pending errors. Do this:

# For LSI/3ware controllers:
tw_cli /c0 show drivestatus

Look for a drive that shows "Media Error" or "Uncorrectable Sector Count". If you see a drive with more than 10 errors, it's failing. Replace it now. If you see only 1 or 2 errors, move to Step 2. This check takes 30 seconds and saves you hours of wasted rebuild attempts.

Step 2: Remap the Bad Sector (5 Minutes)

Here's the real fix for a single bad sector. You need to force the drive to remap it. Most RAID controllers can do this during a rebuild or a consistency check. But the fastest way is to use a live Linux USB to write zeros to that sector on the failing drive.

  1. Boot from a Linux live USB (Ubuntu works fine).
  2. Identify the drive with the bad sector. Use fdisk -l to find it. It's usually /dev/sdb or /dev/sdc.
  3. Run a bad block scan with read-only test: sudo badblocks -sv -b 512 /dev/sdb – this finds the exact LBA of the bad sector.
  4. Once you know the LBA (like LBA 12345678), write zeros to that sector: sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=12345678
  5. Reboot back into your RAID system. Start the rebuild again.

Writing zeros forces the drive to reallocate that sector. It's worked for me on dozens of Seagate and WD drives. Don't bother running a full badblocks write test – that takes hours. Just target the single sector.

Step 3: Rebuild With a Spare Drive (15+ Minutes)

If the remap didn't work, or you have multiple bad sectors, you need a different approach. The drive is dying. Replace it. But here's the trick: you can't just pull the drive and insert a new one, because the rebuild will fail on the same sector. Instead, clone the failing drive first.

  1. Get a spare drive of the same size (or larger).
  2. Use ddrescue to clone the failing drive to the spare. This tool reads around bad sectors. Run: sudo ddrescue -d -r3 /dev/sdb /dev/sdc /tmp/rescue.log
  3. This command tries to read the bad sector three times. If it fails, it skips it and logs the error. The clone will have a gap at that sector, but the RAID controller can handle that.
  4. Now remove the failing drive from the array and replace it with the cloned spare. Start the rebuild.
  5. After the rebuild finishes, run a consistency check. This verifies parity data. If the array checks out, you're done.

I've used this method on RAID 5 arrays with 4 drives and RAID 10 with 6 drives. It works. The only downside is you need an extra drive for the clone. But it saves your data.

What NOT to Do

Don't try to force the rebuild by ignoring errors. That can corrupt the array. Don't run a full surface scan on the failing drive – it'll take days and might kill the drive completely. And don't use third-party data recovery software on the array – it's rarely needed and can mess up the parity.

When to Call It Quits

If you see more than 10 bad sectors on a drive, or the drive starts clicking, stop. Replace it. Your data isn't lost, but the drive is. Use your backup to rebuild the whole array. You do have a backup, right? If not, now you know why I always say RAID is not a backup.

Was this solution helpful?