You are not logged in.

#1 2022-03-23 16:22:19

hematinik
Member
Registered: 2022-03-23
Posts: 34

[Solved] Blank screen after GRUB

I have two Arch Linux installations on my machine (I cloned SDA2 to SDA3 using "clonezilla") then I re-installed GRUB on SDA3 and it detects both partitions at the boot menu, but the problem is that I can only boot into the SDA3. by selecting SDA2 from GRUB menu the system freeze with a blank screen (right after selecting the boot partition from GRUB). I can confirm that the SDA2 instance is bootable because If I install GRUB on the SDA2 it will boot normally but in that case the SDA3 would freeze on boot.

Here is the exact symptoms and what I've tried to fix it so far:

    - The screen goes blank right after selecting the boot partition from GRUB
    - No TTY , I can not even access the prompt blindly
    - No blinking cursor, No boot message despite removing "quiet" from boot parameters

I checked the system configuration and it seems to be correct:

    - both of the "/etc/fstab" files mount the correct UUID on the both partitions
    - the "/boot/grub/grub.cfg" points at the correct UUID for the both partitions
    - the "/etc/machine-id" files are unique
    - the "load_video" parameter is present for the boot option

What I did to fix so far and did not worked:

    - passing "nomodeset" and "nouveau.modeset=0" and "noacpi" as the boot parameters
    - re-installing GRUB on SDA3 using (sudo grub-install --target=x86_64-efi --efi-directory=/boot --removable --recheck)
    - executed "mkinitcpio -P" on both installations after "grub-install"
   

I am confused and I'd appreciate any kind of suggestion.

Last edited by hematinik (2022-03-24 14:39:27)

Offline

#2 2022-03-23 17:39:44

Ferdinand
Member
From: Norway
Registered: 2020-01-02
Posts: 334

Re: [Solved] Blank screen after GRUB

Did you generate the Grub configuration file?
https://wiki.archlinux.org/title/Grub#G … ation_file

Offline

#3 2022-03-24 04:27:50

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

Ferdinand wrote:

Did you generate the Grub configuration file?
https://wiki.archlinux.org/title/Grub#G … ation_file

Yes very often!

Offline

#4 2022-03-24 07:25:36

Ferdinand
Member
From: Norway
Registered: 2020-01-02
Posts: 334

Re: [Solved] Blank screen after GRUB

And when you have booted from SDA3 and run grub-mkconfig, you have SDA2 mounted?
https://wiki.archlinux.org/title/Grub#D … ng_systems

Offline

#5 2022-03-24 12:21:48

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

Yes and the "grub-mkconfig" detects the installation. It is weird because I had the exact same setup with Manjaro and it was working perfectly! maybe there's some kind of magic in Manjaro's "update-grub" command ?

Offline

#6 2022-03-24 12:51:55

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [Solved] Blank screen after GRUB

"Cloning" ususally implies a bit for bit copy, did you make sure to generate new UUIDs? If the disks now share an UUID it will be up to whoever gets detected first.

In general, more actual files/facts/system outputs would be nice , post the outputs of

lsblk -f

the contents of your /etc/fstab(s) as well as the generated /boot/grub/grub.cfg in code tags: https://bbs.archlinux.org/help.php#bbcode

Last edited by V1del (2022-03-24 12:53:14)

Offline

#7 2022-03-24 14:36:34

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

[Solution]
Hooray! I solved the problem and the "grub-mkconfig" is to blame . it was not adding "/initramfs-linux.img" to "initrd" automatically so I did it manually and now I can boot into SDA2. just in case that someone else might find this information useful I'm going to describe how to solve such problem.

The "grub-mkconfig" was always a pain in my back because when you have a setup like I do, you have to edit "/boot/grub/grub.cfg" and fix a few things for your secondary installation and you have to do that each time "grub-mkconfig" gets executed (and after system updates). suppose you have the GRUB installed on SDA2 and you want to add SDA3 to the boot options so you run the infamous "grub-mkconfig", it does a good job when generating boot configuration for SDA2 but will cut the corners when it comes to SDA3!

These 3 parameters are not added automatically to the second boot entry's parameters so you may have to add them manually:

load_video
set gfxpayload=keep
insmod gzio

after that you need to edit the UUID to point at the correct partition because "grub-mkconfig" used the current install's UUID for the second boot entry..!

linux	/vmlinuz-linux root=UUID=e7c8845d-8138-4dff-9a2d-a04b6d812fa7

