How do I set 'nomodeset' after I've already installed Ubuntu?

You should add this option to /etc/default/grub, firstly:

sudo nano /etc/default/grub

and then add nomodeset to GRUB_CMDLINE_LINUX_DEFAULT:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""

And then save by hitting Ctrl+O, then exit nano with Ctrl+X, then simply run:

sudo update-grub

To edit Grub2 during the boot process try the following:

  1. Immediately after the BIOS splash screen during boot, press and hold the SHIFT button. This will display you grub containing a list of kernels and recovery options

    enter image description here

  2. Press e to edit the first kernel displayed

    enter image description here

  3. Find the line ending with quiet splash. Add your boot option before these key words - i.e. so the line looks like [...]nomodeset quiet splash

  4. Press CTRL + X to boot

Follow the steps in Coldfish's answer on how to fix the nomodeset boot option permanently so that you don't have to go through this manual procedure again.


I had the same problem. The above solutions are all correct, but it's a bit more tricky when you have to fix this when running from a Live CD. I found this blog post very helpful.

The author basically proposes to mount the installed Linux from within the LiveCD. I did that, and it helped me a lot. So here are the steps:

  • Run from the Live CD, and either install Ubuntu or move on if already done
  • Check your installed partition with the command "gparted". It opens a Window telling you where you installed Ubuntu. In my case it was /dev/sda2 which contained an ext4 partition.
  • Mount the partition: sudo mount /dev/sdXY /mnt
  • Then mount/bind the directories Grub needs to access: sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys

  • Then move on to this environment using chroot, which I found a supersmart idea: sudo chroot /mnt

  • You should now be able to edit /etc/default/grub, as the others pointed out. Like: sudo vi /etc/default/gruband change the line GRUB_CMDLINE_LINUX_DEFAULT="nomodeset" I found it very useful to also remove quiet and splash so I could see something moving on behind the scenes.
  • The author originally noted, he needs that after an installation of Windows, which broke Grub. He had to reinstall. In my case Grub was intact, but my computer (mac) didn't boot with the original Grub settings. So the only thing left for me was update-grub

The author unmounted, but I just rebooted and the new settings where in place. With the "nomodeset" option I was able to boot Ubuntu and Lubuntu from a MacBook Pro harddisk.