You are not logged in.

#1 2025-10-14 22:30:18

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

[SOLVED] Stuck on a black screen before GRUB

Hello.

I've followed the instructions on https://wiki.archlinux.org/title/Installation_guide to install Arch as a Dual boot to the best of my abilities but I've ended up with a problem after rebooting (removing the installation media first) where the laptop turns on but the screen is black and the keyboard is not active. My Windows boot manager entry still works normally.

Specs:
Lenovo Ideapad 310-15ISK
CPU: Intel i3-6006U
GPU: Intel onboard, Intel Graphics HD 520
Memory: 12GB DDR4
Disk: Kingston SA400S3 500GB (SSD)
Existing Windows: 10

I've verified that the checksums for the .iso file (archlinux-2025.10.01-x86_64.iso) are correct. I've checked that my existing Windows installation is UEFI GPT. The output of cat /sys/firmware/efi/fw_platform_size is 64, so the system was booted in UEFI mode.

I created two partitions (/dev/sda5 and /dev/sda6) on the SSD disk with cfdisk, using the space I got from shrinking the Windows partition (100GB). Since I can't boot into the OS, here is a summary of the output of fdisk -l:
Start
/dev/sda1 -> EFI System -> 100MB
/dev/sda2 -> Microsoft reserved -> 16MB
/dev/sda3 -> Microsoft basic data -> 348.8GB
/dev/sda4 -> Windows revocery environment -> 556MB
/dev/sda5 -> Linux filesystem -> 85GB (created with cfdisk)
/dev/sda6 -> Linux Swap -> 12.7GB (created with cfdisk)

I've formatted the root partition with the btrfs file system using the command mkfs.btrfs /dev/sda5.
I've initialized the swap partition using the command mkswap /dev/sda6.

Then, I mounted the root partition as /mnt and mounted the existing efi partition as /mnt/efi (mount --mkdir /dev/sda1 /mnt/efi) and enabled swap with swapon /dev/sda6

I didn't change the mirrorlist and installed the following packages with pacstrap:
pacstrap -K base linux linux-firmware intel-ucode -sof-firmware networkmanager neovim man-db man-pages texinfo util-linux

I've generated the fstab file using genfstab -U /mnt >> /mnt/etc/fstab. The resulting file:
# /dev/sda5
UUID=93a5156c-afaa-47f0-b21a-d18246e45797        /        btrfs         rw,relatime,ssd,discard=async,space_cache=v2,subvol=/     0  0

# /dev/sda1
UUID=444A-8AC6     /efi        vfat         rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro     0  2

# /dev/sda6
UUID=87fc247d-4259-4767-a9b4-715ad01fc09c     none        swap         defaults     0  0


I chrooted into Arch, set up the timezone, the locale and the machine's hostname.
At first I did not run mkinitcpio -P since I wasn't using LVM, system encryption or RAID. But since then I did to see if this would fix my problem (it did not)
I also set my root password, although I don't think this is very relevant.

I chose GRUB as the boot loader. I ran the command grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB. I didn't use an alternative location for the main GRUB directory, so it is at the default /boot/grub. I didn't set up Secure Boot support, since I disabled Secure Boot (couldn't boot into installation media with it enabled).
I then installed efibootmgr and os-prober using pacman and uncommented the line GRUB_DISABLE_OS_PROBER=false on /etc/default/grub. I then ran the command grub-mkconfig -o /boot/grub/grub.cfg and it successfully detected the Windows boot entry

Afterwards I exited the chroot environment and umounted the partitions. Rebooted and was greeted with a black screen (the computer turns on, I can see the backlight on the screen).

I don't know what I might have missed or did incorrectly as well as I don't know if there are any logs I could use to investigate the issue. Can you guys help me?

Last edited by BongoFriendee (2025-10-23 20:58:00)

Offline

#2 2025-10-15 12:55:34

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,142

Re: [SOLVED] Stuck on a black screen before GRUB

Check whether CSM is enabled in your UEFI and try to disable that. You do technically have a GRUB entry in the bootloader selection but selecting it leads to a black screen?

Offline

#3 2025-10-16 00:30:04

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

My BIOS doesn't have an explicit CSM option. The closest to that is "OS Optimized Defaults", which is Enabled. The description of this option is as follows:
"Set the BIOS default setting for pure UEFI mode or legacy support mode
[Enable]
When load default values, will load pure UEFI mode default values. Win8 and later OS support pure UEFI mode
[Disable]
When load default values, will load legacy support mode default values"

Yes, I have a GRUB entry. It shows up both on the BIOS setup menu under the "Boot" tab, as well as in the Boot menu. If I choose manually to boot to GRUB or put it as the top option on the boot order, all I see is a black screen.

Offline

#4 2025-10-17 15:06:38

twelveeighty
Member
Registered: 2011-09-04
Posts: 1,448

Re: [SOLVED] Stuck on a black screen before GRUB

A couple of sanity checks: 1) did you Disable Windows fast-start; recommendation is to reboot twice after making that change. 2) Post your full kernel parameters; if you have 'quiet' or 'splash', remove them temporarily to show possible debug info.

