I'm transferring my linux system from a 1GB drive to a 4GB drive. It seems to have gone well for the most part, but I'm encountering an error upon booting from the new drive. First, some background on how I did the transfer.
First I created 3 partitions proportional in size to the three on the old drive: one for /boot, one for / and a swap. I then copied over the MBR from the old drive (hda) to the new drive (hdb): dd if=/dev/hda of=/dev/hdb bs=446 count=1. Then, I used dd again to copy each data partition separately. Finally, I used mkswap to initialize my swap space.
So I've got my new drive will all of the data and ready to boot. But when it boots up, it complains about an invalid superblock for the /boot partition (hda1). Since I copied everything over exactly, this is where the problem is coming from, but how can I set the superblock to something valid for the new sizes? Obviously I don't have a legitimate backup at 8193; I don't have a legitimate backup anywhere. Is there a way that I can create my own superblock from scratch and apply it? Any other solutions?
Thanks in advance.