Ok here is a summary of what I did (just in case the link above breaks.
This worked like a champ.
I partitioned the new disk with the Partition Editor (GPARTED)
and then for each partition I copied the file to it.
I mounted each partition:
/mnt/root (root file system)
/mnt/boot (/boot)
/mnt/home (/home)
/mnt/var (guess!)
Code:
find / -xdev -print0 | cpio -pa0V /mnt/root
cd boot
find ./ -xdev -print0 | cpio -pa0V /mnt/boot
cd ../home
find ./ -xdev -print0 | cpio -pa0V /mnt/home
cd ../var
find ./ -xdev -print0 | cpio -pa0V /mnt/var
Then I CAREFULLY removed those directories from /mnt/root
Code:
cd /mnt/root
rm -rf boot
rm -rf var
rm -rf home
The next step is to make the disk bootable, we need to install GRUB and have it update the MBR of the new disk.
Code:
grub-install --root-directory=/mnt/boot /dev/sda
But I ended up with it just taking me to grub command line at boot time.
This was because it could not find menu.lst
From the grub command line the
Code:
find /boot/grub/menu.lst
failed, but
Code:
find /grub/menu.lst
Worked...
After searching, I found this example of fixing it:
here
Code:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done
grub> install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /grub/menu.lst
What is important note is changing
Code:
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
to
Code:
install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /grub/menu.lst
Note "/boot" was removed
I hope this helps others
tom
Bookmarks