Grub : détecter autres disques internes et USB

Bonjour

J’ai Manjaro installé sur mon SSD NVME. Sur mon 2ème disque dur internet SSD SATA, j’ai installé Batocera (une distribution Linux pour faire du retro-gaming). Quand je démarre, j’arrive sur le grub de Linux, mais il ne me propose pas le 2ème disque dur. Les clés USB bootables ne sont pas détectées/proposées non plus. Je sais qu’en dual-boot avec partitionnement du disque ça c’est bon (j’ai cette configuration sur un autre ordi avec un dual-boot Windows/Linux sur le même SSD interne). Du coup ma question est la suivante : est-il possible lors d’un démarrage de choisir sur quel disque dur booter, sans avoir à passer par le BIOS/UEFI à chaque fois ? Grub ne détecte que les partitions du disque sur lequel il est installé en fait ? Pas les autres supports physiques ?

Merci

RichBen

moved to #languages:francais

Bonjour,
Grub peut détecter les autres distrib mais il faut modifier un paramètre dans /etc/default/grub

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
GRUB_DISABLE_OS_PROBER=false

Ensuite il faut relancer la mise à jour de grub :

sudo update-grub

Bonjour,
Merci pour la réponse. Mais c’est déjà décoché. Je pense que ça c’est si on a plusieurs distributions sur un même disque c’est c’est valable, et alors là il checke toutes les partitions du disque pour voir ce qu’il trouve. Or là j’ai un 2ème disque interne, et je veux y accéder à partir du Grub de Manjaro. Mais il ne le détecte pas. Je suis obligé de passer par l’UEFI pour l’
instant pour changer de disque… (et c’est chiant). Et je ne sait pas si il y a des outils qui peuvent faire ça. J’ai trouvé un truc qui s’appelle ReFind mais pas sûr que ça marche non plus… :confused:

Non, ça cherche sur toutes les partitions accessibles de tous les disques. Chez moi, c’est Manjaro sur un disque, et un vieil Ubuntu sur l’autre, et aucun problème de détection de l’Ubuntu.

tu peux fournir

sudo parted -l 

J’obtiens ceci (il a l’air de bien me détecter les 2 disques). Et si je passe par le BIOS pour changer de disque ça marche bien, juste je veux pas passer par le BIOS chaque fois :

Avertissement: Il semble que l’espace disponible sur /dev/sda ne soit pas
totalement utilisé, voulez-vous ajuster la table GPT pour utiliser tout l’espace
(2014 blocs en plus) ou continuer ainsi ?
Réparer/Fix/Ignorer/Ignore? ^C
Modèle : ATA Samsung SSD 870 (scsi)
Disque /dev/sda : 2000GB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :

Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 1049kB 6443MB 6442MB fat32 vfat legacy_boot, msftdata
2 6443MB 1980GB 1974GB ext4 userdata

Modèle : Samsung SSD 970 EVO Plus 1TB (nvme)
Disque /dev/nvme0n1 : 1000GB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :

Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 2097kB 317MB 315MB fat32 démarrage, esp
2 317MB 1000GB 1000GB ext4 root

ca c’est magnifique de la part de micro$soft

Et il y a quelque chose à activer quelque part pour ça ? Lors de l’installation j’ai mis Manjaro sur le disque NVME (j’ai laissé les partitions se créer automatiquement, en standard), et j’ai installé Batocera Linux sur l’autre (un SSD SATA). Mais le GRUB de Manjaro ne me propose que de booter sur Manjaro, sur le mode avancé, ou sur l’UEFI, sans détection de l’autre disque avec Batocera dessus :/.

Je ne comprends pas votre réponse, le rapport à Microsoft :/. C’est un mini PC Asus PN51 que j’ai monté moi-même, j’ai mis 1 disque vierge NMVE dedans avec Manjaro, et sur l’autre un SATA avec Batocera Linux… du coup je n’ai jamais rien eu de Microsoft dessus… J’ai installé en mode standard avec l’installateur, en utilisant tout le disque et en laissant Manjaro créer automatiquement les partitions. Il y a qq chose qui empêche la détection ?

pour bien comprendre
pour manjaro linux ,
Secure boot desactivé
fast boot desactivé
pas de CSM
pas de legacy
tous les disques en AHCI
si tu formatte GPT → partition /boot/efi avec flag boot&esp ( fat32 -vat de 100Mo a 500Mo )

si par contre tu as une des options ci dessus activés , c’est par défaut non valide UEFI , donc retour en mode BIOS
et si tu formatte tu as 2 options
MBR ( mais probleme nombre de partition 4 maximum )
GPT avec une partition de 8Mo non formatté avec flag bios_grub ( tu as besoin de /boot et / a minima )

cf en recherche
https://forum.manjaro.org/search?q=@stephane%20test%20-d%20/sys

