You are not logged in.
My bootloader is GRUB
I am trying to remove the screen to select arch linux on boot to improve boot speeds. I have tried to do this using the following wiki page https://wiki.archlinux.org/index.php/GR … and_tricks. I have modified the file accordingly so it now looks like this:
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=false
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
#GRUB_SAVEDEFAULT="true"
I then ran grub-mkconfig -o /boot/grub/grub.cfg to apply the changes according to this wiki page: https://wiki.archlinux.org/index.php/GRUB#Configuration
What am I doing wrong?
Last edited by samrob85 (2017-07-24 21:07:18)
Offline
https://wiki.archlinux.org/index.php/GR … _held_down
Last edited by archimboldo (2017-07-24 16:27:51)
Rules for problems.
Everyone has problems. Animals have problems. And buildings. And cats, and trees.
Problems are your friends. Treat them well.
Offline
That gave the same result as before, leaving the menu on for 10s
Offline
I then ran grub-mkconfig -o /boot/grub/grub.cfg to apply the changes
Were the changes actually applied to /boot/grub/grub.cfg?
You should post that file as well as /etc/default/grub
Presuming that grub.cfg was indeed altered then perhaps the Arch system is not in "control" of GRUB (ie, the bootloader is reading grub.cfg from another filesystem tree on your drive) — are you multibooting?
If so, gain control of GRUB from Arch by using `grub-install`, as per the wiki (or alter grub.cfg in the other system).
Offline
samrob85 wrote:I then ran grub-mkconfig -o /boot/grub/grub.cfg to apply the changes
Were the changes actually applied to /boot/grub/grub.cfg?
You should post that file as well as /etc/default/grub
Presuming that grub.cfg was indeed altered then perhaps the Arch system is not in "control" of GRUB (ie, the bootloader is reading grub.cfg from another filesystem tree on your drive) — are you multibooting?
If so, gain control of GRUB from Arch by using `grub-install`, as per the wiki (or alter grub.cfg in the other system).
#
# 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,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 91346820-9c45-4dea-ae14-6d73d2cdf29a
else
search --no-floppy --fs-uuid --set=root 91346820-9c45-4dea-ae14-6d73d2cdf29a
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_GB
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=0
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=0
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-91346820-9c45-4dea-ae14-6d73d2cdf29a' {
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 2942-BAF7
else
search --no-floppy --fs-uuid --set=root 2942-BAF7
fi
echo 'Loading Linux linux-lts ...'
linux /vmlinuz-linux-lts root=UUID=91346820-9c45-4dea-ae14-6d73d2cdf29a rw quiet
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-lts.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-91346820-9c45-4dea-ae14-6d73d2cdf29a' {
menuentry 'Arch Linux, with Linux linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-91346820-9c45-4dea-ae14-6d73d2cdf29a' {
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 2942-BAF7
else
search --no-floppy --fs-uuid --set=root 2942-BAF7
fi
echo 'Loading Linux linux-lts ...'
linux /vmlinuz-linux-lts root=UUID=91346820-9c45-4dea-ae14-6d73d2cdf29a rw quiet
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-lts.img
}
menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-fallback-91346820-9c45-4dea-ae14-6d73d2cdf29a' {
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 2942-BAF7
else
search --no-floppy --fs-uuid --set=root 2942-BAF7
fi
echo 'Loading Linux linux-lts ...'
linux /vmlinuz-linux-lts root=UUID=91346820-9c45-4dea-ae14-6d73d2cdf29a rw quiet
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-lts-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 ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/31_hold_shift ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/31_hold_shift ###
### 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 ###
This is the only install on the device
Offline
samrob85 wrote:I then ran grub-mkconfig -o /boot/grub/grub.cfg to apply the changes
Were the changes actually applied to /boot/grub/grub.cfg?
You should post that file as well as /etc/default/grub
Presuming that grub.cfg was indeed altered then perhaps the Arch system is not in "control" of GRUB (ie, the bootloader is reading grub.cfg from another filesystem tree on your drive) — are you multibooting?
If so, gain control of GRUB from Arch by using `grub-install`, as per the wiki (or alter grub.cfg in the other system).
Using grub-install says that It can't find the EFI directory
Offline
Using grub-install
Please post the full, exact command(s) used.
says that It can't find the EFI directory
Please post the full, exact error message.
https://bbs.archlinux.org/viewtopic.php?id=57855
Can we also please see the output of:
# parted --list
# efibootmgr -v
Offline
samrob85 wrote:Using grub-install
Please post the full, exact command(s) used.
says that It can't find the EFI directory
Please post the full, exact error message.
https://bbs.archlinux.org/viewtopic.php?id=57855
Can we also please see the output of:
# parted --list # efibootmgr -v
Output of grub-install:
$ grub-install
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory
Output of parted --list:
$ sudo parted --list
Model: ATA TOSHIBA-TR150 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot, esp
2 538MB 120GB 119GB ext4
Output of efibootmgr -v:
$ efibootmgr -v
bash: efibootmgr: command not found
Offline
$ grub-install
That is not the correct command, please consult the ArchWiki.
$ efibootmgr -v bash: efibootmgr: command not found
# pacman -Syu efibootmgr
# efibootmgr -v
Perhaps?
Offline
samrob85 wrote:$ grub-install
That is not the correct command, please consult the ArchWiki.
$ efibootmgr -v bash: efibootmgr: command not found
# pacman -Syu efibootmgr # efibootmgr -v
Perhaps?
$ efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,000A,0004,0005
Boot0001* Linux Boot Manager HD(1,GPT,02070504-e59d-4aa3-83ec-6d581f403205,0x800,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0004 UEFI: IP4 Realtek PCIe GBE Family Controller PciRoot(0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)/MAC(b888e36cd101,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)AMBO
Boot0005 UEFI: IP6 Realtek PCIe GBE Family Controller PciRoot(0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)/MAC(b888e36cd101,0)/IPv6([::]:<->[::]:,0,0)AMBO
Boot000A* ubuntu VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
$ grub-install --target=x86_64-efi --efi-directory=/dev/sda1 --bootloader-id=grub
Installing for x86_64-efi platform.
grub-install: error: failed to get canonical path of `dev'.
Offline
$ grub-install --target=x86_64-efi --efi-directory=/dev/sda1 --bootloader-id=grub Installing for x86_64-efi platform. grub-install: error: failed to get canonical path of `dev'.
You're supposed to declare the folder under which the EFI system partition is mounted rather than /dev/whatever
The command will need to be run whilst booted in UEFI mode to create a new NVRAM entry.
You seem to be booting with systemd-boot at the moment, which would explain why /etc/default/grub "isn't working"...
Offline
Basically everything you need is explained right here...read
https://wiki.archlinux.org/index.php/GR … and_an_ESP
Last edited by archimboldo (2017-07-24 20:35:25)
Rules for problems.
Everyone has problems. Animals have problems. And buildings. And cats, and trees.
Problems are your friends. Treat them well.
Offline
You need to use the mount point, not the device name...
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
Offline
samrob85 wrote:$ grub-install --target=x86_64-efi --efi-directory=/dev/sda1 --bootloader-id=grub Installing for x86_64-efi platform. grub-install: error: failed to get canonical path of `dev'.
You're supposed to declare the folder under which the EFI system partition is mounted rather than /dev/whatever
The command will need to be run whilst booted in UEFI mode to create a new NVRAM entry.
You seem to be booting with systemd-boot at the moment, which would explain why /etc/default/grub "isn't working"...
That fixed it, thanks so much for your help
Offline
Since you've been abundantly spoon-fed, don't forget to mark this topic as [SOLVED].
https://wiki.archlinux.org/index.php/Co … ow_to_post
Rules for problems.
Everyone has problems. Animals have problems. And buildings. And cats, and trees.
Problems are your friends. Treat them well.
Offline
Since you've been abundantly spoon-fed, don't forget to mark this topic as [SOLVED].
https://wiki.archlinux.org/index.php/Co … ow_to_post
Sorry, I tried for a few hours to solve my problem using the wiki and searching the forums but I didn't find anything to say that I was in the wrong boot mode. I will try harder in the future, I've only had Arch Linux for 1 day so am not very experienced in using it but hopefully, with time, I will develop my knowledge and skills.
Offline