[ILUG] harddisk swap
Cian Cullinan
cian at medialabeurope.org
Fri Apr 30 19:17:26 IST 2004
Well the swap is done and dusted now, thanks for everyone who replied. I feel
like I've learned a lot from this whole experience, especially (as usual)
from all the mistakes/problems I had along the way[0].
Just to wrap things up, here's what I ended up doing:
1) Booted into rescue mode from a Fedora CD.
2) Partitioned new drive (/dev/sda) with fdisk
3) Ran mkfs.ext3 on all partitions except swap, ran mkswap on that.
4) Mounted old /dev/hda read-only and copied the partitions over one-by-one
using cp. Got a couple of errors from /var/ and /dev, but nothing serious.
5) chroot'd[1] to new disk
6) Ran "grub-install /dev/sda" [2]
6) Recompiled kernel to include SCSI in the kernel, NOT as a module[3]
7) Edited /etc/grub.conf and /etc/fstab
8) Rebooted to a new system
Ta-da!!
The things that caused me the most trouble were the fact that I was going from
an IDE disk-> SCSI, and that I wanted to use a different partition table on
the new disk, instead of the monolithic partition I had on the old one.
Anyway, cheers again to everyone,
Cian
[0] This is an extremely cleaned up version of what happened. In reality there
was much more scratching of the head, reading docs, rebooting and swearing.
[1] Thanks to Paul Kelly for this, chroot was the perfect solution.
[2] I tried the old "dd if=/dev/hda of=/dev/sda bs=512 count=1" and failed.
HOWEVER I'm now pretty sure it was my fault. I decided to use a bs=446 after
half-reading some documentation. Apparently 446 is the length of the boot
code, 64 is the length of partition table, and finally there's a boot code
signature 2 bytes long. At the time I didn't know about the signature bytes
and thought I could save my partition table by just dd'ing the first 446
bytes, this didn't work for me.
[3] Funny, I thought I could get away with leaving the kernel as it was, and
just rebuilding the initrd image with mkinitrd to include the SCSI modules,
but I couldn't get it to work, kept getting "pivot_root" errors, until I just
said feck it and compiled the necessary modules straight into the kernel.
More information about the ILUG
mailing list