Move opensuse to the new disk: GRUB stuck, no prompt

Hi. I am trying to omve my opensuse completely to the new ssd disk.

I created the same partitions on new disk: root, swap and home (i don’t use separate /boot)
There are few differences between disk layouts:

  1. i created GPT partition table on the new disk (instead DOS partition table on old disk)
  2. i made root partition slightly bigger (30G vs old 25G)
    I hope this is not a cause of my problems. (can it be?)

Here is my parted output:


linux-xdi5:/home/u1 # parted -l
Model: ATA SAMSUNG HD204UI (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
 1      32.8kB  26.8GB  26.8GB  primary  ext4            boot, type=83
 2      26.8GB  35.4GB  8590MB  primary  linux-swap(v1)  type=82
 3      35.4GB  2000GB  1965GB  primary  ext4            type=83


Model: ATA SSD Smartbuy 60G (scsi)
Disk /dev/sdb: 60.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  30.0GB  30.0GB  ext4         root  bios_grub
 2      30.0GB  38.0GB  8001MB               swap
 3      38.0GB  60.0GB  22.0GB  ext4         home

/dev/sda is old disk and /dev/sdb is the new disk

i copied /dev/sda1 to /dev/sdb1 with “dd” and then followed this instructions: https://forums.opensuse.org/content.php/128-re-install-grub2-dvd-rescue.html:

The difference is that the instruction is written for live-CD, but i am using just my old disk to boot from to manipulate the new disk. (can it make any problems?)


mount /dev/sdb1 /mnt
mount --bind /dev /mnt/dev
chroot /mnt
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sdb

All this worked without error, but after reboot i get “GRUB” printed on the screen and nothing more. No grub prompt. (just like in this post: http://forums.opensuse.org/showthread.php/495283-Grub-doesn-t-start )
How can i fix this?
Or maybe anyone can point me to some other instruction on how to move an existing opensuse installation to the new disk?

Thanks

I’m surprised that there was no error message. But then, I have not tried what you did.

To install grub in the MBR of a GPT disk, you need to create a special partition, usually called a BIOS BOOT partition.

From a live boot (live rescue CD or live KDE or live Gnome), use gdisk to create that partition. It can go in the unused space that likely exists between sector 34 and sector 2047. Give it a type code of “ef02”. Then reinstall grub2.

I have done that on an external drive, and it worked just fine.

I’m not sure how to create that partition with “parted”. If you don’t have a live CD or live DVD available, then use the install DVD in rescue mode. Mount your system, and chroot into it. Then use the “gdisk” that was installed with the 13.1.

Hmm, I am assuming that you are using 13.1. If it is 12.3, then “gdisk” should be there, too.

Thank you. I really had to create separate partition and mark it as “bios_grub”. In my case i first marked my root partition as “bios_grub”, and grub2-install used this partition, corrupted filesystem on it, and report success. Despite the suceess during installation grub2 was unable to boot. Maybe because the filesystem got corrupted and it was unable to read grub config, i don’t really know.
I created separate small partition at the start of disk, before my root partition and marked it as “bios_grub”, after that was able to boot sucessfully

The file system on the /boot/efi partition must be FAT