N.B.: architecture of original system and rescue system must be the same (64bit - 64bit resp. 32bit - 32bit)
1. Format the new drive and partition as wanted for root file system (/) and swap and more partitions
2. Boot from a rescue system (USB-stick with comfortable live system or OpenSUSE install media in rescue mode)
3. Mount old and new disk
4. Copy the content of the old disks partitions to the new partitions (cp -avf /mnt/old_disk/* /mnt/new_disk
)
5. Disconnect old drive, reboot with the Rescue system as above (openSUSE).
6. Determine new disk id (/dev/disk/by-id
)
7. mkdir /mnt/new
8. mount /dev/sdxY /mnt/new
# where /sdxY
is the /
for the new disk
9. mount -t proc none /mnt/new/proc
10. mount –rbind /sys /mnt/new/sys
11. mount –rbind /dev /mnt/new/dev
12. chroot /mnt/new /bin/bash
…root should now be the new disk root
11. Modify /etc/fstab to reflect new disk id for /
and swap
and the other copied partitions with the new disk-id from above
12. Modify /etc/default/grub to reflect new disk-id in the GRUB_CMDLINE_LINUX_DEFAULT
entry (if /etc/grub exists)
13. Modify /etc/default/grub_installdevice to reflect new disk-id
14. Modify /boot/grub2/device.map to reflect new disk-id
15. grub2-mkconfig -o /boot/grub2/grub.cfg
16. grub2-install /dev/sdx
(this installs grub2 to the new disk mbr)
17. exit
18. reboot
….in BIOS, set boot to the new drive if necessary
You should get to the Grub boot menu now and the options should work as before.