Offline

#5 2025-10-17 22:03:41

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

Yes I have disabled it (in my BIOS it is named as Fast Boot, but it's the only similar option) and I also disabled it on Windows (with powercfg /H off). I have rebooted many times since I disabled Fast Boot.
I am not sure what is the correct way to get full kernel parameters. I used the command sysctl -a | grep "kernel\.". The output is the following:

kernel.acct = 4    2    30
kernel.acpi_video_flags = 0
kernel.arch = x86_64
kernel.auto_msgmni = 0
kernel.bootloader_type = 33
kernel.bootloader_version = 1
kernel.bpf_stats_enabled = 0
kernel.cad_pid = 0
kernel.cap_last_cap = 40
kernel.core_file_note_size_limit = 4194304
kernel.core_modes = file
kernel.core_modes = pipe
kernel.core_modes = socket
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %d %F
kernel.core_pipe_limit = 16
kernel.core_sort_vma = 0
kernel.core_uses_pid = 1
kernel.ctrl-alt-del = 0
kernel.dmesg_restrict = 1
kernel.domainname = (none)
kernel.ftrace_dump_on_oops = 0
kernel.ftrace_enabled = 1
kernel.hardlockup_all_cpu_backtrace = 0
kernel.hardlockup_panic = 0
kernel.hostname = archiso
kernel.hung_task_all_cpu_backtrace = 0
kernel.hung_task_check_count = 4194304
kernel.hung_task_check_interval_secs = 0
kernel.hung_task_detect_count = 0
kernel.hung_task_panic = 0
kernel.hung_task_timeout_secs = 120
kernel.hung_task_warnings = 10
kernel.io_delay_type = 0
kernel.io_uring_disabled = 0
kernel.io_uring_group = -1
kernel.kexec_load_disabled = 0
kernel.kexec_load_limit_panic = -1
kernel.kexec_load_limit_reboot = -1
kernel.keys.gc_delay = 300
kernel.keys.maxbytes = 20000
kernel.keys.maxkeys = 200
kernel.keys.persistent_keyring_expiry = 259200
kernel.keys.root_maxbytes = 25000000
kernel.keys.root_maxkeys = 1000000
kernel.kptr_restrict = 0
kernel.max_lock_depth = 1024
kernel.max_rcu_stall_to_panic = 0
kernel.modprobe = /sbin/modprobe
kernel.modules_disabled = 0
kernel.msg_next_id = -1
kernel.msgmax = 8192
kernel.msgmnb = 16384
kernel.msgmni = 32000
kernel.ngroups_max = 65536
kernel.nmi_watchdog = 1
kernel.ns_last_pid = 3
kernel.numa_balancing = 0
kernel.numa_balancing_promote_rate_limit_MBps = 65536
kernel.oops_all_cpu_backtrace = 0
kernel.oops_limit = 10000
kernel.osrelease = 6.16.8-arch3-1
kernel.ostype = Linux
kernel.overflowgid = 65534
kernel.overflowuid = 65534
kernel.panic = 0
kernel.panic_on_io_nmi = 0
kernel.panic_on_oops = 0
kernel.panic_on_rcu_stall = 0
kernel.panic_on_unrecovered_nmi = 0
kernel.panic_on_warn = 0
kernel.panic_print = 0
kernel.perf_cpu_time_max_percent = 25
kernel.perf_event_max_contexts_per_stack = 8
kernel.perf_event_max_sample_rate = 100000
kernel.perf_event_max_stack = 127
kernel.perf_event_mlock_kb = 516
kernel.perf_event_paranoid = 2
kernel.pid_max = 4194304
kernel.poweroff_cmd = /sbin/poweroff
kernel.print-fatal-signals = 0
kernel.printk = 4    4    1    4
kernel.printk_delay = 0
kernel.printk_devkmsg = on
kernel.printk_ratelimit = 5
kernel.printk_ratelimit_burst = 10
kernel.pty.max = 4096
kernel.pty.nr = 0
kernel.pty.reserve = 1024
kernel.random.boot_id = 11deccd5-2882-4422-85fb-79370f6bc95c
kernel.random.entropy_avail = 256
kernel.random.poolsize = 256
kernel.random.urandom_min_reseed_secs = 60
kernel.random.uuid = a6dd338b-66e9-41f4-b0e9-886ccf320b7c
kernel.random.write_wakeup_threshold = 256
kernel.randomize_va_space = 2
kernel.real-root-dev = 0
kernel.sched_autogroup_enabled = 1
kernel.sched_cfs_bandwidth_slice_us = 5000
kernel.sched_deadline_period_max_us = 4194304
kernel.sched_deadline_period_min_us = 100
kernel.sched_rr_timeslice_ms = 100
kernel.sched_rt_period_us = 1000000
kernel.sched_rt_runtime_us = 950000
kernel.sched_schedstats = 0
kernel.sched_util_clamp_max = 1024
kernel.sched_util_clamp_min = 1024
kernel.sched_util_clamp_min_rt_default = 1024
kernel.seccomp.actions_avail = kill_process kill_thread trap errno user_notif trace log allow
kernel.seccomp.actions_logged = kill_process kill_thread trap errno user_notif trace log
kernel.sem = 32000    1024000000    500    32000
kernel.sem_next_id = -1
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096
kernel.soft_watchdog = 1
kernel.softlockup_all_cpu_backtrace = 0
kernel.softlockup_panic = 0
kernel.split_lock_mitigate = 1
kernel.stack_tracer_enabled = 0
kernel.sysctl_writes_strict = 1
kernel.sysrq = 16
kernel.tainted = 12801
kernel.task_delayacct = 0
kernel.threads-max = 92605
kernel.timer_migration = 1
kernel.traceoff_on_warning = 0
kernel.tracepoint_printk = 0
kernel.unknown_nmi_panic = 0
kernel.unprivileged_bpf_disabled = 2
kernel.unprivileged_userns_clone = 1
kernel.user_events_max = 32768
kernel.usermodehelper.bset = 4294967295    511
kernel.usermodehelper.inheritable = 4294967295    511
kernel.version = #1 SMP PREEMPT_DYNAMIC Mon, 22 Sep 2025 22:08:35 +0000
kernel.warn_limit = 0
kernel.watchdog = 1
kernel.watchdog_cpumask = 0-3
kernel.watchdog_thresh = 10
kernel.yama.ptrace_scope = 1

I removed the "quiet" present on GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub and ran grub-mkconfig -o /boot/grub/grub.cfg. Also verified that there was no occurrence of the word "quiet" in the generated file.

I'm still greeted by the same black screen (keyboard doesn't seem to turn on, but screen's backlight comes on).

Last edited by BongoFriendee (2025-10-18 12:16:45)

Offline

#6 2025-10-18 07:48:11

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,086

Re: [SOLVED] Stuck on a black screen before GRUB

Please use [code][/code] tags. Edit your post in this regard.
CSM is the Compatibility Support Mode (might be called "somethingsomething BIOS mode" or "somethingsomething legacy mode") - it has nothing to do w/ "fast boot" (which just means the firmware skips some self tests)
Specifically this

"Set the BIOS default setting for pure UEFI mode or legacy support mode
[Enable]
When load default values, will load pure UEFI mode default values. Win8 and later OS support pure UEFI mode
[Disable]
When load default values, will load legacy support mode default values"

=> set it "enabled"

This is also completely different from what windows calls "fast start" and just means "I hibernate by pretend it's a full shutdown so you're impressed how fast windows can "boot"" - 3rd link below.
The latter is a problem for dual boots but will unlikely prevent grub from showing up.

https://wiki.archlinux.org/title/GRUB/T … ramebuffer - but you're at least the second reporter this month and the framebuffer mode didn't help the other either (but they're able to use systemd-boot, seems a grub specific bug)

Offline

#7 2025-10-18 12:30:30

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

Apologies. I have edited the post.

=> set it "enabled"

If you are referencing the "OS Optimized Defaults" option. It was already enabled. Per my post:

The closest to that is "OS Optimized Defaults", which is Enabled.

I have uncommented the option GRUB_TERMINAL_OUTPUT=console in /etc/default/grub and regenerated the grub.cfg. Still, the problem persists.
But maybe it didn't have an effect because as mentioned in the section:

Users who use NVIDIA proprietary driver might wish to disable GRUB's framebuffer as it can cause problems with the binary driver.

My laptop doesn't have NVIDIA. It is an Intel integrated graphics chip Intel Graphics HD 520 (full specs on my first post).

Offline

#8 2025-10-18 13:09:13

ironhak
Member
Registered: 2025-08-10
Posts: 71

Re: [SOLVED] Stuck on a black screen before GRUB

Hey

I know this answer may sound really vague, and it is because I'm a noob. But I had a similar problem on my laptop both with Arch and Nixos. I solved it by going on the arch iso, mounting again all the relevant partitions on /mnt, arch-chroot on it, and then run command to change ownesership of the whole disk to root.

I don't remember the exact command but maybe chatgpt or some kind sould here can provide it. Best luck

Offline

#9 2025-10-18 16:01:35

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,086

Re: [SOLVED] Stuck on a black screen before GRUB

You hopefully didn't chown recursively but either way, that's not gonna be the issue here since the OP doesn't get to the bootloader, so won't even attempt to access the root partition

@BongoFriendee, does systemd-boot work for you?

Offline

#10 2025-10-18 18:35:38

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

@BongoFriendee, does systemd-boot work for you?

I haven't tried it yet. I'll try it and come back with my results.

Offline

#11 2025-10-22 01:07:05

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

I reverted everything that was created with GRUB, removed it's entry with efibootmgr, then installed systemd-boot following the wiki https://wiki.archlinux.org/title/Systemd-boot. The bootloader now shows up. And I can even select to boot to Windows. But the Arch Linux entry gives me an error:
mount: /new_root: unknown filesystem type 'vfat'

And I'm dropped into an emergency shell. I couldn't find anything wrong with the configuration. So I cleaned everything again, removed the Arch installation and even increased the boot partition size from 100MB to 4GB. Installed eveything again, chose systemd-boot as the bootloader, followed the instructions and was met with the same error of unknown filesystem type 'vfat'.

Any Ideas?

Offline

#12 2025-10-22 07:40:26

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,086

Re: [SOLVED] Stuck on a black screen before GRUB

Assuming you didn't try to install arch on a v/ex/fat partition (don't, the root fs has/ to be POSIX compliant) you specified the esp/boot partition as root partition in the "options root=UUID=…" line of the config.

