Booting to black screen due to broken drivers

can you try TTY ( Ctrl + Alt + F2 to F7 )
and check

sudo journalctl -b0 -p4
sudo systemctl --failed 
1 Like

I was able to remove the word “quiet” from the grub settings and get some kind of error message when booting. Unfortunately, the only way I have to show you what it was is to take a picture of it, and I lack the reputation on this forum to post either direct image uploads or hyperlinks to external image hosting sites. So I guess I’ll have to direct you to imgur dot com /a/rOQ3dny.
I’d love to post the text itself but can’t see a way of doing so short of transcribing the whole thing.

can you boot on USB iso manjaro
open a terminal
and check with chroot

sudo manjaro-chroot -a ( type 1 if only one line 0 appears )
ls -lha /boot/* 
ls -lha /etc/mkinitcpio.d/*
mkinitcpio -P
update-grub
exit

check if errors occurs after mkinitcpio command

Sure can.

[manjaro-gnome /]# ls -lha /boot/*
-rw-r--r-- 1 root root  40K Sep  1 15:26 /boot/amd-ucode.img
-rw-r--r-- 1 root root  23M Sep 26 11:54 /boot/initramfs-5.4-x86_64-fallback.img
-rw-r--r-- 1 root root 2.2M Sep 26 11:54 /boot/initramfs-5.4-x86_64.img
-rw-r--r-- 1 root root  23M Sep 26 11:55 /boot/initramfs-5.7-x86_64-fallback.img
-rw-r--r-- 1 root root 1.9M Sep 26 11:54 /boot/initramfs-5.7-x86_64.img
-rw-r--r-- 1 root root  23M Sep 26 11:55 /boot/initramfs-5.8-x86_64-fallback.img
-rw-r--r-- 1 root root 1.9M Sep 26 11:55 /boot/initramfs-5.8-x86_64.img
-rw-r--r-- 1 root root   21 Sep  9 19:25 /boot/linux54-x86_64.kver
-rw-r--r-- 1 root root   21 Aug 28 21:21 /boot/linux57-x86_64.kver
-rw-r--r-- 1 root root   20 Sep  3 15:18 /boot/linux58-x86_64.kver
-rw-r--r-- 1 root root 6.2M Sep 26 11:48 /boot/vmlinuz-5.4-x86_64
-rw-r--r-- 1 root root 6.4M Sep 25 13:45 /boot/vmlinuz-5.7-x86_64
-rw-r--r-- 1 root root 6.5M Sep 26 11:53 /boot/vmlinuz-5.8-x86_64

/boot/grub:
total 44K
drwxr-xr-x 5 root root 4.0K Sep 26 11:53 .
drwxr-xr-x 4 root root 4.0K Sep 26 11:53 ..
drwxr-xr-x 2 root root 4.0K Jun 20 05:38 fonts
-rw-r--r-- 1 root root  10K Sep 26 11:53 grub.cfg
-rw-r--r-- 1 root root 1.0K Jun 20 05:39 grubenv
drwxr-xr-x 2 root root  12K Jun 20 05:38 i386-pc
drwxr-xr-x 3 root root 4.0K Jun 20 05:38 themes

/boot/memtest86+:
total 156K
drwxr-xr-x 2 root root 4.0K Jun  6 10:38 .
drwxr-xr-x 4 root root 4.0K Sep 26 11:53 ..
-rw-r--r-- 1 root root 147K May 16 12:45 memtest.bin
[manjaro-gnome /]# ls -lha /etc/mkinitcpio.d/*
-rw-r--r-- 1 root root 396 Aug 20 20:30 /etc/mkinitcpio.d/linux414.preset.pacsave
-rw-r--r-- 1 root root 392 Sep 26 11:48 /etc/mkinitcpio.d/linux54.preset
-rw-r--r-- 1 root root 392 Jun  6 10:39 /etc/mkinitcpio.d/linux56.preset.pacsave
-rw-r--r-- 1 root root 392 Aug 20 20:30 /etc/mkinitcpio.d/linux57.preset
-rw-r--r-- 1 root root 392 Sep 25 13:45 /etc/mkinitcpio.d/linux58.preset
  • have you installed other distribution DE or boot grub since manjaro installed ?
  • have you in line boot kernel IOMMU=pt

error that you get
error kernel boot

I can pretty confidently answer no.

can you boot on USB iso manjjaro ( live)
open a terminal & browser
and returns

sudo manjaro-chroot -a
cat /boot/grub/grub.cfg
exit
[manjaro-gnome /]# cat /boot/grub/grub.cfg 
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos4'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
else
  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=hidden
  set timeout=10
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 10 ; then
  set timeout=0
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos4'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
	else
	  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
	fi
	linux	/boot/vmlinuz-5.8-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
	initrd	/boot/amd-ucode.img /boot/initramfs-5.8-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
	menuentry 'Manjaro Linux (Kernel: 5.8.6-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.6-1-MANJARO x64-advanced-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.8-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/amd-ucode.img /boot/initramfs-5.8-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.8.6-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.6-1-MANJARO x64-fallback-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.8-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/initramfs-5.8-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.7.19-2-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.7.19-2-MANJARO x64-advanced-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.7-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/amd-ucode.img /boot/initramfs-5.7-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.7.19-2-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.7.19-2-MANJARO x64-fallback-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.7-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/initramfs-5.7-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.4.64-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.64-1-MANJARO x64-advanced-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.4-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 5.4.64-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.64-1-MANJARO x64-fallback-db3575c9-6f94-4ddc-a407-6c568c88e0e2' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos4'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
		else
		  search --no-floppy --fs-uuid --set=root db3575c9-6f94-4ddc-a407-6c568c88e0e2
		fi
		linux	/boot/vmlinuz-5.4-x86_64 root=UUID=db3575c9-6f94-4ddc-a407-6c568c88e0e2 rw  quiet apparmor=1 security=apparmor udev.log_priority=3
		initrd	/boot/initramfs-5.4-x86_64-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-6E9A90469A900CA9' {
	savedefault
	insmod part_msdos
	insmod ntfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  6E9A90469A900CA9
	else
	  search --no-floppy --fs-uuid --set=root 6E9A90469A900CA9
	fi
	parttool ${root} hidden-
	drivemap -s (hd0) ${root}
	chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-ieee1275='ieee1275//disk@0,msdos4' --hint-bios=hd0,msdos4 --hint-efi=hd0,msdos4 --hint-baremetal=ahci0,msdos4  db3575c9-6f94-4ddc-a407-6c568c88e0e2
        linux16 /boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

have you tried to boot with linux54 ?
boot , press Esc to see Grub
advanced > select 5.4 ,
remove quiet , add IOMMU=pt , modify apparmor=0

I have tried to boot with linux54 in general, but not with those specific settings. I will report back with another picture of the boot screen after lunch :slight_smile:

Unfortunately no success. I did take a picture and I now have the ability to post images, although I doubt it will be useful as it says much the same thing.

It’s a heavily messed up system. It’s still possible to fix it with knowledge and time, but most users will simply reinstall the system at this point. It’s quicker, unless you really want to learn a lot about Linux system.

On the other hand, this could still have a simple fix, like removing and installing kernels again, so I guess the fight may not be over. However, if kernels are OK but other components are messed up, haunting for what is happening is usually not worth it.

Many of us broke system till we learned how to use it ;D. On average, Manjaro users break system two times till get it right :stuck_out_tongue:.

You might well be correct about that. Do you have any tips on how best to reinstall the system though? In particular:

  • Which parts of the system can I just copy over in order to retain my customisation? I have a lot of packages installed, as well as custom fonts and the like.
  • I’ve had issues in the past caused by the fact that my hard drive is partitioned using MBR (master boot record) rather than GPT. Annoyingly, MBR can only have 4 primary partitions, and even more annoyingly, Windows 10 alone uses 3 of those, the 4th being taken up by my current Manjaro install. Therefore, I cannot create a new partition on which to install a new Manjaro without deleting one of the already present ones. I know there’s something I could do with extended partitions, but to create one of those I would still have to delete one of my current ones.

I really don’t want to reinstall without doing it properly, and risk messing things up even more.

That’s a tight spot. Usually, people break their systems which are fairly new so it’s not so bad to reinstall it.

In your case I would try those things:

  1. If you have a backup from timeshift, restore it. If not, be smarter next time and create ones.
  2. If you don’t have backup and all is in one partition, there is a high risk of corrupting data if you won’t do any formatting, so you need to save all important things manually.
  3. Boot into live system
  4. Attach your external HDD or USB (anything that you can fit your data) and copy to it:
  • /home/user/
  • /var/cache/pacman/pkg/ - you have there packages that you can double-click and install with pamac or there should be command to install everything from the given directory (thou this could cause some conflicts)
  1. Copy locations that you had some custom modifications
  2. Reinstall Manjaro, boot, log in, install the apps
  3. Bring back your home - here you can try different routes. Overwriting the data with current one in theory should work but sometimes causes some unforeseen issues, so I would bring back manually only files, /.config/. You still most likely come across issues so what I usually do is: I copy only configs of apps that I need to be personalized, I leave the rest in default state. Using old files to customize DE is possible but risky, so you may try them one by one. Remember that you can rename the folders to keep default one and the backup or other way around. Also, the order you do things matter and system will try overwrite your configs if you open apps that use them, it’s easy to make mistakes, so keep the backup on your HDD or USB till everything works as you want. Of course, DE changes are applied after session is restarted.

Also, remember about various hidden files in your /home/user/ directory, those carry configs too.

Most likely you won’t get smoothly the same system and you will have to do some customizations again. The process may be in theory easy, in practice is risky and you will encounter many problems, but you should be able to figure them out.

Wait for others input, maybe they have a better advice than manual system restore.

Using time shift is way quicker and easier, although restore process can go south as well. In worst cases, you may need to do restore few times till it works… In theory, it should be OK for the first time but… weird things with permissions and ownership can come across and cause conflicts, also some system files may be somehow inaccessible, etc.Luckily for the most time, it works as it should.

Ah, there are also different ways to restore installed packages. You can create list of those packages and then issue a command that reads from this list and install the packages anew. You have to keep repo and AUR packages on separate lists thou. I added some services that add such lists automatically after each update, so I can use them, just in case like yours. Don’t ask me how I did this, I don’t remember :stuck_out_tongue_winking_eye: . My system is 4 years old, so I fight to fix it in case of the serious issue and so far I saved it every time, although I was sure many times that this is it - no way of saving it, yet there was. But I never had kernel panic and such mess like yours, but as I said earlier, maybe there is way to fix it. I wouldn’t know because it’s beyond my skills.

Hmm. I will wait, as you say. I definitely appreciate the tips, which should be helpful if I do have to restore the system. The inability to make another partition is quite annoying, though - I was hoping that I could install a new Manjaro alongside the old one, allowing me to mount the old one and copy over files that way. Else I worry that I might forget some important files while copying over to an external drive (not to mention that even my biggest external drive isn’t big enough to hold all of my packages). Maybe there’s some nonsense I can do by moving all of my important files over to my Windows partition first and then moving them to my new install afterwards.
Your tip about the package list is probably quite helpful - I’ll have to look into the exact command. Though it will probably take me half a day to redownload everything, I’m more worried about forgetting some random AUR package and then not being able to remember what it was called later or something.

Don’t do that. Windows is on ntfs file system and that means it doesn’t have permissions and ownership. You will lose or mess up those when moving files to ntfs and back. But oh wait, if your HDD is on fat or ntfs, it can have this issue too. This would mean, you will have to probably bring back those with a command. A bit worse situation is with root files which can have more restrictive and differentiated settings or ownership. - as I said, this can be a mess…

In the worst case, if you will have copy of your files, you can try to re-install the system without formatting. What do you have to lose? Of course, this will mean that after the first boot, some old configs will be rewritten, because there will be no proper files or paths (to a wallpaper, app or a theme).

Rolling systems must have backups. Without them, you are stuck with the load of complicated work.

I found my notices, maybe you will find them useful:

  1. Creating a list of all installed packages
    pacman -Qq > installed-all.txt
    pacman -Qqn > installed-repo.txt
    pacman -Qqm > installed-aur.txt

  2. Installation from the list:
    pacman -S < installed-repo.txt
    trizen -S < installed-aur.txt (or yay, don’t know if it works, never tested it)

Of course, you must first chroot to the system you need the output from.
It’s possible that those commands won’t work as I wrote them down a while ago and some things could be changed.

I have had this problem after one of the updates of my Nvidia graphics driver but it doesn’t happen all the time. When I get a blank screen that won’t go any further I turn the monitor off (with the switch), pause for a few seconds, and then turn it back on. I see the graphics display. Skimming all the posts I know it is a problem and that I am not alone. I understand zero about why it is happening but this solution worked for me and it is too easy not to try.