Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/10/2022, à 09:01

SuperPommeDeTerre

(résolu) GRUB en PLS après chaque boot

Bonjour à tous,

Suite à une installation d'Ubuntu 22.10 sur ma machine, à chaque reboot, GRUB me présente son shell au lieu du choix de boot.
Je suis obligé de réinstaller GRUB via une clé USB live (je suis la procédure décrite sur shellhacks).
Une fois cette procédure suivie, j'obtiens bien le boot normal de mon OS, mais lorsque je redémarre, rebelote ! :'(
Je précise que j'ai une installation sur LVM sur mes deux disques (tous les deux en SSD, non chiffrés) complets.

Quelqu'un aurait une idée ?

Dernière modification par SuperPommeDeTerre (Le 31/10/2022, à 18:18)

Hors ligne

#2 Le 29/10/2022, à 14:27

Vobul

Re : (résolu) GRUB en PLS après chaque boot

T'as quelle version précisemment de grub ? Parce que sous Arch et Fedora et d'autres il y avait ce probleme : https://archlinux.org/news/grub-bootloa … ibilities/
https://forum.endeavouros.com/t/full-tr … 8-29/30784

Il faut que tu mettes à jour grub et que tu le réinstalles avant de reboot.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 31/10/2022, à 12:01

SuperPommeDeTerre

Re : (résolu) GRUB en PLS après chaque boot

Merci de ta réponse. Je suis en 2.06.

Hors ligne

#4 Le 31/10/2022, à 12:37

Vobul

Re : (résolu) GRUB en PLS après chaque boot

C'est donc probablement ça.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#5 Le 31/10/2022, à 17:51

SuperPommeDeTerre

Re : (résolu) GRUB en PLS après chaque boot

Bon, ce n'est malheureusement pas ça.
Je vais donner un plus de détails, peut être que ça va aider...
Voici ma version de GRUB :

spdt@bullet:~$ apt info grub-pc
Package: grub-pc
Version: 2.06-2ubuntu12
Priority: optional
Section: admin
Source: grub2
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: GRUB Maintainers <pkg-grub-devel@alioth-lists.debian.net>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 574 kB
Depends: debconf (>= 0.5) | debconf-2.0, grub-common (= 2.06-2ubuntu12), grub2-common (= 2.06-2ubuntu12), grub-pc-bin (= 2.06-2ubuntu12), ucf, grub-gfxpayload-lists
Conflicts: grub (<< 0.97-54), grub-coreboot, grub-efi-amd64, grub-efi-ia32, grub-ieee1275, grub-legacy, grub-xen
Replaces: grub, grub-common (<= 1.97~beta2-1), grub-coreboot, grub-efi-amd64, grub-efi-ia32, grub-ieee1275, grub-legacy, grub2 (<< 2.06-2ubuntu12)
Homepage: https://www.gnu.org/software/grub/
Task: ubuntu-live, kubuntu-live, xubuntu-live, lubuntu-live, ubuntukylin-live, ubuntu-mate-live, ubuntu-budgie-live
Download-Size: 131 kB
APT-Manual-Installed: yes
APT-Sources: http://fr.archive.ubuntu.com/ubuntu kinetic/main amd64 Packages
Description: gestionnaire d'amorçage GRUB version 2 - version PC/BIOS
 GRUB est un puissant gestionnaire d'amorçage multiplateforme. Cette
 version de GRUB bénéficie d'une conception plus élaborée que les
 précédentes. Elle fournit les fonctionnalités suivantes :
 .
  - Exécution de scripts dans grub.cfg utilisant une syntaxe proche de BASH.
  - Prise en charge de cartographies de partitions modernes telles que GPT.
  - Génération modulaire de grub.cfg via update-grub. Les paquets fournissant des
    éléments à GRUB peuvent insérer leurs propres règles de script et déclencher des mises
    à jour en invoquant update-grub.
  - Mode graphique basé sur VESA avec prise en charge d'image de fond et jeu complet de
    couleurs 24 bits.
  - Prise en charge de jeu de caractères étendus. Les utilisateurs peuvent écrire leur entrées
    de menu en texte UTF-8.
 .
 This is a dependency package for a version of GRUB that has been built for
 use with the traditional PC/BIOS architecture.  Installing this package
 indicates that this version of GRUB should be the active boot loader.

Au niveau de la config GRUB (/boot/grub/grub.cfg), j'ai ça :

#
# 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 ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
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 initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  # GRUB lacks write support for lvm, so recordfail support is disabled.
}
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 lvm
insmod ext2
set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
else
  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
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=fr_FR
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
fi
if [ $grub_platform = efi ]; then
  set timeout=30
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="${1}"
	if [ "${1}" = "keep" ]; then
		set vt_handoff=vt.handoff=7
	else
		set vt_handoff=
	fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if [ ${grub_platform} != pc ]; then
      set linux_gfx_mode=keep
    elif hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod lvm
	insmod ext2
	set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
	else
	  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
	fi
	linux	/boot/vmlinuz-5.19.0-23-generic root=/dev/mapper/vgubuntu-root ro  quiet splash $vt_handoff
	initrd	/boot/initrd.img-5.19.0-23-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
	menuentry 'Ubuntu, with Linux 5.19.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-23-generic-advanced-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod lvm
		insmod ext2
		set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		else
		  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		fi
		echo	'Loading Linux 5.19.0-23-generic ...'
		linux	/boot/vmlinuz-5.19.0-23-generic root=/dev/mapper/vgubuntu-root ro  quiet splash $vt_handoff
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-5.19.0-23-generic
	}
	menuentry 'Ubuntu, with Linux 5.19.0-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-23-generic-recovery-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
		recordfail
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod lvm
		insmod ext2
		set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		else
		  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		fi
		echo	'Loading Linux 5.19.0-23-generic ...'
		linux	/boot/vmlinuz-5.19.0-23-generic root=/dev/mapper/vgubuntu-root ro recovery nomodeset dis_ucode_ldr 
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-5.19.0-23-generic
	}
	menuentry 'Ubuntu, with Linux 5.19.0-21-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-21-generic-advanced-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod lvm
		insmod ext2
		set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		else
		  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		fi
		echo	'Loading Linux 5.19.0-21-generic ...'
		linux	/boot/vmlinuz-5.19.0-21-generic root=/dev/mapper/vgubuntu-root ro  quiet splash $vt_handoff
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-5.19.0-21-generic
	}
	menuentry 'Ubuntu, with Linux 5.19.0-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.19.0-21-generic-recovery-d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f' {
		recordfail
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod lvm
		insmod ext2
		set root='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='lvmid/RXb0CQ-C6rH-f2ex-0N6Y-20Hg-TNWH-nz7V66/zSdHGu-hwk2-MMph-HuOj-qyaN-l98Y-gwkGGN'  d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		else
		  search --no-floppy --fs-uuid --set=root d94ff28d-c3cd-416f-a3e6-4b5e49ae4c1f
		fi
		echo	'Loading Linux 5.19.0-21-generic ...'
		linux	/boot/vmlinuz-5.19.0-21-generic root=/dev/mapper/vgubuntu-root ro recovery nomodeset dis_ucode_ldr 
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-5.19.0-21-generic
	}
}

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

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

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

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

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### 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/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

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