last but not least which was my case, the "/initramfs-linux.img" was missing after "initrd", perhaps because I have "intel-ucode" installed and "grub-mkconfig" skip adding the second image so I added that manually

initrd /intel-ucode.img /initramfs-linux.img

Last edited by hematinik (2022-03-24 14:50:47)

Offline

#8 2022-03-24 14:41:26

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [Solved] Blank screen after GRUB

A secondary OS would/should be defined by enabling os-prober in the /etc/default/grub and then mounting the second paritition somewhere before running grub-mkconfig. Otherwise it will assume all kernels it finds to belong to the same base.

But yes manually creating the proper config will always work.

Offline

#9 2022-03-24 14:49:58

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

V1del wrote:

A secondary OS would/should be defined by enabling os-prober in the /etc/default/grub and then mounting the second paritition somewhere before running grub-mkconfig. Otherwise it will assume all kernels it finds to belong to the same base.

That's right and I didn't miss those steps.. that's why I am surprised by how the "grub-mkconfig" does its job. I am convinced that this is a bug in GRUB, what do you think?

Offline

#10 2022-03-24 14:56:38

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [Solved] Blank screen after GRUB

Without the outputs I asked for I can't really make any useful statements here, from what it sounds like you do not actually have distinct kernels for the two systems (?) where are your kernel images located? Both on the ESP? I'm assuming one or the other entry will break when either of them has a kernel update

Offline

#11 2022-03-24 15:24:36

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

V1del wrote:

Without the outputs I asked for I can't really make any useful statements here, from what it sounds like you do not actually have distinct kernels for the two systems (?) where are your kernel images located? Both on the ESP? I'm assuming one or the other entry will break when either of them has a kernel update

My apologies for not providing the info. you guessed it right, the kernels are identical for both installations. I think there's only one kernel image in the ESP, that's beyond my knowledge and I will appreciate if you guide me through it.

my ESP structure

/boot
├── EFI
│   ├── BOOT
│   └── arch
├── grub
│   ├── fonts
│   ├── grub.cfg
│   ├── grubenv
│   ├── locale
│   ├── themes
│   └── x86_64-efi
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── intel-ucode.img
└── vmlinuz-linux

The block device list

sda                                                                             
├─sda1 vfat   FAT16         1364-9885                             230.1M    23% /boot
├─sda2 ext4   1.0           2f46119a-bcbb-4056-af22-b13f660a3da8                
└─sda3 ext4   1.0           e7c8845d-8138-4dff-9a2d-a04b6d812fa7   95.6G     8% /

The "/boot/grub/grub.cfg" file

#
# 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="0"
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
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  e7c8845d-8138-4dff-9a2d-a04b6d812fa7
else
  search --no-floppy --fs-uuid --set=root e7c8845d-8138-4dff-9a2d-a04b6d812fa7
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=3
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=3
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e7c8845d-8138-4dff-9a2d-a04b6d812fa7' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
	else
	  search --no-floppy --fs-uuid --set=root 1364-9885
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=e7c8845d-8138-4dff-9a2d-a04b6d812fa7 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-e7c8845d-8138-4dff-9a2d-a04b6d812fa7' {
	menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-e7c8845d-8138-4dff-9a2d-a04b6d812fa7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=e7c8845d-8138-4dff-9a2d-a04b6d812fa7 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /initramfs-linux.img
	}
	menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-e7c8845d-8138-4dff-9a2d-a04b6d812fa7' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=e7c8845d-8138-4dff-9a2d-a04b6d812fa7 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /initramfs-linux-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 'Arch Linux (on /dev/sda2)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-2f46119a-bcbb-4056-af22-b13f660a3da8' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
	else
	  search --no-floppy --fs-uuid --set=root 1364-9885
	fi
	linux /vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
	initrd /intel-ucode.img /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux (on /dev/sda2)' $menuentry_id_option 'osprober-gnulinux-advanced-2f46119a-bcbb-4056-af22-b13f660a3da8' {
	menuentry 'Arch Linux (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-linux--2f46119a-bcbb-4056-af22-b13f660a3da8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		linux /vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		initrd /intel-ucode.img /initramfs-linux.img
	}
	menuentry 'Arch Linux, with Linux linux (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-linux--2f46119a-bcbb-4056-af22-b13f660a3da8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		linux /vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		initrd /intel-ucode.img /initramfs-linux.img
	}
	menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-linux--2f46119a-bcbb-4056-af22-b13f660a3da8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		linux /vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		initrd /intel-ucode.img /initramfs-linux-fallback.img
	}
}

