[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: About that "copying disks" thread and dd

How do Mikkel,

On Thu, 2007-09-06 at 13:44 -0500, Mikkel L. Ellertson wrote:
> Paul Johnson wrote:
> > 
> > I think it is probably better for us non-experts to rely on higher
> > level tools than dd when they do this.  There is less danger of human
> > error. I see many people recommending "partimage" for this job, but it
> > appears that is not in Fedora's distribution, and that makes me think
> > it is somehow untrustworthy or dangerous.
> > 
> > After copying disks 15 times, testing various methods, I think the
> > best approaches I've found are
> > 
> > 1. If two disks are Identical (same brand, same number of sectors,
> > cylinders, and all those other things I don't understand very well),
> > then the best way to get an exact copy is to run "g4u", which is a
> > program that you install on a bootable CDR and its "copydisk" command
> > produces an exact byte-for-byte copy of the whole disk, including the
> > MBR, partition table, etc.  For all I know, it may be using dd under
> > the hood, but the "copydisk" command takes the human error out of the
> > equation.  It gets the boot sector and everything.  g4u is about the
> > best documented piece of free software I've found.  (The best is CVS,
> > by far!)
> > 
> > 2. If two disks are not identical, be more cautious.
> > 
> > In the future, here is how I'm going to copy content from 1 disk to
> > the other of a different type/size.  Boot the system and make sure
> > both disks are recognized by the OS.  Use gparted to study the
> > partition table on the source disk, and then on the target disk, use
> > gparted to create partitons that are AT LEAST AS BIG as the originals.
> > 
> > Then copy the content from one to the other.  You can use the
> > equivalent of dd in gparted--it has a menu driven approach too copy
> > one partition to another, and you can apply that one partition at a
> > time.  You can use dd in a terminal if you want, of course.  Using the
> > gparted or dd to copy the content is slow because it copies everything
> > bit by bit, including the empty parts of the disks.
> > 
> > There are many ways to just copy the files from one system to another.
> >  These will be faster than dd.  Old school Unix people recommend using
> > tar or cpio for things like that.  For me, this has always worked:
> > Mount the 2 partitions, and then run "find /original -xdev | cpio
> > -padm /target ".   New kids seem to feel comfortable with "cp -Ra".
> > Some people recommend avoiding copying the system-created partitions
> > like /proc, and /sys when making this copy, but I don't think it is
> > really necessary because a re-boot wipes those out anyway and builds
> > new ones.
> > 
> > If your target disk is not as big as the source, you should not use dd
> > or gparted to copy the content anyway, and so you have to copy the
> > content with tar or such.
> > 
> > After you copy the partitions over, then you need to do 2 things
> > manually.   First, use e2label to check the labels on each partition
> > of the first disk and then use e2label to write the same labels on the
> > target disk.  If you don't do that, chances are the system will not
> > boot because Fedora uses labels to find partitions. Note that e2label
> > does not work on swap disks, and one must use mkswap with the -L
> > option to set a label on a swap partition.   Second, run grub to
> > re-write the mbr on the target disk.
> > 
> > This has been a humbling experience.  If anybody does come with with a
> > step by step fool proof way to make this work, I would be really glad
> > to hear it.
> > 
> > PJ
> Unless you have a good reason for it, dd is not the right tool to
> copy a partition from one disk to another. You are much better off
> using a tool like parted, or one of the GUI interfaces for it. This
> is because parted understands about file systems. This has several
> benefits - you only copy the part of the file system that is in use.
> For example, if you have a 40G partition, and only 10G is used, then
> you only have to copy 10G, where you have to copy all 30G with dd.
> You can also copy to a different size partition. It wil adjust the
> file system to the new size. (You must have room for the all the
> data on the source partition.)
> The drawback is that it can only copy partitions with a file system
> that it understands, and it can have problems with file systems that
> have errors on them.
> In any case, when you are coping a disk, unless you are coping to an
> identical disk with dd, and coping the entire disk - MBR and all,
> you are going to have to re-install grub on the new disk. This is
> because of the way the grub first stage works. The first stage only
> know how to load the next stage, and it has the physical location of
> what it has to load stored as part of the first stage boot loader.
> With most coping methods, the second stage  is not going to be at
> the same place on the disk as it was on the original drive.
> I find that using a tool like the System Rescue CD works well for
> this type of job. You boot from it first to copy the disk. Then you
> boot from it again after you have the disk in the new system to
> re-install grub. You can re-install grub while the disk is still in
> the old system, but this is harder for a new user. You can also use
> the Fedora install disk in the rescue mode to do the grub re-install.
> http://www.sysresccd.org/
> Now, if you are using LVM, it gets much harder to do the copy. It
> can be done, but as of yet, the tools are for experts. It would be
> nice to have a LVM aware version of parted.

Have a look at Clonezilla/Clonezilla Live CD www.clonezilla.org
It's LVM2 aware but not LVM1 ;-)

> Mikkel
> -- 


Lexington, Kentucky U.S.A.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]