dd to clone disks - new disk fails to boot.

Modulok modulok at gmail.com
Wed Oct 20 11:43:24 UTC 2010


Problem: I copied from an old hard drive to a new one via FreeBSD's
dd. The new drive won't boot. The old drive worked fine. (The new
drive is known-to-work.)

Background: I have a system with a 160GB disk in it. It runs windows.
It works. I have a blank 250GB disk. I want to copy the entire 160GB
disk onto the 250GB disk, shuffle the SATA cables and boot to it.
Basically, I'm just replacing the small hard drive with a larger one.
I would then extend the partition using something like gpartd.

I booted to a live FreeBSD disk and used dd like so:

    dd if=/dev/ad4 of=/dev/ad8 bs=1m

About an hour later it finished. No errors. I turned the machine off,
unplugged the small disk and connected the big disk into the primary
SATA header. The BIOS chokes on the new disk. It refuses to boot from
it and instead reports 'disk error'. This is bogus because the new big
disk is physically known-to-work. In theory it should be an exact copy
of all of the data that was on the old, small disk. I thought a dd
from one disk to another would be all that was needed. I've done this
before, but only with near identical hard drive models and it worked.
What gives? Is there some kind of partition (aka 'slice' in FreeBSD
terms) table or CHS/LBA black magic going on?

Any ideas? Thanks.
-Modulok-


More information about the freebsd-questions mailing list