### 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 ###

The "/etc/fstab" files

# /dev/sda3
UUID=e7c8845d-8138-4dff-9a2d-a04b6d812fa7	/         	ext4      	rw,relatime	0 1

# /dev/sda1
UUID=1364-9885      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2
# /dev/sda2
UUID=2f46119a-bcbb-4056-af22-b13f660a3da8	/         	ext4      	rw,relatime	0 1

# /dev/sda1
UUID=1364-9885      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

Offline

#12 2022-03-24 15:50:18

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [Solved] Blank screen after GRUB

There are 2 ways around this.

Iinstead of mounting the ESP to /boot, mount it to /efi or whatever you should now have an empty /boot either manually copy the contents safe for the EFI directory over, or do

mkinitcpio -P
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB #Has to be done so that GRUB considers the "new" /boot as it's logical default settings/config directory.
#Mount /dev/sda2 (... or 3, whatever is the drive you are not currently actively using), that should likewise have an empty /boot , copy the kernel initramfs vmlinuz and intel-ucode there as well
#Uncomment the os prober line from /etc/default/grub with whatever means
grub-mkconfig -o /boot/grub/grub.cfg

At the end of this, you should not have kernels in the /efi mount point, have  a set of vmlinuz-linux, initramfs and intel-ucode in both /boot locations, and the generated grub.cfg should contain distinct entries for the "current" main system you are actively on and for the ones from your mount point.

The second alternative would be adjusting the /etc/mkinitcpio.d/linux.preset on one of the hosts/systems so that it generates distinct kernel names so you actually have two distinct sets of kernels and then run mkinitcpio -P on there so that you have different kernels.

The second alternative would be a bit easier to just do now, but I'd personally minimise usage of the ESP as I've seen my fair share of FAT file system corruptions.

Last edited by V1del (2022-03-25 08:35:12)

Offline

#13 2022-03-25 08:08:53

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

V1del wrote:

There are 2 ways around this ...

I can't thank you enough for your guidance. for the record, I chose to follow the second method like so:

mkinitcpio --generate /boot/initramfs-linux-sda3.img

Updated "/etc/mkinitcpio.d/linux.preset"

# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux-sda3.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-linux-fallback.img"
fallback_options="-S autodetect"

And finally

sudo mkinitcpio -P
sudo grub-mkconfig -o /boot/grub/grub.cfg

I'm not sure if I missed anything or that should do the trick. still my mind is not clear on "vmlinuz-linux" file. should I do anything about it?

Offline

#14 2022-03-25 08:37:43

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [Solved] Blank screen after GRUB

you should give that a distinct name as well, otherwise this will break when one updates and the other doesn't

Offline

#15 2022-03-25 16:29:25

hematinik
Member
Registered: 2022-03-23
Posts: 34

Re: [Solved] Blank screen after GRUB

V1del wrote:

you should give that a distinct name as well, otherwise this will break when one updates and the other doesn't

I could not find the proper method to do that if there's any! so I'm assuming just duplicating the file and editing the boot entry would suffice? I mean If I boot into "vmlinuz-sda3" then the "sudo pacman -Syu" will update it ?

UPDATE 1:

I found this topic: https://bbs.archlinux.org/viewtopic.php?id=157799, I'm going to rename "/boot/vmlinuz-linux" to "/boot/vmlinuz-linux-sda3" and update "/boot/grub/grub.cfg" and "/etc/mkinitcpio.d/linux.preset" accordingly. yet I'm not sure if that's the way to do it!

UPDATE 2:

Finally I managed to setup my ESP partition "properly" so updating one system would not break the other. the previous method didn't work as expected so I came up with this scheme at "/boot"

/boot
├── EFI
│   ├── BOOT
│   └── arch
├── arch-sda2
│   ├── initramfs-linux-fallback.img
│   ├── initramfs-linux.img
│   └── vmlinuz-linux
├── arch-sda3
│   ├── initramfs-linux-fallback.img
│   ├── initramfs-linux.img
│   └── vmlinuz-linux
├── grub
│   ├── fonts
│   ├── grub.cfg
│   ├── grub.cfg.bak
│   ├── grubenv
│   ├── locale
│   ├── themes
│   └── x86_64-efi
└── intel-ucode.img

