8

Yesterday I removed some two tiny partions from the disk,today it won't boot. I opened my computer from USB now, but I can not install grub from chroot. I run sudo blkidand I noticed that my ubuntu installed partition moved from sda6 to sda5. First I ran sudo mount /dev/sda5 /mnt then sudo grub-install --root-directory=/mnt /dev/sda5 but I got the following error.

 /usr/sbin/grub-bios-setup: warning: File system `ext2' doesn't support embedding.
 /usr/sbin/grub-bios-setup: 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..
 /usr/sbin/grub-bios-setup: error: will not proceed with blocklists.

Would you please tell me what to do now?

8
  • 1
    which "tiny" partitions? did you remove /boot ? Feb 14, 2014 at 10:46
  • @adityapatil No, SDA6 partition that my Ubuntu installed still exists but its listed as SDA5 now
    – kenn
    Feb 14, 2014 at 10:49
  • 3
    With grub-install you need to reference /dev/sda instead of /dev/sda5 Feb 14, 2014 at 10:58
  • @user3121023 then I get sudo grub-install /dev/sda Path /boot/grub' is not readable by GRUB on boot. Installation is impossible. Aborting. `
    – kenn
    Feb 14, 2014 at 11:05
  • 1
    Try your earlier commands sudo mount /dev/sda5 /mnt and sudo grub-install --root-directory=/mnt /dev/sda but use /dev/sda with grub-install. Feb 14, 2014 at 11:12

2 Answers 2

3

EDIT:My problem stemmed from deleting a partition in my hard drive.

1) If you rebooted your machine and you stuck in grub menu then you can use a live DVD. After mounting your partition that your Ubuntu OS installed (in my case it switched from sda6 to sda5)

  sudo mount /dev/sda5 /mnt

  sudo grub-install --root-directory=/mnt /dev/sda

will fix the grub

2) If you delete a partition and you haven't rebooted it yet ( it won't boot since partition tables changed) then you can apply below guide to fix it. Prior to breakage of grub it was installed on SDA6 partition, since I deleted partitions, partition table entries got out of order, naturally it won't boot.

sudo fdisk -l to check out a message like partition table entries are not in disk order if you get that message to fix it; issue commands

sudo fdisk /dev/sda then enter x , f and finally w

what they do

 x (extra functionality - experts only)
 f (fix)
 w (write to disk and exit)

You may get a warning that devices are in use and the new table will be used at the next boot.

It should fix failing of grub at boot.

If you missed above step and you want to reinstall grub check out this link https://wiki.archlinux.org/index.php/GRUB#Install_to_partition_or_partitionless_disk

EDIT:

if you get a message like

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

no worries, it's just a warning message, just reboot your comp and your grub will be detected in the right partition.

Every time you alter partitions in your drive before shut down your comp, you must run sudo fdisk /dev/sda to fix partition tables otherwise you end up with missing grub in the next reboot

2
  • Why did you post this other answer? You said that "sudo grub-install /dev/sda" worked for you. I just had this issue and "sudo grub-install /dev/sda" worked for me. Please edit your answer so that it calls out this important bit of information. Sep 17, 2015 at 8:36
  • 1
    @JamesOltmans I edited my answer, I hope it gets clearer.
    – kenn
    Sep 17, 2015 at 10:09
0

Boot-Repair is a simple tool to repair frequent boot issues you may encounter in Ubuntu like when you can't boot Ubuntu after installing Windows or another Linux distribution, or when you can't boot Windows after installing Ubuntu, or when GRUB is not displayed anymore, some upgrade breaks GRUB, etc.

This according to Ubuntu community help, you can use the Boot-repair tool to restore your GRUB if you don't like to do it the terminal way.

Please read more here to learn how to use.

Not the answer you're looking for? Browse other questions tagged .