Ubuntu boots to black screen, cannot access Grub

I have just installed Ubuntu on my new machine - a Skylake build with an NVidia 900 series GPU. As such I have a problem in that Ubuntu (and the install USB stick I used) both boot to a black screen.

I could easily set the nomodeset flag for the USB stick installer to get that to work, but I can't do the same for booting the now installed Ubuntu as no matter when or how I press shift, Grub does not want to show up - instead I get a solid purple screen for a few seconds and then the screen goes black.

Are there any other ways of setting nomodeset, or any other suggestions for how to boot Ubuntu or get into Grub?

For extra information, I installed Ubuntu with the LVM option.

Edit: I have looked at other answers on here and elsewhere, but all assume you can eventually get into Grub as far as I could find.


For a UEFI installation of Ubuntu, escape key is the button to access Grub. Also, be sure the installation went well (you can check your filesystem via booting to a live system on a USB stick and looking at other drives attached to the computer).

Boot your machine from the livestick where you set the nomodset flag obviously so it boots.
Than access your grub config file on the built in hard drive via the live system and change the bootparameters accordingly and than it should be able to boot with the installed grub.

For how to config grub, there are great howtos on google (just how I do my grub configuring)

EDIT: likely one of the most extensive grub howtos is from the arch guys: https://wiki.archlinux.org/index.php/GRUB

Currently headed out to a class, and don't recall if I saw the boot to hard drive option on the USB stick. That said, I had presumed when I'd installed Ubuntu on my old machine that that option initiated the standard boot cycle. I will give it a go when I get back and see what happens - thanks for the suggestion!

I do not mean to use the "boot to harddrive" option, as this... as far as I am aware would try to load the bootloader (grub) that is on the disk.

I mean, boot from the USB stick into the live system (which you said you can by adding nomodeset) than in the LiveSystem access the built in Harddrive and edit the config.

I am not entirely sure how I would do this. The only thing I set nomodeset on was the "Install Ubuntu" option on my USB drive. Is there another option I can use and set nomodeset on that should appear alongside "Try Ubuntu without Installing" and "Install Ubuntu" etc.?

There usually is a "try ubuntu" (Picture) option when starting from the DVD/USB. And try ubuntu means nothing else than starting it from the USB stick.

When you start your compute, there is a small time frame in which you can enter the grub menu. This is something like 3 seconds after BIOS. I think the magic 'key' was shift in Ubuntu.

Have you try to switch to a tty? When the black screen appeares you need to try Ctrl + Alt + F2 , you might get a login prompt.

Best regards

The black screen is actually a literal black screen (i.e. no output from my GPU whatsoever). So ctrl + alt + f2 doesn't bring up the login prompt.

I have tried accessing Grub, to no luck, using various keys unfortunately.

Indeed, I just tried to get the grub console on my ubuntu 15.04... it really wont react despite the config saying there is a 3s delay. confused

Well so really try starting the live environment and access your local harddisk through that.

Esc and Shift are most of the time the one you need to press.

When this is not doing it's job, try to get sysresccd . Load it onto a USB device.
You need to mount your root disk, then change grub.conf to allow entering the menu for later usage.
AskUbuntu has more details to this

A good point would be then to print the messages of your /var/log/syslog
Should show some problems. In the end it's always an issue with the gcard and driver.

Best regards

No luck I'm afraid. I managed to change the files in the actual installation, but when trying to mount the drive to run "sudo update-grub" I found that the /boot/ folder was empty and after fiddling with some files to even let me run the update command, it sadly didn't fix the issue. Thanks for the suggestion, though!

Well I am quite shure, that boot is its own partition when you follow the LVM partitioning suggested by the setup GUI. So you will have to mount that partition that is would be mounted on a normal boot.

Check your /etc/fstab on your harddrive (just cat /etc/fstab) to see which partitions (LVMs) are ment to be mounted.

In this case you need to chroot into the mounted root dir, else he want to run the command for your live system instead.
Here is an example of how to use chroot. This then allow to run in the right environment the update-grub command.

I checked the /etc/fstab and mounted the right drive, chrooted into it, but then double checked that the boot folder actually was properly set up. It wasn't and "sudo update-grub" gave an error. Which was fixed by editing the /etc/hosts file, but then even though the command correctly ran, restarting and booting with the installed Ubuntu still ended up on a black screen with no access to Grub.

I am not sure how to fix that, but if you run "sudo update-grub" in the context of the livesystem it will try to update this grub config not the one of the actual installation... if I am not totally wrong on that.

Can you print the error you get? One thing: It's important to mount all devices before entering the chroot.

Some more detail on the error message should help us. Else it's no use.

The error message was "unable to resolve host ubuntu" - I added "ubuntu" to in /etc/hosts/ to fix that. The mounting was done with /dev/mapper/ubuntu--vg-root as I installed LVM. I have since reinstalled without LVM (more to see if the issue was something in the installation process) but I am still getting the same issue of a black screen and no grub.

What's about the syslog messages? Have to took a look into that?

That makes me think that the context of the shell was kinda messed. ubuntu usually is the hostname of the livesystem.

Please be more specific, as both the lifesystem as well as the actual OS on the harddrive do have those config files. You work on a full OS from a full OS... they are kinda like clones.. with subtile differences

Sorry, I added it to /etc/hosts in the actual installed OS, not the live system.