Offline

#13 2025-10-22 21:55:32

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

I installed Arch on the same /dev/sda5 (which I formatted again as btrfs to clean the previous install). I copied the arch.conf (as well as arch-fallback.conf) to /boot/loader/entries (this time around I chose /boot instead of /efi as ESP in hopes to keep things simple) and the "options" line in the file is in the following way:
options root=PARTUUID=XXXX-XXXX rootfstype=XXXX-XXXX add-efi-memmap
Which I then filled with the PARTUUID I got for /dev/sda1 from blkid and rootfstype I put "vfat", which is what blkid shows for the partition.

I also tried options root=UUID=XXXX-XXXX rw (using the UUID instead of PARTUUID, of course) that I saw in another archlinux forum topic and that also didn't work, giving me the same error "mount: /new_root: unknown filesystem type 'vfat'".

Offline

#14 2025-10-22 22:42:57

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,086

Re: [SOLVED] Stuck on a black screen before GRUB

You root partition would then be sda5, not sda1 and while vfat is a sane (mandatory) choice of the boot partition (ESP) it's a  complete nonstarter for the root partition (which is btrfs and you usually don't have to specify that)

Offline

#15 2025-10-22 23:57:19

BongoFriendee
Member
Registered: 2025-10-14
Posts: 8

Re: [SOLVED] Stuck on a black screen before GRUB

I finally got it working. I was under the impression I had to put the information of the boot partition instead.

Thanks everyone for the help!

Offline

#16 2025-10-23 06:33:46

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,086

Re: [SOLVED] Stuck on a black screen before GRUB

\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

Board footer

Powered by FluxBB