How do I set 'nomodeset' after I've already installed Ubuntu?
Solution 1
To edit Grub2 during the boot process try the following:
-
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
-
Press e to edit the first kernel displayed
-
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
-
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.
Solution 2
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
Solution 3
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/grub
and change the lineGRUB_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.
Related videos on Youtube
Dante Ashton
Updated on September 18, 2022Comments
-
Dante Ashton almost 2 years
I know that editing the boot options line and adding 'nomodeset' solves the problem of my laptop during LiveCD mode, what I don't know is how to set it at boot up through Grub2 after I've installed Ubuntu.
So, my question is; how do I set nomodeset before I boot into Ubuntu?
-
Dante Ashton about 13 yearsI'm afraid I don't have a quiet splash option in that area. I don't recognize any of the lines, actually.
-
nilsonneto about 13 yearsDante - added some pictures to help hopefully
-
Dante Ashton about 13 yearsfossfreedom. Thank you so much! I've had this problem since 10.04! My god, I would hug you if I could! :D
-
Hellreaver over 8 yearsWhere does the ro go?
-
nilsonneto over 8 years@Hellreaver - if you have "ro" in your grub entry - leave it - if you do not have it - do not add it. The picture just shows where to add "nomodeset" (just before "quiet splash")
-
Nic almost 8 yearsWhat if there's no
quiet splash
? Should that be added too? -
pcnate almost 7 years@fossfreedom helps if you host images that do not get removed
-
Sanjay Manohar over 6 yearsFor those without
quiet splash
- add it to the end of the line that starts withlinux
-
stiv over 5 yearsbash: update-grub: command not found...
-
Tim Visee about 5 years@stiv This is for Debian/Ubuntu based systems I believe. On other systems you may edit your GRUB configuration directly, which is usually located in
/boot/grub/
if I remember correctly. -
Matt_Mack almost 4 yearsThank you! This was the fix that worked for me. +1000
-
Hui Zheng over 2 yearsthank you, I used that to set the "nomodeset" to allow Linux boot from my old macbook pro. As the Christian's answer noted, I also found it very useful to remove "quiet and splash" so I could see something moving on behind the scenes.