Aug 252018
 
Fedora Logo

After doing a fresh install or upgrade of Fedora Core Linux (FC28 in my case), you may notice that when the system boots it gets stuck on a black screen with a white cursor. The cursor will not move and there will be no drive activity.

This issue occurs with GNOME on my old HP Mini 210 Netbook every time I do a fresh install of Fedora on it (or upgrade it).

Follow the process below to temporarily boot and then permanently fix it.

Temporary fix

To get the system to boot:

  1. Power on the computer, and carefully wait for the GRUB bootloader to appear (the boot selection screen).
  2. When the GRUB bootloader appears, press the “e” key to edit the highlighted (default) boot entry.
  3. Scroll down until you get to the line starting with “linux16”, then use your right arrow key and scroll right until you get to the end of the kernel options (while scrolling right, you may scroll multiple lines down which is fine and expected). The line should finally end with “rhgb” and “quiet”.
  4. Remove “rhgb” and “quiet”, and then add “nomodeset=0”
  5. Press “CTRL+x” to boot the system.
  6. The system should now boot.

FYI: “rhgb” is the kernel switch/option for redhat graphical boot, and “quiet” makes the system messages more quiet (who would have guessed).

Permanent Fix

To permanently resolve the issue:

  1. Once the system has booted, log in.
  2. Open a terminal window (Applications -> Terminal, or press the “Start” button and type terminal).
  3. Use your favorite text editor and edit the file “/etc/default/grub” (I use nano which can be install by running “dnf install nano”):
    nano /etc/default/grub
  4. Locate the line with the variable “GRUB_CMDLINE_LINUX”, and add “nomodeset=0” to the variables. Feel free to remove “rhgb” and “quiet” if you’d like text boot. Here’s an example of my line after editing (yours will look different):
    GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora_da--netbook01-swap rd.lvm.lv=fedora_da-netbook01/root rd.lvm.lv=fedora_da-netbook01/swap nomodeset=0"
  5. Save the file and exit the text editor (CTRL+x to quit, the press “y” and enter to save)
  6. At the bash prompt, execute the following command to regenerate the grub.conf file on the /boot partition from your new default file:
    grub2-mkconfig -o /boot/grub2/grub.cfg
  7. Restart your system, it should now boot!

 

Please Note: Always make sure you have a full system backup before modifying any system files!

  7 Responses to “Fedora Core 28 – Black screen with cursor after install or upgrade”

  1. Thanks for the article.

    What should you do in the event that “ctrl-x” only prints x on the line? This happens with multiple keyboards, but “ctrl-c” gets me to the command prompt.

  2. Maybe try using the other Ctrl button (I think most keyboards have both).

    I’m not too familiar with non-US keyboards to be honest.

  3. Ok, so i’ve found out that because i’m using a MacBook Pro, I need to press Ctrl-fn-Shift-F10 instead of just x, but I get to a screen that shows “suspending console(s) (use no_console_suspend to debug)
    I can’t do anything from here.

  4. Hi Liam,

    If you’re on a MacBook, you should be able to just press the equivalent of the Ctrl key (which I can’t remember what button it is), and X and it should work.

  5. I agree, but I have tried ctrl, option, command, and a mixture of them all. Also used a windows keyboard with each combination and it still only prints an x.

    Also, I should add that I don’t get a cursor on the blank screen.

    When booting to fedora on a USB, I can see the drives and access the files just fine.

  6. Hi Liam,

    Are you sure you’re having the issue outlined in this blog post?

    Im wondering if what you are experiencing is something else.

    Cheers,
    Stephen

  7. Yeah, you’re probably right. Fedora is probably jus too trash to fix at this point. Thanks for the replies though.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)