I bought a new SSD and decided to migrate my Ubuntu(in HDD).
/dev/sda (SSD)
/dev/sdb (HDD)
Using a Live USB I created a partition in SSD and copy /dev/sdb2(which is /) to /dev/sda1 using rsync -a. After that I changed UUID entry(SSD) for / in /dev/sda1/etc/fstab.
I have an efi partition and I did the following steps for grub installation in SSD
sudo mount /dev/sda1 /mnt
sudo mount /dev/sdb1 /mnt/boot/efi
sudo grub-install --efi-directory=/mnt/boot/efi --root-directory=/mnt /dev/sda
Now problem is doesn't matter which HDD I choose for first boot, grub always mount my old HDD as /. I cannot mount SSD as /.