Linux – Use `dd` linux program to save / recover a disk’s MBR

ddlinuxmbr

I have an Ubuntu OS installed on my laptop. I want to install Windows 7 as well to another disk partition (I will do it by recovering it from a special partition on my laptop).

After installing Windows, I want to recover my hard drive MBR to be able to load Ubuntu. I have a plan to use linux dd program:

1) (Before installing, perform this command in Linux)
dd if=/dev/sda of=/home/user/mbr_backup bs=512 count=1

2) (after installing, load Ubuntu Live CD and launch this)
dd if=/home/user/mbr_backup of=/dev/sda bs=512 count=1

3) Load Ubuntu on PC and re-configure the GRUB2 to be able start Windows

I need your advice, I want to be sure I won't damage the disk (it's partition table).

Best Answer

You are correct that the first 512 bytes of the drive contains the MBR and your method will restore it to the previous state but that is probably not the best course of action. Ubuntu should leave your MBR intact. As long as the partition table is still good and you can still see your partitions, just install grub as a bootloader. If you are using a modern Ubuntu version than you will probably have grub 2 which is great, it automatically detects Windows partitions and adds them to your grub list. Just run update-grub2. If you didn't install a boot loader with Ubuntu it might be a bit harder. Something like this would help.

Related Question