Command Line

Boot To Text Mode In Linux

Today’s article will be a quick and easy article, so easy that a newbie can follow it, and will cover how to boot to text mode in Linux. Booting to text mode is something you might want to do for troubleshooting or repair. It might look hard, and require some good timing, but it’s not all that challenging.

What do I mean?

Well, when you boot your personal computer with Linux on it the system boots into a graphical environment, a GUI. If you boot to text mode, there’s no GUI being loaded. It’s just like you were working in the terminal, but there was no GUI to fall back on. 

For most people using Linux on the desktop, this isn’t something done all that often. It’s mostly useful for things like the above-mentioned troubleshooting and repair. When there’s a problem that’s exacerbated by the GUI, booting to text mode is a good idea and a great feature.

This is only for systemd users and is sometimes called ‘console mode’. This article also assumes that you’re using GRUB as your bootloader. If either of those is not true, you can safely ignore this article.

If you’re asked at a forum to repair your system by booting into text mode, this is the article for you. It’s not something you’ll need often, but it’s something worth knowing, or at least knowing that it can be done. It’s not even all that complicated.

Also, if you noticed an outage yesterday, there was a giant dumpster fire that needed to be put out. It wasn’t a literal dumpster fire, just a bunch of crap that all managed to land at the same time.

The symptoms made me think the site was hacked, but that’s not what happened. There were some changes made at the server level and things did not trickle down. The server migration went well for many people, but I have a complicated setup. I also use a CDN, which further compounded the issues.

Things were fixed upstream. There was no hack, but there were some traffic spikes recently. Nobody’s personal information was leaked. No software was compromised. It was just a ****storm that required more effort than expected.

The server is still being worked on as I write this article. Data was seemingly corrupted in multiple tables, which shows the value of backups. Nothing of any value has been lost in the process – except some traffic. I hope that those people were able to find the information they were looking for, and I formally apologize for the downtime.

Boot To Text Mode:

You need some pretty good timing for this and it may take some people a few tries to get it right. I’ve done this many times and I still don’t always get it right on the first try.

When you boot your computer, it performs the “POST” (which is the Power On Self Test). It goes by quickly these days. In many cases, it doesn’t even tell you that it’s performing the POST. In those cases, it may show you a logo for the computer. It happens on your computer, even if you don’t see it.

Now, between the end of the POST and before Linux starts loading, you need to press a key to stop Linux from loading. You want to access GRUB.

The key you press is going to vary, but it’s just one of two keys.

If you’re using legacy (BIOS) then you need the SHIFT key.

If you’re using UEFI, then you need the ESC key.

After POST ends and before GRUB loads Linux, you need to press the appropriate key. You need to know which you’re using, BIOS or UEFI. You could just keep trying until you find out which one works for you. With the reduced friction between Linux and UEFI, you might not know which system you’re using. I suppose that’s a good thing.

Anyhow, you should end up with a screen that looks like this:

The helpful arrow is your next step in this process of booting to text mode.

As you can see, you next want to press the E on your keyboard.

You’ll next see a screen that looks like this:

These are the boot parameters in use by GRUB. We’ll edit this.

Use your arrow keys to navigate to the line that begins with linux.

Make sure the line also includes vmlinuz.

The line you want to edit will start with the first word and contain the second word, but it will exist.

You want to go to the end of that line. Depending on your GRUB resolution, the line may span multiple lines. In other words, you’ll be editing where there’s a hard new line and not paying attention to the actual formatting.

That may look something like this:

That’s the line you want to edit. Note that it spans two lines.

At the very end of that line, you simply need to hit the space bar and add the number three. Like, literally, you’re just adding:

3

In the example image above, that 3 would be added just after the word ‘handoff’. The 3 is telling the system to boot to the multi-user.target and doesn’t load a graphical environment.

There are directions at the bottom, but just press F10 to continue booting to text mode. The next screen you see should look a whole lot like this one:

Tada! That’d be a success. If you see that, you’ve booted into text mode! Congratulations!

This isn’t a permanent change. When you use this method to boot to text mode, you’re only going to boot into text mode that one time. There are ways to set the computer to always boot to text mode, but that’s not within the scope of this article. 

You may have to try this a few times. The process is simple after you get to the GRUB menu, but accessing that GRUB menu may be problematic. You may need good timing (unless you’re set to display this screen on every boot) to access the menu in the first place.

Again, you’ll need to know if you’re using BIOS or UEFI. That’ll help you avoid frustration. I linked to it above, but it wasn’t all that well highlighted. I’ve written an article that teaches you how to tell if you’re using BIOS or UEFI.

Knowing which key will bring up the GRUB menu might just save you a bunch of frustration, as I know this has frustrated people in the past. This bugged one user enough for them to insist their OS didn’t have the option, that it was impossible to do. (They were using one of the official Ubuntu flavors, with a default install. So, they were just upset that they couldn’t get it working.)

Closure:

If you remember the intro well, you’ll know that this article has some drama behind it. You’ll know that the site was down yesterday and that there were continued issues today. I was awake at 04:30 to see if the site was up and running. Things looked pretty good.

I then wrote one article and the system went crazy, crashing when I tried to schedule it for publication. The upstream hosting company then tried some more magic potions and they wanted me to try again.

Alas, that ate the article I wrote…

Fortunately, WordPress is awesome and they stored a cached copy in my browser’s cache. They found this and propagated almost all of the fields. This was great!

That was when I noticed that I’d already covered that subject in the past – twice in fact. In my defense, I write a lot of articles and this was a fine subject to write about. 

At this point, I just wrote another article. That’s this article, for those who weren’t keeping track. We’re still not 100% certain that all the bugs are ironed out, but we’ll see. I’ll schedule it for publication at the usual time and try to observe this as much as I can. This presumes that I’m able to save it and schedule it without any problems. We shall see… (The save draft button does appear to work.)

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

KGIII

Retired mathematician, residing in the mountains of Maine. I may be old and wise, but I am not infallible. Please point out any errors. And, as always, thanks again for reading.

Recent Posts

Enable/Disable Your Network Interface

Today we'll cover one way to enable or disable your network interface in the Linux…

7 months ago

Check Your NIC Speed In The Terminal

Today's exercise is a nice and simple exercise where we check your NIC speed in…

7 months ago

Easily Monitor Your Wireless Connection

Have you ever wanted to easily monitor your wireless connection? Well, now you can learn…

7 months ago

Count The Files In A Directory

I think I've covered this before with the ls command but this time we'll count…

7 months ago

Get System Information With The ‘uname’ Command In Linux

Today we'll be learning about a basic Linux command that's known as 'uname' and it…

7 months ago

hardinfo Has Been Rebooted As hardinfo2

If you've used hardinfo in the past, it may interest you to know that hardinfo…

7 months ago