[NOTE 1] you have to manually move "vmlinuz-linux" into its respective directory after each system update. for example if you run "Sudo pacman -S linux" when you are booted into SDA2 installation, you must run this afterwards:

sudo mv /boot/vmlinuz-linux /boot/arch-sda2/vmlinuz-linux

[NOTE 2]
If you are running "mkinitcpio -P" make sure you have the correct "vmlinuz-linux" at the "/boot", for example If you run "mkinitcpio -P" on SDA2 installation you must run this beforehand:

sudo cp -r /boot/arch-sda2/vmlinuz-linux /boot/vmlinuz-linux

the following are my configuration files:

GRUB configuration

# /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="0"
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
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  925a985e-a2a9-48cf-acae-16ec1c4a17dd
else
  search --no-floppy --fs-uuid --set=root 925a985e-a2a9-48cf-acae-16ec1c4a17dd
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=3
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=3
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux (on /dev/sda3)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-925a985e-a2a9-48cf-acae-16ec1c4a17dd' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
	else
	  search --no-floppy --fs-uuid --set=root 1364-9885
	fi
	echo	'Loading Linux linux ...'
	linux	/arch-sda3/vmlinuz-linux root=UUID=925a985e-a2a9-48cf-acae-16ec1c4a17dd rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /arch-sda3/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-925a985e-a2a9-48cf-acae-16ec1c4a17dd' {
	menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-925a985e-a2a9-48cf-acae-16ec1c4a17dd' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		echo	'Loading Linux linux ...'
		linux	/arch-sda3/vmlinuz-linux root=UUID=925a985e-a2a9-48cf-acae-16ec1c4a17dd rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /arch-sda3/initramfs-linux.img
	}
	menuentry 'Arch Linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-925a985e-a2a9-48cf-acae-16ec1c4a17dd' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
		else
		  search --no-floppy --fs-uuid --set=root 1364-9885
		fi
		echo	'Loading Linux linux ...'
		linux	/arch-sda3/vmlinuz-linux root=UUID=925a985e-a2a9-48cf-acae-16ec1c4a17dd rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /arch-sda3/initramfs-linux-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 'Arch Linux (on /dev/sda2)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2f46119a-bcbb-4056-af22-b13f660a3da8' {
  load_video
  set gfxpayload=keep
  insmod gzio
  insmod part_gpt
  insmod fat
  set root='hd0,gpt1'
  if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
  else
    search --no-floppy --fs-uuid --set=root 1364-9885
  fi
  echo  'Loading Linux linux ...'
  linux /arch-sda2/vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
  echo  'Loading initial ramdisk ...'
  initrd  /intel-ucode.img /arch-sda2/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-2f46119a-bcbb-4056-af22-b13f660a3da8' {
  menuentry 'Arch Linux, Stable' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-2f46119a-bcbb-4056-af22-b13f660a3da8' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
    else
      search --no-floppy --fs-uuid --set=root 1364-9885
    fi
    echo  'Loading Linux linux ...'
    linux /arch-sda2/vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
    echo  'Loading initial ramdisk ...'
    initrd  /intel-ucode.img /arch-sda2/initramfs-linux.img
  }
  menuentry 'Arch Linux, Stable (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-2f46119a-bcbb-4056-af22-b13f660a3da8' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod fat
    set root='hd0,gpt1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  1364-9885
    else
      search --no-floppy --fs-uuid --set=root 1364-9885
    fi
    echo  'Loading Linux linux ...'
    linux /arch-sda2/vmlinuz-linux root=UUID=2f46119a-bcbb-4056-af22-b13f660a3da8 rw  loglevel=3 btusb.enable_autosuspend=n usbcore.autosuspend=-1 usbcore.autosuspend_delay_ms=-1
    echo  'Loading initial ramdisk ...'
    initrd  /intel-ucode.img /arch-sda2/initramfs-linux-fallback.img
  }
}
### 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 ###

the "mkinitcpio" preset file on /dev/sda2

#/etc/mkinitcpio.d/linux.preset
# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/arch-sda2/initramfs-linux.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/arch-sda2/initramfs-linux-fallback.img"
fallback_options="-S autodetect"

the "mkinitcpio" preset file on /dev/sda3

#/etc/mkinitcpio.d/linux.preset
# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/arch-sda3/initramfs-linux.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/arch-sda3/initramfs-linux-fallback.img"
fallback_options="-S autodetect"

Last edited by hematinik (2022-03-27 12:17:10)

Offline

Board footer

Powered by FluxBB