[grub2] ssd - no such device (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
ruddy32
Hankyu
Messages : 16
Inscription : mer. 17 févr. 2016, 22:34

[grub2] ssd - no such device (résolu)

Message par ruddy32 »

Bonjour,

J'installe un pc portable équipé d'un SSD de 256GB en ayant suivi la procédure d'installation de base. Lors du démarrage du portable, grub affiche le message d'erreur:

Code : Tout sélectionner

error: no such device: cdbc097f-....-
L'UUID indiqué correspond bien au disque racine du système linux.
L'utilisation de la commande ls via grub rescue renvoi le résultat suivant :

Code : Tout sélectionner

(hd0)(hd1)...(hd5)
L'utilisation de la commande set via grub rescue renvoi le résultat suivant :

Code : Tout sélectionner

prefix=()/boot/grub
root=
Il semble y avoir un défaut de configuration Grub. Est-ce un problème de fichier de configuration grub.conf généré avec la commande grub-mkconfig ?
Dernière modification par ruddy32 le mar. 23 févr. 2016, 21:24, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17624
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [grub2] ssd - no such device

Message par benjarobin »

Bonjour,
Si c'est toujours le même matériel que dans ton sujet précédent, il est possible que Grub est des difficultés pour accéder à un périphérique en NVMe.
Pour confirmer peux tu donner la sortie de :

Code : Tout sélectionner

gdisk -l /dev/sda #  pour chaque disque
blkid
efibootmgr -v
Le contenu de ton grub.cfg ainsi que l'erreur exacte (une photo peut faire l'affaire)
As tu un boot en UEFI ou Legacy (MBR) ? Si c'est de l'UEFI je te conseil d'avoir le kernel et son initramfs dans la partition ESP et d'utiliser systemd-boot
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
ruddy32
Hankyu
Messages : 16
Inscription : mer. 17 févr. 2016, 22:34

Re: [grub2] ssd - no such device

Message par ruddy32 »

Ci-dessous les infos ...
Le répertoire /boot/efi liste seulement le fichier "EFI/arch/grubx64.efi"

Code : Tout sélectionner

root@archiso ~ # gdisk -l /dev/nvme0n1
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/nvme0n1: 500118192 sectors, 238.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8602BD67-9FDC-4A3E-9758-74BD413E4580
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          616447   300.0 MiB   EF02  EFI System
   2          616448        34170879   16.0 GiB    8200  Linux swap
   3        34170880       500118158   222.2 GiB   8300  Linux filesystem

Code : Tout sélectionner

root@archiso ~ # blkid
/dev/nvme0n1p1: UUID="992A-9631" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="a969c440-ddb5-4a9f-927b-ba8c6771e752"
/dev/nvme0n1p2: UUID="5091d5cc-4294-41e8-afab-1799a1847d84" TYPE="swap" PARTLABEL="Linux swap" PARTUUID="3cfd1518-846a-4c68-b120-1b2be6245541"
/dev/nvme0n1p3: UUID="cbdc097f-1572-493f-b795-2c0473825d39" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="20cbeeda-b6c1-4f88-93ba-3bb780941bb1"

Code : Tout sélectionner

root@archiso ~ # efibootmgr -v
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0006,0004,0007,0003,0002,0001,0000
Boot0000* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...\................
Boot0001* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0002* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....I...............
Boot0003* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...se...............
Boot0004* arch	HD(1,GPT,a969c440-ddb5-4a9f-927b-ba8c6771e752,0x800,0x96000)/File(\EFI\arch\grubx64.efi)
Boot0006* UEFI: Generic Flash Disk 8.07, Partition 1	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/HD(1,MBR,0x49,0xac,0xf800)..BO
Boot0007* UEFI: Ut190 USB2FlashStorage0.00, Partition 1	PciRoot(0x0)/Pci(0x14,0x0)/USB(2,0)/HD(1,MBR,0x4294967270,0x800,0xf0f800)..BO

Code : Tout sélectionner

root@archiso ~ # vi /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 ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  cbdc097f-1572-493f-b795-2c0473825d39
else
  search --no-floppy --fs-uuid --set=root cbdc097f-1572-493f-b795-2c0473825d39
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
# 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-cbdc097f-1572-493f-b795-2c0473825d39' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  cbdc097f-1572-493f-b795-2c0473825d39
        else
          search --no-floppy --fs-uuid --set=root cbdc097f-1572-493f-b795-2c0473825d39
        fi
        echo    'Loading Linux linux ...'
        linux   /boot/vmlinuz-linux root=UUID=cbdc097f-1572-493f-b795-2c0473825d39 rw  quiet
        echo    'Loading initial ramdisk ...'
        initrd   /boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-cbdc097f-1572-493f-b795-2c0473825d39' {
        menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-cbdc097f-1572-493f-b795-2c0473825d39' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  cbdc097f-1572-493f-b795-2c0473825d39
                else
                  search --no-floppy --fs-uuid --set=root cbdc097f-1572-493f-b795-2c0473825d39
                fi
                echo    'Loading Linux linux ...'
                linux   /boot/vmlinuz-linux root=UUID=cbdc097f-1572-493f-b795-2c0473825d39 rw  quiet
                echo    'Loading initial ramdisk ...'
                initrd   /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-cbdc097f-1572-493f-b795-2c0473825d39' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod ext2
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root  cbdc097f-1572-493f-b795-2c0473825d39
                else
                  search --no-floppy --fs-uuid --set=root cbdc097f-1572-493f-b795-2c0473825d39
                fi
                echo    'Loading Linux linux ...'
                linux   /boot/vmlinuz-linux root=UUID=cbdc097f-1572-493f-b795-2c0473825d39 rw  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 ###
### 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 ###

### BEGIN /etc/grub.d/60_memtest86+ ###
### END /etc/grub.d/60_memtest86+ ###
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17624
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [grub2] ssd - no such device

Message par benjarobin »

Ah, oui, ce n'est pas du /dev/sda classique... Cela ne me choque pas que Grub ne trouve pas quelque chose en /dev/nvme0n1p3
Sinon c'est normal toutes ces entrées pour Windows ?
As tu d'autres disques avec des Windows dessus ? car sinon il faudrait faire un peu le ménage :-)

Bref, je t'ai donné la solution dans mon message précédent, cela devrait fonctionner. Le plus simple est de monter la partition ESP dans /boot même.
En gros tu dois faire ceci :
  • Nettoyer la partition ESP (la vider de tout ce qui touche à ton Linux)
  • Supprimer les entrées caduques listées par efibootmgr
  • Démonter la partition ESP
  • Supprimer tout le contenu de /boot
  • Modifier le point de montage du fstab pour que le montage soit fait dans /boot
  • Remonter la partition ESP dans /boot
  • Réinstaller le kernel, et systemd-boot
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre