DD not working--SUCCESS!

Jacques B. jjrboucher at gmail.com
Fri Aug 31 14:50:03 UTC 2007


>     Hi Jacques, I used the drive I was cloning. That way I could keep
> using the Internet and write things.
A live CD such as Knoppix or Helix or many other such distros would
allow you to do the same (especially easy if you have your router
authenticating for your cable/DSL connection with DHCP activated on
it).

>
> >  If you booted from the hard drive and then
> > cloned it while booted from it that would explain some of the quirky
> > issues you may have faced afterwards.
>     I do not think that is true. Most of the quirky issues were the
> result of my stupidity. And they were expected results if you understood.
>

Doing a dd of a live, running system is a potential problem.  Your
system is in constant state of change.  Granted if you are doing
nothing else with the system at the time and booted in run level 3 you
minimize this impact.  But in an X Windows environment with applets
running in the background chances are something is always happening in
the back ground, some of which could cause writes to the hard drive
(especially where you mentioned you wanted Internet access to keep
writing things and such - lots of disk activity resulting from that).
Imagine when you start the copy and dd reads the partition
information, the superblock, and inode table near the beginning of the
drive and writes it to the new drive.  Part way through the process
writes take place on the source drive thereby potentially altering
superblock information, block groups, and inodes.

I haven't looked at file system stuff in about 6 months and I'm not
the primary resource for that topic so I'm not fluent enough to fully
explain the issues.  But I do know enough about it to know imaging a
live system could cause (and likely will cause) issues.

It is far safer to boot from a live CD without either drives mounted
(only connected) and then dd from one to the other.

> >  Because the clone would be of a
> > running system.  So booting from it would be comparable to booting
> > from a system that crashed (I'm making an educated guess at that one).
> >
>     Not a good guess. To use DD you need a computer with dd and a fast
> cpu. I did top while dd was working and it was taking 70% of the cpu's
> time :-P
>

dd is a standard binary on any Linux distros I've ever known.  So
you'd have access to dd with any of the mainstream live CDs out there
(perhaps some very specific ones may exclude it but that would be the
exception rather than the rule).  In the event you hit one that didn't
have it (very unlikely) you could either download one that does
(Knoppix, Helix, Slax, Phlax, and if I dig through my material I could
find many other live CDs that have dd) or download and install dd in
the live environment (again - very unlikely it would come to that).

dd will use lots of CPU time.  There are a number of bottle necks in
the process - hard drive speed, motherboard/hard drive controller,
cables, available RAM, and no doubt a number of others.  The CPU is
not likely your bottle neck.  Chances are it's the reading & writing
to the hard drive.  So dd would not need 100% of CPU if it fills up
the RAM quicker than it can read/write.  How much CPU time dd uses
will vary from scenario to scenario (all factors noted previously and
many others being considered).  Running it off a live CD would impact
its performance seeing you are using some of the RAM for the live CD.
But the stability it affords you vs doing it on a live system is worth
it.

When you were mentioning rescue CD I was under the impression you were
doing it from that environment.  Or you were booting from a different
machine where you had your source and target connected (and not
mounted).  Where I've always done such tasks from a live CD
environment or with another box depending on my situation I
incorrectly assumed that others would automatically do likewise.

My advice is to boot from a live CD with both drives connected (not
mounted - don't need to be mounted - actually greater assurance of
integrity if not mounted).  dd the source drive onto the target drive.
 Then remove the source drive and boot with the target drive only
(remember that initially they will be master/slave unless you put them
on two different IDE chains so you will have to then ensure that your
new drive is master or cable select and at the end of the IDE ribbon
cable - I'm assuming you have PATA and not SATA drives).  It will boot
just like the original because it will be an exact copy of the
original.  If you want both drives connected at the same time then you
will have to change the label on one of them.  You can do that from
the live CD environment after dd is finished, or you can do it after
rebooting with the single drive and changing the label on that drive,
shutting down, and then connecting the other and rebooting with both
drives now having unique labels.

Jacques B.




More information about the users mailing list