Arch Linux ne montre pas le bootloader sur le système UEFI

J'ai récemment installé Arch sur mon ordinateur portable (Dell Precision M4500). Je venais de changer le disque dur, donc j'ai dû partitionner à partir de zéro pendant l'installation. J'ai choisi d'aller chercher une partition GPT et de configurer mon système pour démarrer avec UEFI.

Lors de l'installation, j'ai essayé d'installer GRUB et j'ai échoué car j'utilisais la command traditionnelle pour installer sur un disque MBR ( grub-install /dev/sda ). Cela a échoué avec un message sur EFI (je crains de ne pas me callbacker quoi) alors je suis allé pour bootctl place. J'ai suivi le guide de l' Arch Beginners à la lettre:

 # bootctl install 

Créé boot/loader/ensortinges/arch.conf avec le contenu suivant:

 title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sda2 rw 

Et /boot/loader/loader.conf

 timeout 3 default arch 

J'ai ensuite procédé à l'installation du système normalement. Cependant, lors du redémarrage, on me présente un écran noir et pas de chargeur de démarrage après les POST du système. La seule façon d'accéder au bootloader est d'appuyer sur F12 pour faire apparaître le menu de démarrage du système (le même qui laisse ou laisser quand le système n'était pas EFI quand même j'arrive au BIOS) puis choisir "linux bootloader "dans le menu. Cela me mènera à un écran de bootloader où je peux choisir "Arch".

  1. Le menu que je reçois en appuyant sur F12 :

    menu principal

  2. Si je choisis "grub", j'obtiens:

    sous-menu1

    choisir "Grub" à nouveau me ramène directement au même menu.

  3. Si, à partir du 1er menu, je choisis "Linux Boot Manager", j'obtiens un menu avec une input Arch et une input "EFI default loader":

    entrer la description de l'image ici

    Choisir "Arch" démarre mon installation Arch et en choisissant "Chargeur par défaut EFI" me conduit au menu montré en 4 ci-dessous.

  4. Si, à partir du 1er menu, j'ai choisi "UEFI: INT 13 (RAID.0x80)", j'obtiens un menu avec seulement une input Arch, en choisissant qui va démarrer mon système Arch:

    entrer la description de l'image ici

J'ai aussi essayé d'installer grub (correctement cette fois):

 pacman -S efibootmgr grub os-prober grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub --recheck grub-mkconfig -o /boot/grub/grub.cfg 

Cela a fait apparaître une nouvelle input "grub" dans le menu de démarrage du F12 , mais la sélection me fait passer à un écran noir, puis revient au menu de démarrage.

Mon grub.cfg est (commentaires supprimés):

 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 98202b4b-af35-413a-b3ff-87c149c5061d else search --no-floppy --fs-uuid --set=root 98202b4b-af35-413a-b3ff-87c149c5061d 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=5 else set timeout=5 fi menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-98202b4b-af35-413a-b3ff-87c149c5061d' { 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 9943-114D else search --no-floppy --fs-uuid --set=root 9943-114D fi echo 'Loading Linux linux ...' linux /vmlinuz-linux root=UUID=98202b4b-af35-413a-b3ff-87c149c5061d rw quiet echo 'Loading initial ramdisk ...' initrd /initramfs-linux.img } submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-98202b4b-af35-413a-b3ff-87c149c5061d' { menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-98202b4b-af35-413a-b3ff-87c149c5061d' { 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 9943-114D else search --no-floppy --fs-uuid --set=root 9943-114D fi echo 'Loading Linux linux ...' linux /vmlinuz-linux root=UUID=98202b4b-af35-413a-b3ff-87c149c5061d rw quiet echo 'Loading initial ramdisk ...' initrd /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-98202b4b-af35-413a-b3ff-87c149c5061d' { 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 9943-114D else search --no-floppy --fs-uuid --set=root 9943-114D fi echo 'Loading Linux linux ...' linux /vmlinuz-linux root=UUID=98202b4b-af35-413a-b3ff-87c149c5061d rw quiet echo 'Loading initial ramdisk ...' initrd /initramfs-linux-fallback.img } } 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 

Ma table de partition (notez l'erreur, je ne sais pas si c'est pertinent):

 $ sudo parted /dev/sda print Error: The backup GPT table is corrupt, but the primary appears OK, so that will be used. OK/Cancel? OK Model: ATA TOSHIBA MQ01ABD0 (scsi) Disk /dev/sda: 750GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 32.7GB 32.2GB ext4 3 32.7GB 462GB 429GB ext4 4 462GB 479GB 17.2GB linux-swap(v1) 5 479GB 750GB 271GB ntfs msftdata 

Et /etc/fstab :

 # /dev/sda2 UUID=98202b4b-af35-413a-b3ff-87c149c5061d / ext4 rw,relatime,data=ordered 0 1 # /dev/sda3 UUID=baa9dd1e-835c-4d88-af8a-31dc97ac7af6 /home ext4 rw,relatime,data=ordered 0 2 # /dev/sda1 UUID=9943-114D /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2 # /dev/sda4 UUID=8eaf91cd-f638-487b-8299-50d39342df0d none swap defaults 0 0 

(Ma partition EFI ( sda1 ) est montée sur /boot ; devrait-il être /boot/EFI place?)

Donc, ma question est la suivante: comment puis-je get mon système pour démarrer directement dans un bootloader utilisable sans avoir à appuyer sur F12 ? Je préférerais que ce bootloader soit grub mais je pourrais vivre avec bootctl si nécessaire.

Après avoir essayé toutes sortes de choses, dont aucune n'a fait la différence, j'ai finalement compris que ce que je devais faire était de désactiver fastboot dans mon BIOS. Dans mon cas, c'était:

Réglage du BIOS fastboot

Changer de "Minimal" à "Thorough" me laisser aller directement à mon chargeur de démarrage sans avoir besoin de bash F12 .