You are not logged in.
I have a setup with a full disk encryption, including encrypted /boot, but my problem is not booting the encrypted systen, but the non encrypted rescue system.
sda: bios grub, uses /boot at sda3
sda1: win10
sda2: win10
sda3: luks1(btrfs(/boot + /root + /home))
sda4: ext4(/boot + /root + /home)
As said, booting sda3 works fine.
The problem is, booting my not encrypted rescue system at sda4:
If I select sda4 from grub boot loader menu (after decryption), it won't boot:
kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0)
But: the not encrypted rescue system at sda4 will boot normally in 2 cases:
- I select the initramfs-linux-fallback.img
- or when I rewrite grub at /sda to point at sda4
I suspect, something is missing in my initramfs.
But both /etc/mkinitcpio.conf are the same:
MODULES=(btrfs ext4)
HOOKS=(base systemd keyboard sd-vconsole autodetect modconf block sd-encrypt filesystems fsck)
Any ideas ?
Last edited by alf9009 (2020-03-15 10:56:45)
Offline
I did some guessing, I added these, and then regenerated mkinitcpio inside sda4:
MODULES=(btrfs ext4 dm_crypt sd_mod pata_acpi ata_generic ata_piix)
Still no luck, same error.
Offline
Do you need the dm_crypt module if your fallback system (which I assume it what you're referring to as your rescue system) on sda4? It's not encrypted you say.
I can't really help here in general though. I only run an encrypted home defined solely by my fstab as I recall. I don't think I needed to define any special modules in my mkinitcpio to do that.
Last edited by levi (2020-03-09 21:46:15)
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
I'm not really familiar with the topic either, but it sounds like the bootloader tries to boot the unencrypted sda4 with the initramdisk of the encrypted one.
The second "this-works" option sounds like the one you should actually use: point the bootloader at the correct partition and use kernel+initramdisk from there. You should create an according boot menu entry (or let grub-mkconfig create one).
hth,
deep42thought
Offline
Presumably if it's trying to read the initramfs off the encrypted partition, it'd be pretty obvious because I would assume it's asking for a password to unlock to do that, or maybe loading a key from some other device which should at least log. I've seen no indication that it's doing that, although to be fair exactly how it fails to boot hasn't been posted yet I think.
Actually, looking at the error message posted in the OP again, I'm thinking it's worth checking the kernel parameters in grub. Sounds like you have a kernel, which came from the correct partition which actually contains everything you need, but it thinks your rootfs is on a different partition.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Do you need the dm_crypt module if your fallback system (which I assume it what you're referring to as your rescue system) on sda4? It's not encrypted you say.
yes: fallback == rescue == sda4 / unencrypted
I'm not sure what's missing, so I added it, one module in addition is not so fatal as one is missing. :-)
I'm not really familiar with the topic either, but it sounds like the bootloader tries to boot the unencrypted sda4 with the initramdisk of the encrypted one.
I'll post the grub.cfg, I think this will show, that each system will use it's correct /boot kernel and initrd, I hope.
Sounds like you have a kernel, which came from the correct partition which actually contains everything you need, but it thinks your rootfs is on a different partition.
Oh thats a good idea!
How to check on runtime, which kernel and intitrd was used for booting and from which location ?
grub.cfg, auto generated:
# /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_msdos
insmod cryptodisk
insmod luks
insmod gcry_serpent
insmod gcry_serpent
insmod gcry_sha256
insmod btrfs
cryptomount -u 4197ff1c630342189950b471cb846bbb
set root='cryptouuid/4197ff1c630342189950b471cb846bbb'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='cryptouuid/4197ff1c630342189950b471cb846bbb' 2683b1c7-75da-480d-a6f9-4ad36c40f117
else
search --no-floppy --fs-uuid --set=root 2683b1c7-75da-480d-a6f9-4ad36c40f117
fi
font="/@r/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_DK
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
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-2683b1c7-75da-480d-a6f9-4ad36c40f117' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod cryptodisk
insmod luks
insmod gcry_serpent
insmod gcry_serpent
insmod gcry_sha256
insmod btrfs
cryptomount -u 4197ff1c630342189950b471cb846bbb
set root='cryptouuid/4197ff1c630342189950b471cb846bbb'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='cryptouuid/4197ff1c630342189950b471cb846bbb' 2683b1c7-75da-480d-a6f9-4ad36c40f117
else
search --no-floppy --fs-uuid --set=root 2683b1c7-75da-480d-a6f9-4ad36c40f117
fi
echo 'Loading Linux linux ...'
linux /@r/boot/vmlinuz-linux root=UUID=2683b1c7-75da-480d-a6f9-4ad36c40f117 rw rootflags=subvol=@r loglevel=3 quiet audit=0 nowatchdog iommu=off
echo 'Loading initial ramdisk ...'
initrd /@r/boot/intel-ucode.img /@r/boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-2683b1c7-75da-480d-a6f9-4ad36c40f117' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-2683b1c7-75da-480d-a6f9-4ad36c40f117' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod cryptodisk
insmod luks
insmod gcry_serpent
insmod gcry_serpent
insmod gcry_sha256
insmod btrfs
cryptomount -u 4197ff1c630342189950b471cb846bbb
set root='cryptouuid/4197ff1c630342189950b471cb846bbb'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='cryptouuid/4197ff1c630342189950b471cb846bbb' 2683b1c7-75da-480d-a6f9-4ad36c40f117
else
search --no-floppy --fs-uuid --set=root 2683b1c7-75da-480d-a6f9-4ad36c40f117
fi
echo 'Loading Linux linux ...'
linux /@r/boot/vmlinuz-linux root=UUID=2683b1c7-75da-480d-a6f9-4ad36c40f117 rw rootflags=subvol=@r loglevel=3 quiet audit=0 nowatchdog iommu=off
echo 'Loading initial ramdisk ...'
initrd /@r/boot/intel-ucode.img /@r/boot/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-2683b1c7-75da-480d-a6f9-4ad36c40f117' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod cryptodisk
insmod luks
insmod gcry_serpent
insmod gcry_serpent
insmod gcry_sha256
insmod btrfs
cryptomount -u 4197ff1c630342189950b471cb846bbb
set root='cryptouuid/4197ff1c630342189950b471cb846bbb'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='cryptouuid/4197ff1c630342189950b471cb846bbb' 2683b1c7-75da-480d-a6f9-4ad36c40f117
else
search --no-floppy --fs-uuid --set=root 2683b1c7-75da-480d-a6f9-4ad36c40f117
fi
echo 'Loading Linux linux ...'
linux /@r/boot/vmlinuz-linux root=UUID=2683b1c7-75da-480d-a6f9-4ad36c40f117 rw rootflags=subvol=@r loglevel=3 quiet audit=0 nowatchdog iommu=off
echo 'Loading initial ramdisk ...'
initrd /@r/boot/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 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-C4668B7C668B6E4C' {
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 C4668B7C668B6E4C
else
search --no-floppy --fs-uuid --set=root C4668B7C668B6E4C
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry 'Arch Linux 32 (on /dev/sda4)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-37107726-d387-47fe-bec9-1422f8e92042' {
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 37107726-d387-47fe-bec9-1422f8e92042
else
search --no-floppy --fs-uuid --set=root 37107726-d387-47fe-bec9-1422f8e92042
fi
linux /boot/vmlinuz-linux root=UUID=37107726-d387-47fe-bec9-1422f8e92042 rw loglevel=3 quiet audit=0 nowatchdog iommu=off
initrd /boot/intel-ucode.img
}
submenu 'Advanced options for Arch Linux 32 (on /dev/sda4)' $menuentry_id_option 'osprober-gnulinux-advanced-37107726-d387-47fe-bec9-1422f8e92042' {
menuentry 'Arch Linux (on /dev/sda4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--37107726-d387-47fe-bec9-1422f8e92042' {
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 37107726-d387-47fe-bec9-1422f8e92042
else
search --no-floppy --fs-uuid --set=root 37107726-d387-47fe-bec9-1422f8e92042
fi
linux /boot/vmlinuz-linux root=UUID=37107726-d387-47fe-bec9-1422f8e92042 rw loglevel=3 quiet audit=0 nowatchdog iommu=off
initrd /boot/intel-ucode.img
}
menuentry 'Arch Linux, with Linux linux (on /dev/sda4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--37107726-d387-47fe-bec9-1422f8e92042' {
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 37107726-d387-47fe-bec9-1422f8e92042
else
search --no-floppy --fs-uuid --set=root 37107726-d387-47fe-bec9-1422f8e92042
fi
linux /boot/vmlinuz-linux root=UUID=37107726-d387-47fe-bec9-1422f8e92042 rw loglevel=3 quiet audit=0 nowatchdog iommu=off
initrd /boot/intel-ucode.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/sda4)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--37107726-d387-47fe-bec9-1422f8e92042' {
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 37107726-d387-47fe-bec9-1422f8e92042
else
search --no-floppy --fs-uuid --set=root 37107726-d387-47fe-bec9-1422f8e92042
fi
linux /boot/vmlinuz-linux root=UUID=37107726-d387-47fe-bec9-1422f8e92042 rw loglevel=3 quiet audit=0 nowatchdog iommu=off
initrd /boot/initramfs-linux-fallback.img
}
}
### END /etc/grub.d/30_os-prober ###
### 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 ###
ok menuentry 'Arch Linux'
ok menuentry 'Windows 10 (on /dev/sda1)'
fail menuentry 'Arch Linux 32 (on /dev/sda4)'
fail menuentry 'Arch Linux (on /dev/sda4)'
fail menuentry 'Arch Linux, with Linux linux (on /dev/sda4)'
ok menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/sda4)'
no major modifications here:
# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet audit=0 nowatchdog iommu=off"
GRUB_ENABLE_CRYPTODISK=y
Offline
Looks like the builder built the initrd lines wrongly. You should be left with something like /boot/initramfs-linux.img on those lines, not intel-ucode.img (whatever that is).
There may be more to it, but that's the only weirdness I spotted on my initial run through.
Edit: In practice that's likely to be something wrong in your /etc/grub.d/10-linux file about 58% of the way through the file (according to less) is where that line is constructed by the automatic builders.
Mine looks like this:
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
message="$(gettext_printf "Loading initial ramdisk ...")"
initrd_path=
for i in ${initrd}; do
initrd_path="${initrd_path} ${rel_dirname}/${i}"
done
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
initrd $(echo $initrd_path)
EOF
fi
Edit2: Actually looks like those lines come from 30-os-prober, but I haven't figured out exactly what's going on there. Line 210 seems to derive the initrd to use, but that comes from a call to linux-boot-prober which doesn't seem to be present on my grub-based systems.
Last edited by levi (2020-03-15 07:42:24)
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Looks like the builder built the initrd lines wrongly. You should be left with something like /boot/initramfs-linux.img on those lines, not intel-ucode.img (whatever that is).
Ohh! YES ! That's the problem. Thanks for spotting this!!!
I overlooked it, I was searching the error in the initramfs-linux.img...
I have now created my own simple grub entry, to boot from the encrypted sda3 the unencrypted sda4:
#!/bin/sh -e
# sudoedit /etc/grub.d/90_sda4
# sudo chmod +x /etc/grub.d/90_*; ls -la /etc/grub.d/
# sudo grub-mkconfig -o /boot/grub/grub.cfg
echo "Found ARCH sda4" >&2
cat << EOF
menuentry "ARCH sda4" {
insmod part_msdos
insmod part_gpt
insmod btrfs
insmod ext2
insmod gzio
set root='hd0,msdos4'
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux rw loglevel=3 quiet audit=0 nowatchdog iommu=off root=/dev/sda4
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
}
EOF
Should have done this earlier, shame on my head.
BTW, intel-ucode.img is the Microcode update files for Intel CPUs, intel-ucode package.
Thanks very much for your help levi !
Offline
Okay, that's good to hear. You might also need an entry for the initrd on sda4 failback because the one bullt by 30-os-prober doesn't include the intel-ucode.img unless that's done deliberately to discriminate from microcode introduced errors.
I'm not sure why my system hasn't got intel-ucode.img included but perhaps it's because it's using such an old CPU - a Pentum branded E2220 if I recall correctly. I know it has more leakage avenues than the equally old Atom cpu in my netbook, but lscpu says 'not affected' for all my vulnerabilities on my Atom CPU, so that's not surprising. It's core microarchitecture-based, so I'd expect some more vulnerabilities, but perhaps it doesn't have the exact ones addressed by that microcode drop?
Edit: It also doesn't answer why 30-os-prober built the initrc line wrong. Maybe it's been scuppered by the introduction of this new microcode entry that's broken things. Out of interest, on which OS did you build this grub.cfg - on an upstream 64-bit archlinux or on our OS?
Last edited by levi (2020-03-15 23:17:33)
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
initramfs-linux-fallback.img
Thanks for the tipp, I know it's there, but I never was in trouble to use it at any machine in the last 8 years. But I know how to use the "e" Key in grub menu :-)
microcode update:
[ 0.130078] microcode: microcode updated early to revision 0x218, date = 2009-04-10
So it's used, I have an Asus 1000h netbook, Intel(R) Atom(TM) CPU N270 @ 1.60GHz
The 30-os-prober, and all the arch's on this machine are original arch32 OS :-)
Only the Windows 10 is from M$ :-( - but I use it very seldom ;-)
I was curious:
I removed from the un-encrypted sda4 the intel-ucode.img in the / folder, and then let os-probe and grub rebuild the grub.cfg on the encrypted sda3 system:
diff 3 4
202c202
< initrd /boot/intel-ucode.img
---
> initrd /boot/initramfs-linux.img
215c215
< initrd /boot/intel-ucode.img
---
> initrd /boot/initramfs-linux.img
227c227
< initrd /boot/intel-ucode.img
---
> initrd /boot/initramfs-linux.img
That would have solved it too.
The os-prober 1.77-1.0 in arch32 is the same as in arch64, or do we have some special modifications ?
If not the error could also be in upstream arch64. Or there is some arch32 specific issue like the the bug "keyboard layout not honored on boot" I remember.
Offline
I don't have grub set up on my netbook; I remember having trouble getting it working, so I went for syslinux as used by the boot isos. But i do use it on my arch64 boxen since that seemed the simplest way to set up my encrypted home folder there.
I don't recall hearing about a difference with os-prober, so I expect it's built from the same source as the 64-bit one. There might just be a missing patch though as recently happened with strip.sh.
I do have intel-ucode.img on my netbook by the way, although I'd still not sure it's actually necessary. I don't have it on my 64-bit box where it might be more useful though.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
instead of os-probe (ok I need it still for the WIn 10 part) I have found a better way for any another Linux OS, in general I think,
the unencrpted sda4 is almost complete, /boot, grub, grub.cfg, etc.
so I use now grub "configfile" command to "chainload" the other partition - no need to inpect any kernel, initram files before on that partition, also all special kernel parameters etc for this partition are kept:
#!/bin/sh -e
# sudoedit /etc/grub.d/91_configfile_hd0_msdos4
# sudo chmod --verbose +x /etc/grub.d/91*
# sudo grub-mkconfig -o /boot/grub/grub.cfg
DEVICE="hd0,msdos4";
echo "Found configfile ${DEVICE}" >&2
cat << EOF
menuentry "configfile ${DEVICE}" {
insmod part_msdos
insmod part_gpt
insmod btrfs
insmod ext2
set root='${DEVICE}'
configfile /boot/grub/grub.cfg
}
EOF
When choosing this grub entry, grub loads on-the-fly this grub.cfg file from the other partition and shows that menu :-)
Offline
Yes, that may be a slightly simpler fix to you but it doesn't explain why 30-os-probe is so hideously broken [might be an exaggeration]. I tried running linux-os-probe on my 64-bit machine, but I only have one OS installed there and it didn't report anything, so I don't actually know how it's mean to work in practice.
I'll have to have a look at my 30-os-probe which is currently only on my 64-bit box which I don't run during the daytime for power reasons. I'll update the post with any more if I can come up with anything after looking at that.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
I reproduced the issue on arch64, in a vbox, minimal setup, no encryption, simple setup with ext4 on sda1 and sda2,
If I have time a make a bug report.
[root@archlinux ~]# 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="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_msdos
insmod ext2
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 cc390cf7-a88c-43ec-9170-f07b6f072115
else
search --no-floppy --fs-uuid --set=root cc390cf7-a88c-43ec-9170-f07b6f072115
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=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
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-cc390cf7-a88c-43ec-9170-f07b6f072115' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
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 cc390cf7-a88c-43ec-9170-f07b6f072115
else
search --no-floppy --fs-uuid --set=root cc390cf7-a88c-43ec-9170-f07b6f072115
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-cc390cf7-a88c-43ec-9170-f07b6f072115' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-cc390cf7-a88c-43ec-9170-f07b6f072115' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
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 cc390cf7-a88c-43ec-9170-f07b6f072115
else
search --no-floppy --fs-uuid --set=root cc390cf7-a88c-43ec-9170-f07b6f072115
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/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-cc390cf7-a88c-43ec-9170-f07b6f072115' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
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 cc390cf7-a88c-43ec-9170-f07b6f072115
else
search --no-floppy --fs-uuid --set=root cc390cf7-a88c-43ec-9170-f07b6f072115
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/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-3b0cff66-3232-4588-b41a-3767c06eedcd' {
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos2' --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3b0cff66-3232-4588-b41a-3767c06eedcd
else
search --no-floppy --fs-uuid --set=root 3b0cff66-3232-4588-b41a-3767c06eedcd
fi
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
initrd /boot/intel-ucode.img
}
submenu 'Advanced options for Arch Linux (on /dev/sda2)' $menuentry_id_option 'osprober-gnulinux-advanced-3b0cff66-3232-4588-b41a-3767c06eedcd' {
menuentry 'Arch Linux (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--3b0cff66-3232-4588-b41a-3767c06eedcd' {
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos2' --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3b0cff66-3232-4588-b41a-3767c06eedcd
else
search --no-floppy --fs-uuid --set=root 3b0cff66-3232-4588-b41a-3767c06eedcd
fi
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
initrd /boot/intel-ucode.img
}
menuentry 'Arch Linux, with Linux linux (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--3b0cff66-3232-4588-b41a-3767c06eedcd' {
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos2' --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3b0cff66-3232-4588-b41a-3767c06eedcd
else
search --no-floppy --fs-uuid --set=root 3b0cff66-3232-4588-b41a-3767c06eedcd
fi
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
initrd /boot/intel-ucode.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs) (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--3b0cff66-3232-4588-b41a-3767c06eedcd' {
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos2' --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 3b0cff66-3232-4588-b41a-3767c06eedcd
else
search --no-floppy --fs-uuid --set=root 3b0cff66-3232-4588-b41a-3767c06eedcd
fi
linux /boot/vmlinuz-linux root=UUID=cc390cf7-a88c-43ec-9170-f07b6f072115 rw loglevel=3 quiet
initrd /boot/initramfs-linux-fallback.img
}
}
### END /etc/grub.d/30_os-prober ###
### 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 ###
Offline
already known, since 2014:
https://bugs.archlinux.org/?project=5&string=os-prober
:-(
Offline