Sinon, pour avoir un système qui démarre, voilà ce que je fait :

  1. Démarrage sur clé USB Ubuntu 22.10

  2. Lancement des commandes suivantes :

    ubuntu@ubuntu:~$ sudo -s
    root@ubuntu:/home/ubuntu# lvscan 
      ACTIVE            '/dev/vgubuntu/root' [1,37 TiB] inherit
      ACTIVE            '/dev/vgubuntu/swap_1' [1,91 GiB] inherit
    root@ubuntu:/home/ubuntu# mount /dev/vgubuntu/root /mnt
    root@ubuntu:/home/ubuntu# lsblk
    NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0                 7:0    0   2,6G  1 loop /rofs
    loop1                 7:1    0     4K  1 loop /snap/bare/5
    loop2                 7:2    0  63,2M  1 loop /snap/core20/1623
    loop3                 7:3    0 238,5M  1 loop /snap/firefox/1969
    loop4                 7:4    0  91,7M  1 loop /snap/gtk-common-themes/1535
    loop5                 7:5    0 346,3M  1 loop /snap/gnome-3-38-2004/119
    loop6                 7:6    0  45,9M  1 loop /snap/snap-store/599
    loop7                 7:7    0    48M  1 loop /snap/snapd/17336
    loop8                 7:8    0   284K  1 loop /snap/snapd-desktop-integration/14
    sda                   8:0    1  28,8G  0 disk 
    ├─sda1                8:1    1   3,8G  0 part /cdrom
    ├─sda2                8:2    1   4,2M  0 part 
    ├─sda3                8:3    1   300K  0 part 
    └─sda4                8:4    1    25G  0 part /var/crash
                                                  /var/log
    nvme0n1             259:0    0 931,5G  0 disk 
    └─vgubuntu-root     253:0    0   1,4T  0 lvm  /mnt
    nvme1n1             259:1    0 476,9G  0 disk 
    ├─nvme1n1p1         259:2    0   512M  0 part 
    └─nvme1n1p2         259:3    0 476,4G  0 part 
      ├─vgubuntu-root   253:0    0   1,4T  0 lvm  /mnt
      └─vgubuntu-swap_1 253:1    0   1,9G  0 lvm  
    root@ubuntu:/home/ubuntu# mount /dev/nvme1n1p1 /mnt/boot/efi/
    root@ubuntu:/home/ubuntu# for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
    root@ubuntu:/home/ubuntu# grub-install 
    Installation pour la plate-forme x86_64-efi.
    grub-install : erreur : impossible de trouver le répertoire EFI.
    root@ubuntu:/home/ubuntu# chroot /m
    chroot: impossible de modifier le répertoire racine en '/m': Aucun fichier ou dossier de ce type
    root@ubuntu:/home/ubuntu# chroot /mnt/
    root@ubuntu:/# grub-install 
    Installation pour la plate-forme x86_64-efi.
    grub-install : attention : EFI variables cannot be set on this system.
    grub-install : attention : You will have to complete the GRUB setup manually.
    Installation terminée, sans erreur.
    root@ubuntu:/# update-grub
    Sourcing file `/etc/default/grub'
    Sourcing file `/etc/default/grub.d/init-select.cfg'
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-5.19.0-23-generic
    Found initrd image: /boot/initrd.img-5.19.0-23-generic
    Found linux image: /boot/vmlinuz-5.19.0-21-generic
    Found initrd image: /boot/initrd.img-5.19.0-21-generic
    Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
    Warning: os-prober will be executed to detect other bootable partitions.
    Its output will be used to detect bootable binaries on them and create new boot entries.
    done
  3. Reboot

