Grub fix linux boot
MBR and/or grub config broken
Easiest and quickest way to just fix it if either is a problem is using a LiveCD from the OS
- Boot into LiveCD of Ubuntu, if you are fixing a 64bit system use a 64bit live CD otherwise chroot wont work.
- sda = drive to fix
- sdb4 = boot partition on drive to fix
- Check 4th partition is marked active with fdisk in this example.
sudo fdisk -l /dev/sda sudo mkdir -p /mnt/a sudo mount /dev/sda4 /mnt/a sudo mount -o bind /dev /mnt/a/dev sudo mount -o bind /sys /mnt/a/sys sudo mount -o bind /proc /mnt/a/proc sudo chroot /mnt/a grub-install /dev/sda update-grub
BTFRS additional notes
- If it is BTFRS change "sudo mount /dev/sda4 /mnt/a" to "sudo mount -o subvol=@ /dev/sda4 /mnt/a"
- You also need a partition starting at 1Mb , not sector 63, else grub won't fit.
Test grub Fix Run through
Should see something like
ubuntu@ubuntu:~$ sudo fdisk -l /dev/sda Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0001f875 Device Boot Start End Blocks Id System /dev/sda1 63 102398309 51199123+ 7 HPFS/NTFS/exFAT /dev/sda2 102398310 266245244 81923467+ 7 HPFS/NTFS/exFAT /dev/sda4 * 348168192 488396799 70114304 83 Linux ubuntu@ubuntu:~$ sudo mkdir -p /mnt/a ubuntu@ubuntu:~$ sudo mount /dev/sda4 /mnt/a ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/a/dev ubuntu@ubuntu:~$ sudo mount -o bind /sys /mnt/a/sys ubuntu@ubuntu:~$ sudo mount -o bind /proc /mnt/a/proc ubuntu@ubuntu:~$ sudo chroot /mnt/a root@ubuntu:/# grub-install /dev/sda Installation finished. No error reported. root@ubuntu:/# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-29-generic Found initrd image: /boot/initrd.img-3.2.0-29-generic Found linux image: /boot/vmlinuz-3.0.0-24-generic Found initrd image: /boot/initrd.img-3.0.0-24-generic Found linux image: /boot/vmlinuz-2.6.38-10-generic Found initrd image: /boot/initrd.img-2.6.38-10-generic Found linux image: /boot/vmlinuz-2.6.38-8-generic Found initrd image: /boot/initrd.img-2.6.38-8-generic Found linux image: /boot/vmlinuz-2.6.35-28-generic Found initrd image: /boot/initrd.img-2.6.35-28-generic Found linux image: /boot/vmlinuz-2.6.32-28-generic Found initrd image: /boot/initrd.img-2.6.32-28-generic Found memtest86+ image: /boot/memtest86+.bin Found Microsoft Windows XP Professional on /dev/sda1 Found Windows 7 (loader) on /dev/sda2 done root@ubuntu:/#