Ubuntu – Can’t boot Wubi after upgrading to 14.04 from 12.04: “Target filesystem doesn’t have requested /sbin/init”

12.0414.04bootupgradewubi

So I decided to upgrade to 14.04 from 12.04 on my Wubi installation, using update-manager -d, but I can no longer boot into Ubuntu. When I try to, I see the message mount:mounting…"etc, then "Target filesystem doesn't have requested /sbin/init". Does anyone know how to solve this?

mount: mounting /dev/loop0 on /root failed: Invalid argument
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.

Best Answer

From https://answers.launchpad.net/ubuntu/+question/247265

Steven, I've found a solution that works, that is, if you haven't tried to reinstall yet:

If you can find your boot commands, find the line that says:

linux /boot/vmlinuz-3.13.0-24-generic root=UUID=D014E45... etc...

Change "ro rootflags= sync" to "rw rootflags=sync"

That's it. Just that one character. Nothing else. Worked for me, hopefully it does the same for you. Here's hoping.

and

Daniel - thanks for posting that solution, my dad's laptop was suffering from this, and I managed to get a remote session on it and repair it for him thanks to your post. He's very pleased :)

For what it's worth, I also updated the grub regeneration files in /etc/grub.d/10_linux to ensure that it remains set to "rw" after a kernel update. Just replace this line:

    linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}

with

    linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} rw ${args}

In summary, to recover, I did (from memory):

  • boot from xubuntu cd (Try ubuntu without installing)

  • open terminal, locate root volume on the windows drive, mount it with:

sudo -i

mkdir /mnt/recovery

mount -o loop /media/xubuntu/Data/ubuntu/disks/root.disk /mnt/recovery

apt-get install vim

vim /mnt/recovery/boot/grub/grub.cfg  # set "ro" flags to "rw" as per Daniel's comment (#8 above)

vim /mnt/recovery/etc/grub.d/10_linux  # change "ro" to "rw" as above

reboot
Related Question