Ubuntu 14.04 not booting after error message. /tmp could not be mounted

  1. In Windows Boot Manager, select Ubuntu.
  2. Press any key and enter GNU Grub2 menu.
  3. You can press "e" to edit GRUB2 boot entry.

You need to change the GRUB2 boot entry from "ro" to "rw",

e.g.

linux   /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk ro   quiet splash $vt_handoff

to

linux   /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk rw   quiet splash $vt_handoff

Press F10, you can boot in Ubuntu 14.04.

and you can fix GRUB2 boot entry:

sudo vi /etc/grub.d/10_lupin

Change the line:

linux   ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} ro ${args}

to:

linux   ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} rw ${args}

Regenerate GRUB2 boot entry:

sudo update-grub

The temporary fix - overriding the initial mounting of the root.disk to rw (read/write) instead of ro(read-only) is good. It's the only way to boot Wubi after a 14.04 install (or upgrade).

However, there is a better long term fix than permanently modifying the mount to read/write. It's best to modify the way the loop device is created in order to allow remounting as read-write. This will then allow you to use recovery mode.

Modify the file /usr/share/initramfs-tools/script/local as shown (one line removed, three added):

--- /home/bcbc/local   2014-11-19 20:25:12.274837304 -0800
+++ /usr/share/initramfs-tools/scripts/local   2014-11-19 20:28:37.990832807 -0800
@@ -143,7 +143,9 @@
        modprobe ${FSTYPE}

        # FIXME This has no error checking
-       mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt}
+       loopdev=`losetup -f`
+       losetup ${loopdev} "/host/${LOOP#/}"
+       mount ${roflag} -t ${FSTYPE} ${LOOPFLAGS} ${loopdev} ${rootmnt}        

        if [ -d ${rootmnt}/host ]; then
            mount -o move /host ${rootmnt}/host

After making the change, update the initial ramdisk:

sudo update-initramfs -u

For additional information, and credit for the fix see: https://code.launchpad.net/~noorez-kassam/ubuntu/utopic/initramfs-tools/fix-for-1317437/+merge/219927

Caution: obviously if you make some typos when applying this fix it may prevent your install from booting. So proceed with caution. And if unsure, use the easier Grub override. Make sure you use the ` quote, not ' for the loopdev= line.

If you attempt this and run into problems, there are a couple of things you can try:

  1. If you have more than one kernel, go to the Recovery menu and select an older kernel (with it's own initramfs).
  2. You could backup the initramfs (before updating), and then copy it over the bad one from a live DVD/USB.
  3. You could rebuild the initramfs in a chroot, but this is a bit involved.

If it's a fresh install, then reinstalling is your best option.