When installing or booting Ubuntu, your system ran into a combination of issues:
- System hangs or fails to boot correctly, landing in a black screen or GRUB terminal.
- PCIe/ACPI/BIOS errors appeared during installation.
- GRUB rescue mode showed up, indicating that Ubuntu’s bootloader (GRUB) was confused or unable to find the OS.
- Even after installation, the system was very slow, and services like
systemd-journald
(log manager) were failing.
- The GRUB boot menu appeared every time even if Ubuntu was the only OS.
Root Causes Behind the Problem
1. BIOS and Boot Mode Mismatch
- Your BIOS was set in a combination of UEFI and Legacy boot modes, causing bootloader confusion.
- Secure Boot was either enabled or misconfigured, which often blocks Ubuntu’s GRUB or kernel from booting.
- Features like VT-x (VMX) and SGX were disabled in BIOS, sometimes causing systemd/ACPI to throw warnings or errors.
2. ACPI and PCIe Bus Errors
- These are often harmless but can delay boot time or trigger kernel panics depending on the system.
- Common symptoms: messages like
AER: Corrected error received
, ACPI BIOS Error
, or platform device creation failed
.
3. Corrupt or Misconfigured GRUB
- GRUB couldn’t detect Ubuntu properly or failed to execute the
initrd
and vmlinuz
files that start Linux.
- Sometimes this dropped to the GRUB command line or just displayed a black screen.
4. systemd-journald.service Failed
-
This service is critical for managing system logs.
-
If it fails, you don’t get proper boot logs, and some background processes might hang or time out.
-
Possible causes include:
- Not enough disk space.
- Corrupted journal logs.
- General I/O slowness due to hardware or filesystem errors.
5. quiet splash
Masking Real Issues
- The GRUB boot line included
quiet splash
by default.
- This hides detailed boot logs and only shows a loading screen, which can be frustrating when diagnosing issues.
How We Solved It – Step-by-Step
Enter BIOS and Fix Boot Configuration
- Press F10 or Esc on startup to enter BIOS.
- Disable Secure Boot.
- Enable Legacy Support if your Ubuntu was installed in legacy mode, or keep only UEFI if you installed in UEFI mode.
- Enable Intel Virtualization (VT-x/VMX) in BIOS → Advanced settings.
- Set your hard disk as the first boot device (not USB or Network).
This ensures BIOS and GRUB agree on how to start the system.
Boot with Safe Kernel Parameters
-
In the GRUB menu, press e
to edit boot parameters.
-
Remove quiet splash
from the line that begins with linux
.
-
Add these parameters after the kernel path:
nomodeset acpi=off pci=noaer noapic
Why:
-
nomodeset
disables GPU drivers that may cause a black screen.
-
acpi=off
turns off buggy power management features.
-
pci=noaer
disables annoying PCIe error reporting.
-
noapic
disables interrupt controllers that can conflict with hardware.
-
Press Ctrl+X or F10 to boot.
Check and Repair Filesystem
Disk corruption or dirty shutdowns can make files unreadable for GRUB or journald.
Fix or Reinstall GRUB
If GRUB still isn’t booting properly:
sudo mount /dev/sda2 /mnt # Mount your root partition
sudo grub-install --root-directory=/mnt /dev/sda
sudo update-grub
Rewrites and refreshes GRUB’s config so it properly detects Ubuntu and kernel images.
Fix Slow Boot by Disabling Failed Services
You saw systemd-journald.service
and sssd.socket
failing. You can:
-
Check logs:
sudo journalctl -xe
-
Disable SSSD (if unused):
sudo systemctl disable sssd
sudo systemctl stop sssd
-
Clean corrupted journal logs (if journald fails):
sudo rm -rf /var/log/journal/*
sudo systemctl restart systemd-journald
Speeds up boot and stops the system from waiting on services you don’t need.
Make Ubuntu Boot Directly (No GRUB Menu)
Edit GRUB settings:
sudo nano /etc/default/grub
Set these values:
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
Then update GRUB:
sudo update-grub
This skips the GRUB menu and boots Ubuntu automatically.
Always Remove quiet splash
While Debugging
Until your system boots reliably, it’s good practice to:
- Remove
quiet splash
from the GRUB boot line so you can see actual error messages.
- Once everything works, you can restore it for a clean UI.
Final Result
After doing all this:
- The system boots correctly.
- It’s much faster.
- Fewer background services are hanging.
- You can see boot messages clearly.
- No need to manually select Ubuntu every time.
@thingizkhan thank you for sharing this with the community.
Some observations (and possible clarifications needed):
These are only temporary fixes to help get into the system. Making them permanent would require editing the GRUB config file after booting into the system and then sudo update-grub
to make it permanent.
However, these are rather clumsy fixes and a user should always try and get to the root cause, which is often a graphics or kernel issue (though not always).
I would add the following comments here:
- first identify the correct partition/disk with either
sudo fdisk -l
or lsblk -f
- for the ext family of filesystems, we generally prefer e2fsck, see the relevant man page here
- other filesystems require other methods since
fsck
will not work. For example, if someone is using btrfs it has its own tool for checks
- I would add a warning to always check the documentation before using these tools in order to understand which options to use and what they will do
Thanks again for sharing this.
1 Like
This is relevant if the system only has Ubuntu installed.
For a dual-boot with Windows or other Linux distros, I would not recommend doing this.
1 Like
It is very useful to allow Grub to appear, even if you only have Ubuntu installed.
Easier access to:-
- Boot Ubuntu using an earlier kernel
- Boot into Recovery mode
- UEFI settings
Suggested settings:-
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
1 Like