OT: (a bit) copying WINDOZE (or any other disks)
Laurence Orchard
laurence at orchards.org.uk
Thu Dec 23 23:34:53 UTC 2004
On Thu, 2004-12-23 at 13:41 -0600, Aleksandar Milivojevic wrote:
> Laurence Orchard wrote:
> >>What's the recommended process to create an exact duplicate (boot sector
> >>and all) of a hard drive? Is it really as simple as:
> >> cat /dev/hda > /dev/hdb
> >
> > In answer to the question, I would partition the new drive,
> > then use
> >
> > dd if=/dev/<old-drive> of=/dev/<new-drive>
>
> Which would overwrite the partition table, so why bother to partition
> the drive in the first place?
>
ok perhaps to clarify!
dd if=/dev/hda1 of=/dev/hdb1
Copy partition at a time if there is more than one.
> Anyhow, using dd is better solution than using cat. One dd option to
> check (which might speed up things) is bs=n. By default it is 512 (one
> disk block), so dd will read 512 bytes at a time. Using bs=8192 should
> make things faster (this way dd will read/write 16 disk blocks in single
> system call). Just make sure size of the disk is multiple of whatever
> you use for bs (otherwise you might get error on last read), and that
> argument for bs is multiple of 512 bytes (disk blocks are 512 bytes long).
>
> I'm not sure how happy the system will be if disk geometries are not the
> same (if you simply copy partition table using dd). Try something along
> the lines "dd if=/dev/hda of=/dev/hdb count=1" (this will copy just the
> MBR, which contains partition table), and than "fdisk /dev/hdb". See if
> it will complain, and if partition sizes look right.
>
> If not, partition the drive manually, and use dd to copy individual
> partitions instead (dd if=/dev/hda1 of=/dev/hdb1 bs=n)...
>
err, this is what I meant! sorry if I confused
> Warning: when you copy over MBR (effectively repartitioning the disk),
> the kernel will not be aware of the new partition table. This is
> because kernel will read it at startup and will chache it. Quick
> workaround is to do "fdisk /dev/hdb", and exit from it using "w"
> command. fdisk reads partition table from the disk (not from the
> kernel), and when it writes it out, it calls ioctl that instructs the
> kernel to reread it. After that, you should be able to test-mount new disk.
>
> --
> Aleksandar Milivojevic <amilivojevic at pbl.ca> Pollard Banknote Limited
> Systems Administrator 1499 Buffalo Place
> Tel: (204) 474-2323 ext 276 Winnipeg, MB R3T 1L7
--
More information about the fedora-list
mailing list