If you plan to move system with working Dropbox synchronization, please take a look at the notes below. TL;DR You have to use UUID from source partition.
Copy the partition to new drive
- Run Live distro with gparted. It is recommended that the user boots a LiveCD of the same release (11.10, 12.04, etc) as the release to be repaired
- Copy Ubuntu partition to new ssd disk
- Set boot flag
- Create new UUID for new partition (gparted created new partition with old source-UUID) from Disks app or
- Copy new UUID outside (nas f.e.)
- SWAP – do not forget about SWAP partition!
- Reboot to regular, old Ubuntu
In my case I have 3 disks connected to SATA ports. New SSD disk is connected to SATA6 port
System boot priority is set to
hd1. There are installed GRUB and my Ubuntu installation (
sdc1, create new UUID for new one in Disks app or by
tune2fs -U random /dev/sdc1 and finally created swap
Now I have started Ubuntu from
sdb2 and mount copied partition
/dev/sdc1 from Disks app. Then mounted it at
Edit configuration files for the destination Ubuntu (@sdc)
UUID’s (I have shortened UUID’s to improve readability):
old: da519609... new: 54079198...
Important: I changed it globally, because I have only one system partition on
hd1 disk. Take care.
# Change hd1 sudo sed -i -- 's/hd1/hd2/g' /media/loop/54079198.../boot/grub/grub.cfg # Change UUID's sudo sed -i -- 's/da519609.../54079198.../g' /media/loop/54079198.../boot/grub/grub.cfg # ... or do the same with $EDITOR sudo vim /media/loop/54079198.../boot/grub/grub.cfg
sudo sed -i -- 's/da519609.../54079198.../g' /media/loop/54079198.../etc/fstab
Backup MBR and GPT data
sudo dd if=/dev/sdb of=~/sdb.img bs=1 count=512 sudo dd if=/dev/sdc of=~/sdc.img bs=1 count=512
Install GRUB on new disk
sudo grub-install --boot-directory=/media/loop/54079198.../boot /dev/sdc # Installing for i386-pc platform. # grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible. # grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged.. # grub-install: error: will not proceed with blocklists.
FAILED! New disk is based on GPT
A small partition has to be created on the disk and marked as a code EF02 "BIOS boot partition" Remove swap partition and do it.
sudo gdisk /dev/sdc # n, enter (first free sector), +200M, ef02, # n, enter, enter, 8200, p, w # 2 451041280 451450879 200.0 MiB EF02 BIOS boot partition sudo partprobe /dev/sdc # Added SWAP once more again too
Install Grub again
sudo grub-install --boot-directory=/media/loop/54079198.../boot /dev/sdc # Installing for i386-pc platform. # Installation finished. No error reported.
Restart and boot from
It works. Almost.
Dropbox installation sees that a new machine is trying to connect. I’ll try to use old UUID on new partition (don’t do that, see solution below):
Restart with Live Ubuntu
uuidgen 98700f7b... sudo tune2fs -U 98700f7b... /dev/sdb2 sudo tune2fs -U da519609... /dev/sdc1 # Mount destination partition and change UUID's ubuntu@ubuntu:~$ sudo sed -i -- 's/54079198.../da519609.../g' /media/ubuntu/da519609.../boot/grub/grub.cfg ubuntu@ubuntu:~$ sudo sed -i -- 's/54079198.../da519609.../g' /media/ubuntu/da519609.../etc/fstab # I think grub install with new UUID could be a good shot (I'm not sure if it's necessary, but...) sudo grub-install --boot-directory=/media/ubuntu/da519609.../boot /dev/sdc
It’s not working… 🙁
Solution for Ubuntu with Dropbox sync
Start Live distro once more
- Restore original UUID to source partition
- Remove destination partition
- Copy partition with UUID in gparted
- Set boot flag on destination
- New UUID to source partition
- Grub was installed earlier, if not:
sudo grub-install --boot-directory=/media/ubuntu/da519609.../boot /dev/sdc
- Reboot to new partition
- IT WORKS!!! Dropbox sync properly.