Merci pour ce topo Stéphane :smiley: . Oui j’ai bien tout ça. J’ai fait des tests et j’ai remarqué un comportement vraiment bizarre. Voici ce que j’ai fait : j’ai installé un coup Manjaro et un coup KDE Neon sur mon disque dur SSD SATA en plus du Manjaro sur le NVME, et chaque fois le Grub de ce disque (le SATA donc) me donne également accès au Manjaro du NVME. En revanche, j’ai installé également KDE Neon en test sur le NVME et le Grub ne me donne pas accès au SSD SATA. J’ai remis Manjaro sur le NVME et toujours pas accès au SATA. J’ai remarqué également que le SSD SATA démarrait automatiquement sur le Grub dans tous les cas, alors que quand j’installe un Linux sur le NVME, il ne passe pas par le Grub et je suis obligé d’aller dans /etc/defaut/grub et modifier un paramètre “hidden” en “menu” pour le faire apparaître au démarrage. Ce qui est étrange, parce que sur le SATA c’est déjà en hidden, et mes autres ordi Linux sont aussi en hidden… du coup la seule différence que je vois est d’ordre matériel ?? C’est bizarre de ne pas avoir le même comportement en ayant fait 2 fois la même chose un coup sur un SSD SATA et un coup sur un NVME… Là le “sudo parted -l” me dit ceci aussi : “Avertissement : il semble que l’espace disponible sur /dev/sda ne soit pas totalement utilisé. Voulez-vous ajuster la table GPT pour utiliser tout l’espace (2014 blocs en plus) ou continuer ainsi ?”. J’avais déjà eu ça la dernière fois, je pense pas que ce soit ça le problème mais bon… Et alors c’est marrant parce que sur le SATA effectivement quand il installe le flag n’est pas bon, c’est legacy_boot, msfdata… alors que l’installation sur le NVME donne bien boot & esp… pourtant j’ai bien fait exactement la même chose dans les 2 cas, une installation standard, GPT (je ne pouvais pas choisir autre chose c’était grisé). Du coup est-ce qu’il y a moyen de changer ça a posteriori ? Ou re-installer en changeant quelque chose, faire un truc au SSD SATA pour qu’il n’ai pas ce flag ? J’avoue être perdu sur ce comportement dont la seule différence est matérielle… et bien curieux de comprendre pourquoi aussi :stuck_out_tongue:
Merci :slight_smile:

a vérifier dans le cas NMVE
si flag legacy_boot, msfdata et que c’est bien un /boot/efi ( vfat , fat32 )
tente avec Gparted de modifier les flag en boot/esp
et redemarrer

sinon tu remet comme avant

dans le cas de KDE Neon , elle est derivé de Ubuntu/Debian
les grubs sont différents ce ne sont pas les mêmes

cas Archlinux / Manjaro c’est un grub Vanilla / manjaro ( issu de git savannah gnu )
cas Debian/Ubuntu sont des Grub customize , qui a le défaut principal de ne jamais démarrer
à la fois le chargement microcode + boot Kernel , cad il y a 2 points d’entrée de fichier pour démarrer ,

or Debian/Ubuntu ne gère pas a ce jour un démarrage microcode ( c’est un bug connu depuis au moins 2013/ 2014 … ) , deplus il installe un Shimx64.efi ( avec une clé activation par micro$oft ) et donc il active a tort les options indiqués

dans le cas d’installation
KDE neon , puis manjaro → grub OK ( manjaro )
Manjaro puis KDE Neon → grub Neon ( ko pour démarrer manjaro ou archlinux )
il faut alors dans ce cas réinstaller le grub par chroot pour la manjaro ( avec clé USB iso manjaro )

OK, donc j’ai bien changé les flag sans succès… parted -l me donne ça :
Modèle : ATA Samsung SSD 870 (scsi)
Disque /dev/sda : 2000GB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :

Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 1049kB 6443MB 6442MB fat32 vfat démarrage, esp
2 6443MB 1980GB 1974GB ext4 userdata

Modèle : Samsung SSD 970 EVO Plus 1TB (nvme)
Disque /dev/nvme0n1 : 1000GB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :

Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 2097kB 317MB 315MB fat32 démarrage, esp
2 317MB 1000GB 1000GB ext4 root

La seule différence est dans le nom…

PAR CONTRE je vois dans GParted que la partition fat32 n’a pas de point de montage sur mon SSD SATA (en revanche la partition ext4 est bien dans /run/media/). Est-ce qu’il ne faudrait pas avoir un point de montage pour qu’il soit détecté par le Grub de Manjaro ?

La commande lsblk renvoie ceci :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1,8T 0 disk
├─sda1 8:1 0 6G 0 part
└─sda2 8:2 0 1,8T 0 part /run/media/richard/SHARE
nvme0n1 259:0 0 931,5G 0 disk
├─nvme0n1p1 259:1 0 300M 0 part /boot/efi
└─nvme0n1p2 259:2 0 931,2G 0 part /

oui il faut voir aussi dans ce cas
dans /etc/fstab pour le disque concerné

sudo fdisk -l

Te donne la liste de tes disques.

Et que donne sudo nano /etc/fstab

?

a vérifier que tu as bien /boot/efi en partition séparée déclarée

J’obtiens ceci :

/etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a device; this may
be used with UUID= as a more robust way to name devices that works even if
disks are added and removed. See fstab(5).


UUID=6845-B600 /boot/efi vfat umask=0077 0 2
UUID=44277a09-a05b-432e-90b0-72c1a8efd563 / ext4 defaults,noatime 0 1
tmpfs

Apparemment il ne détecte pas l’autre disque ? Il faut une partition /boot/efi sur les 2 disques ? J’ai un peu du mal à comprendre à quoi ça doit ressembler et comment faire

Le sudo fdisk -l me donne bien mes 2 disques par contre, il est détecté