Suite à ces opérations, j'arrive bien à démarrer normalement sur l'OS installé.
Par contre, dès le premier redémarrage, je n'ai plus le menu GRUB, mais uniquement le shell GRUB.
Je suis alors obligé de répéter toutes les étapes.
PS : J'ai essayé de faire un grub-mkconfig -o /bott/grub/grub.cfg en lieu et place d'un simple update-grub, mais à part rajouter un menuentry avec fwsetup, ça n'améliore pas la situation... sad
PS2 : J'ai également essayé une reinstall de GRUB après un boot success, mais pas d'amélioration.

Dernière modification par SuperPommeDeTerre (Le 31/10/2022, à 17:58)

Hors ligne

#6 Le 31/10/2022, à 18:10

SuperPommeDeTerre

Re : (résolu) GRUB en PLS après chaque boot

J'ai trouvé ! smile
En jetant un oeil à journalctl, je suis tombé sur ce message d'erreur :

x86/cpu: SGX disabled by BIOS.

Dans le doute, je suis allé dans les options du BIOS et j'ai activé l'option "BIOS guard" (ou équivalent, je n'ai malheureusement pas noté le nom exact de l'option...).
Et ça a démarré correctement.
Je refais un test, et si tout est ok, je marque le sujet comme résolu.

Hors ligne