Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

This question already has an answer here:

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 blkid I noticed that my ubuntu installed partition moved from sda6 to sda5. First I run sudo mount /dev/sda5 /mnt then sudo grub-install --root-directory=/mnt /dev/sda5 but I get 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?

share|improve this question

marked as duplicate by Mitch Jul 25 at 0:12

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
which "tiny" partitions? did you remove /boot ? –  Registered User Feb 14 at 10:46
    
@adityapatil No, SDA6 partition that my Ubuntu installed still exists but its listed as SDA5 now –  kenn Feb 14 at 10:49
    
With grub-install you need to reference /dev/sda instead of /dev/sda5 –  user3121023 Feb 14 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 at 11:05
    
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. –  user3121023 Feb 14 at 11:12

2 Answers 2

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.

share|improve this answer
up vote 0 down vote accepted

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.

Here is how I fixed it: 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

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.