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.

After installing the latest updates it appears that the new version of the kernel which was installed (3.8.0-29) will not boot properly.

Whenever I try to boot using this new kernel, I get an error message indicating that there was an error mounting /boot/efi.

This only happens with this new kernel, as starting up with the older kernel versions works fine.

In case this helps, I have a laptop with UEFI, and I dual boot Ubuntu 13.04 and Windows 8.

Edit: I tried everything in Rod Smith's answer but I am still having the issue

The exact error message is:

An error occurred while mounting /boot/efi.

Press S to skip mounting or M for manual recovery

Pressing S just brings me to a terminal login screen, while pressing M brings me to a recovery terminal.

Here are the the results of the commands you asked me to run:

$ grep efi /etc/fstab
# /boot/efi was on /dev/sda2 during installation
UUID=F433-DF4C  /boot/efi       vfat    defaults        0       1

$ sudo blkid
/dev/sda1: LABEL="WINRE_DRV" UUID="4A46311E46310C67" TYPE="ntfs" 
/dev/sda2: LABEL="SYSTEM_DRV" UUID="F433-DF4C" TYPE="vfat" 
/dev/sda3: LABEL="LRS_ESP" UUID="5034-7FB2" TYPE="vfat" 
/dev/sda5: LABEL="Windows8_OS" UUID="989E38469E381F66" TYPE="ntfs" 
/dev/sda6: LABEL="LENOVO" UUID="32EE3B04EE3AC041" TYPE="ntfs" 
/dev/sda7: LABEL="PBR_DRV" UUID="14243C89243C703A" TYPE="ntfs" 
/dev/sda8: UUID="b5377bd7-1953-4cb0-b30d-9ee5a466760c" TYPE="ext4" 
/dev/sda9: UUID="be7e2af0-3cc7-4e3c-82a1-e28e3d4b4ba6" TYPE="swap" 
/dev/sdb1: LABEL="CRUZER" UUID="28A2-35DE" TYPE="vfat" 

While /dev/sda2 and /dev/sda3 both look similar on my system /dev/sda2 is the one with the "boot" flag, and changing the entry in fstab to the UUID for /dev/sda3 made no difference.

share|improve this question
    
Try sudo dosfsck -a /dev/sda2 to automatically repair the ESP. If that doesn't help, post the output of the command. –  Rod Smith Aug 21 '13 at 23:38
    
@RodSmith It seems to be working now, but, due to some carelessness on my part, I'm not entirely sure what fixed it. I ran sudo dosfsck -a /dev/sda2, but I forgot to reboot afterwards, and I also decided to try reinstalling the kernel. One or both of those things worked, but I'm not sure which. –  Andrew Roskuski Aug 22 '13 at 19:09

2 Answers 2

I just updated my Ubuntu 13.04 system to kernel 3.8.0-29 and I had no problem with this. My suspicion is that you're experiencing filesystem damage. This is common on systems that dual-boot with Windows 8 because of a Windows 8 feature called "fast startup." This feature essentially turns the shutdown operation into a suspend-to-disk operation. This works fine on a single-boot computer, but when the computer dual-boots with another OS, the result is dangerous filesystem problems, at least on any filesystem that's shared between OSes (including the EFI System Partition [ESP]). To fix this, boot to Windows and disable fast startup. Note that this feature is not the same as the fast boot option in your firmware; disabling this feature in the firmware does not disable it in Windows 8.

If you disable fast startup and the problem persists, then you could try doing a filesystem check on your ESP, as in dosfsck /dev/sda1. (The device file in Linux might be different, though. Use parted or GParted to find the FAT partition with a "boot flag" set, or use gdisk to find the partition with a type code of EF00.)

If the problem persists even after you disable fast boot and fix the filesystem, please try the following diagnostics:

grep efi /etc/fstab
sudo blkid

Compare the results -- the /etc/fstab file defines where partitions are mounted, and so searching it for efi should produce details on how your system is mounting the ESP. For instance, on my system, it shows the following:

$ grep efi /etc/fstab
# /boot/efi was on /dev/sda1 during installation
UUID=FFB3-46B6  /boot/efi   vfat    defaults    0   1

The blkid command produces information on all your computer's filesystems. You want to compare what it shows for your ESP (usually /dev/sda1, /dev/sda2, or /dev/sda3) to what's in /etc/fstab. For instance:

$ sudo blkid
/dev/sda1: SEC_TYPE="msdos" LABEL="ESP" UUID="FFB3-46B6" TYPE="vfat" 
/dev/sda2: LABEL="Fred" UUID="421258c1-e9b1-4b1b-9dd7-60b82e75f8c3" TYPE="ext4" 
/dev/sda3: UUID="9108d33b-855d-49ba-8b9e-90f981a597ea" TYPE="swap"

In this case, /dev/sda1 is the ESP -- it's a FAT (TYPE="vfat") filesystem, and its serial number matches what's in /etc/fstab (UUID="FFB3-46B6"), so all is in order. A mismatch of the serial numbers or some other detail might cause the problem you're encountering. If you need more help, please edit your post with this information and the exact error message you're seeing.

share|improve this answer
    
I tried your suggestions but I'm still having the problem. See the updated info in my question. –  Andrew Roskuski Aug 21 '13 at 20:53

I've just had a similar problem when using boot-repair to move to UEFI. Sounds silly, but I just put double quotes around the UUID value, did sudo mount -a (or reboot) and the error went away. So I would change your /etc/fstab entry from

UUID=F433-DF4C  /boot/efi       vfat    defaults        0       1

to

UUID="F433-DF4C"  /boot/efi       vfat    defaults        0       1
share|improve this answer
1  
Well, the manpage of fstab shows it should be without quotes. And all my systems run perfectly fine on configurations without the quotes. Does not make sense to me why this would make a difference at all. –  gertvdijk Oct 7 '13 at 1:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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