Problème GRUB2 !

Hello,

J’ai un gros souci avec GRUB2.

Mon problème est simple, mon système est en RAM donc pas de disque dur physique et je boote depuis un autre périphérique qui est lui physique. (df -h => linux 10G 4.7G 5.4G 47% / )
J’ai modifié grub2 manuellement avant le passage en ram sauf que maintenant le “update-grub” ne marche plus du tout car il ne trouve pas “/” et j’ai tenté de trouver un peu de documentation sur comment lancer “manuellement” la commande “update-grub” et apparement, c’est impossible ou presque … !

Ce que j’ai déjà fait :

  • Modifier directement le fichier grub.cfg en modifiant les permissions et en les remettant (n’est pas pris en compte car j’ai passé le default sous 3 et il prend toujours le 1er par défaut)
  • Réinstaller à l’aide de “grub-install” grub sur le disque de boot. La commande fonctionne après avoir monter “/dev” si je me souviens bien mais ça ne change pas le souci avec “update-grub”.
  • Générer un fichier avec “grub-mkimage”, déjà merci le manque d’informations, j’ai du aller voir le code source pour trouver le fameux paramètre à mettre derrière le “-O” et après l’avoir trouvé, il me génère un fichier “.img” et je sais vraiment pas où le mettre. Apparement, il ne ressemble ni au “grld.img” ni au “kernel.img” et ne correspond pas aux autres fichiers “*.img” au niveau de la taille …

Est-ce que quelqu’un peut m’aider à décortiquer ce fameux Grub2 ??? Il va lire quel fichier exactement pour trouver le bon vieux “menu.lst” ?
Ou est-ce qu’il existe un “update-grub” sans check (à la con) qui ne permettent pas de mettre à jour son “grub.cfg” ?
Avant que je repasse sur un grub-legacy ou voir même lilo car c’est vraiment une catastrophe…

Actuellement, mon système ne redémarre plus sans une intervention manuelle comme je ne peux pas toucher le fichier “grub.cfg” et comme aucune modification faite dans ce fichier n’est prise en compte, j’ai du rajouter une 3ème entrée qui n’est pas sélectionnée par défaut dans le “40_custom”. De plus, je vais être tintin lors de la prochaine mise à jour du kernel comme il va toujours vouloir booter sur l’ancien qui n’existera plus !

Merci d’avance pour votre aide car je deviens vert là …
Je me dis que c’est juste pas possible que Grub n’ait pas pensé à ça et le pire, pas documenter la chose !

Puisque tu réussis à le démarrer en l’éditant, fais nous part des éditions qui sont menées et des erreurs éventuelles qui en résultent.
Sur quoi porte l’édition à la volée ? Sur UUID= ? root=? Sur linux ? initrd.img ? …
Qu’est-ce qui est en RAM et qu’est-ce qui ne l’est pas ?
Où est intallé grub ? Où est /boot au démarrage et après lancement de debian ?
Est-ce un /boot différent après lancement de debian ?

On peut penser que /boot est contenu dans la racine / à l’instant où tu retouches grub alors que /boot est ailleurs au démarrage.
Quel type de montage pour / ?
Arguments root=??? en grub
$ cat /etc/fstab
$ mount

Le fameux “# DO NOT EDIT THIS FILE” de grub.cfg ne t’a visiblement pas frappé.
Éditer /etc/default/grub, /etc/grub.d/10_linux … puis tenter
de le mettre à jour.Tenir compte des numéros dans /etc/grub.d, 40 passe après 00,10,20,30
Tu peux griller la priorité en créant une entrée en /etc/grub.d en lui affectant un numéro supérieur à 10, inférieur à 20 comme 11,12,13 …
Tu pourrais aussi désactiver les UUID au profit du schéma ancien à la (hd0,0) dans la définition de la racine de grub2 en éditant /usr/lib/grub/grub-mkconfig_lib

Grub-legacy pourrait convenir si ce que tu lui demandes est dans ses cordes.
Il n’y a pas photo, grub-legacy est une solution beaucoup plus souple et facile à gérer pour ceux qui regrettent la simplicité de l’ancien grub.
Ceux qui apprécient grub2 prétendront le contraire,
Pas la peine de commencer un querelle des anciens contre les modernes, grub-legacy
est (malheureusement) voué à disparaître.

Je ne modifie rien, je fais juste de sélectionner la 3ème entrée et il boote sans problème comme j’avais configuré ça quand mon Squeeze était encore sur un HDD et que là “update-grub” fonctionnait. Sauf que dans la config par défaut, default=0 et il essaye de booter sur un disque qui n’existe plus et plante. Et impossible de changer ce default à 3 vu que “update-grub” ne marche plus.

  • Absolument tout le système est en RAM.

  • Grub est installé sur une flash qui copie tout le système en ram.

  • Le dossier “/boot” est identique sur la flash et en ram vu que tout le système est recopié (boot y compris) sur la compact flash à chaque redémarrage pour que le kernel puisse se mettre à jour justement.

  • Montage tmpfs pour créer un ram drive.

  • J’utilise le UUID de la flash pour root.

Si cela m’a frappé mais j’avais pas le choix que de tester avant de poster ici vu que la SEULE et UNIQUE commande que j’ai trouvé pour mettre à jour Grub2 est “update-grub” et qu’il m’est strictement impossible de la lancer !
J’ai beau touché tous les fichiers de config, du moment où je n’arrive pas à lancer un “update-grub”, je suis bloqué car Grub2 ne va jamais lire les fichiers dans “/etc/grub.d” d’après ce que j’ai vu … Actuellement, dans “40_custom” et dans “/boot/grub/grub.cfg” le “default=3” est mis mais le paramètre n’est pas pris en compte donc il va surement lire un autre fichier de paramètrage à quelque part d’autres mais impossible de trouver lequel.

Juste une chose à propos de ce fichier “/usr/lib/grub/grub-mkconfig_lib”, c’est ça qu’il exécute lorsqu’on lance “update-grub” ?

Désolé, mais je ne suis pas au courant des gueguerres Grub & Grub2 mais là ça me tue d’être bloqué par une commande “all-in-one” dont on trouve pas où très peu de documentations … :frowning:
J’ai épluché le manual officiel de Grub mais malgré cela, je n’ai pas trouvé ce que cette commande fait exactement … :frowning:
Je sais qu’elle appelle “update-grub2” puis “grub-mkconfig” qui tente de faire un “grub-probe” mais ça s’arrête-là :frowning:

Et après franchement, que le “-O” qui est une option obligatoire lors du lancement de la commande (EDIT : “grub-mkimage”) et que je doive aller voir dans le code source les entrées qu’il accepte “i386_pc” en l’occurence alors que je suis en “x86-64” enfin bref … :confused:

Merci pour la réponse, je vais lire plus en détail le “grub-mkconfig_lib”

L’ordre des numéros de /etc/grub.d/??* se traduit par l’ordre dans grub.cfg.
En changeant 40_custom en 09_custom, tu grilles la politesse à 10_linux.
Modèle de 40_custom sans retouches

#!/bin/sh
exec tail -n +3 $0
# 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.

Se conforme-t-il à ce canevas ?

Copier le contenu du fichier /etc/grub.d/40_custom à l’instar de :

cat /etc/grub.d/40_custom >/etc/grub.d/09_custom

chmod +x /etc/grub.d/09_custom

test à blanc

grub-mkconfig -o test-grub.cfg

Messages d’erreurs éventuels ?
Vérifier son contenu.
S’il apparait viable, renommer /boot/grub/grub.cfg et le recréer

mv /boot/grub/grub.cfg /boot/grub/ancien-grub.cfg

grub-mkconfig -o /boot/grub/grub.cfg

J’ai fait tout cela et le fichier est bien conforme par contre lorsque je lance la commande, j’ai ce message d’erreur :

grub-mkconfig -o test-grub.cfg
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).

Euh, j’ai fait une erreur en faite, la commande que j’ai utilisé et non pas “grub-mkconfig” mais “grub-mkimage”.
Je n’ai jamais réussi à exécuter la commande “grub-mkconfig”.

Intéressant ce problème, je ne le résoudrais pas mais mes recherches donnent ça (si ça peut t’être utile ?) :

[code]apropos grub

grub-bin2h (1) - convert a binary file to a C header
grub-editenv (1) - edit GRUB environment block
grub-install (8) - install GRUB to a device
grub-mkconfig (8) - generate a GRUB configuration file
grub-mkdevicemap (8) - generate a GRUB device map file automatically
grub-mkfont (1) - make GRUB font files
grub-mkimage (1) - make a bootable image of GRUB
grub-mkpasswd-pbkdf2 (1) - generate hashed password for GRUB
grub-mkrelpath (1) - make a system path relative to its root
grub-mkrescue (1) - make a GRUB rescue image
grub-probe (8) - probe device information for GRUB
grub-reboot (8) - set the default boot entry for GRUB, for the next boot only
grub-script-check (1) - check grub.cfg for syntax errors
grub-set-default (8) - set the default boot entry for GRUB
grub-setup (8) - set up a device to boot using GRUB
lb_binary_grub (1) - (sujet inconnu)
lb_binary_grub2 (1) - (sujet inconnu)
update-grub (8) - stub for grub-mkconfig
update-grub2 (8) - stub for update-grub
[/code]
update-grub2 lance update-grub, lequel lance à son tour grub-mkconfig

[code]whereis update-grub update-grub2

update-grub: /usr/sbin/update-grub /usr/share/man/man8/update-grub.8.gz
update-grub2: /usr/sbin/update-grub2 /usr/share/man/man8/update-grub2.8.gz
[/code]

[code]cat /usr/sbin/update-grub2

#!/bin/sh
set -e
exec update-grub “$@”
[/code]

[code]cat /usr/sbin/update-grub

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg “$@”
[/code]

Ce que j’ai trouvé de + pointu sur le web, un peu trop pointu peut-être, mais ya des liens intéressants (j’ai pas tout lu, hein) :

cepcasa.info/tellmewhy/grub/grub2_mbr.html

Salut

Merci pour la liste des commandes, je ne connaissais pas “grub-mkrelpath” mais il faut que je cherche plus de doc là-dessus pour voir comment l’utiliser exactement.

Et pour le site, c’est de l’assembleur et euh non, je ne connais pas désolé :frowning:

Par contre, une bonne nouvelle, on peut modifier manuellement le fichier “grub.cfg”.
Je ne sais pas pourquoi une fois cela n’a pas marché, est-ce qu’il regénère automatiquement le fichier au redémarrage ? (car j’ai un message de grub-probe quand je reboote)
Mais cela fonctionne !!! Donc je suis sauvé pour le moment, j’ai pu mettre mon “defaut=2” et non à 3 comme je l’avais fait :frowning: (Default commence à 0 et non à 1 enfin bref, grossière erreur :frowning: )

Mais, ce serait bien de trouver quand même un bypass pour ce “update-grub” car je sens que lors de la prochaine mise à jour de kernel, je risque d’avoir des surprises … Soit l’installation va échouée car il va lancer la mise à jour de grub et ça va planter, soit il va me l’installer mais pas mettre à jour le grub bien que ça je peux le contourner avec un script qui écrira directement dans grub.cfg.
Si quelqu’un a une idée, quoique sinon je fais un script et j’attendrais avec impatience le nouveau kernel :slightly_smiling:

C’est /usr/sbin/grub-mkconfig qui assure la génération de /boot/grub/grub.cfg soit directement en ligne de cde, soit par update-grub2 ou update-grub.

Si tu veux un contrôle là dessus, ça se passe ici :

[code]sudo find /etc -type f -exec grep -Eq ‘(^| )update-grub( |$)’ ‘{}’ ; -print

/etc/kernel/postinst.d/zz-update-grub
/etc/kernel/postrm.d/zz-update-grub
[/code]

Pas de différence : c’est le même script, et le voilà :

[code]cat /etc/kernel/postinst.d/zz-update-grub

#! /bin/sh
set -e

which update-grub >/dev/null 2>&1 || exit 0

set – $DEB_MAINT_PARAMS
mode="${1#’}“
mode=”${mode%’}"
case $0:$mode in
# Only run on postinst configure and postrm remove, to avoid wasting
# time by calling update-grub multiple times on upgrade and removal.
# Also run if we have no DEB_MAINT_PARAMS, in order to work with old
# kernel packages.
/postinst.d/:expressionless:/postinst.d/:configure|/postrm.d/:expressionless:/postrm.d/:remove)
exec update-grub
;;
esac

exit 0
[/code]
Donc ça parait facile de contrôler la génération de grub.cfg, soit en modifiant les deux zz-update-grub (tu peux mettre un exit en entré de script ou faire un chmod ugo-x zz-update-grub ou … comme tu sens) soit enlevant ces 2 scripts de ces emplacements, aprés c’est toi qui gère, mais c’est ce que tu veux

J’ai aussi vérifié que grub-mkconfig n’était directement appelé de nulle part dans /etc :

[code]sudo find /etc -type f -exec grep -E ‘(^| )grub-mkconfig( |$)’ ‘{}’ ;

grub-mkconfig helper script.

grub-mkconfig helper script.

grub-mkconfig helper script.

grub-mkconfig helper script.

grub-mkconfig helper script.

[/code]
ce ne sont que des commentaires issus de

[code]sudo find /etc -type f -exec grep -Eq ‘(^| )grub-mkconfig( |$)’ ‘{}’ ; -print

/etc/grub.d/30_os-prober
/etc/grub.d/00_header
/etc/grub.d/05_debian_theme
/etc/grub.d/20_linux_xen
/etc/grub.d/10_linux
[/code]

Pour grub-probe, si ça t’énerve vraiment

[code]sudo find -L /usr/sbin ! -type d -exec grep -Eq ‘(^| )grub-probe( |$)’ ‘{}’ ; -print

/usr/sbin/grub-install
/usr/sbin/grub-mkconfig
[/code]

faut s’attaquer à ces 2 scripts pour les personnaliser un peu, mais si tu n’a qu’un avertissement pas gênant …

Dis nous comment tu fais, ça m’intéresse pour quand je serais un aventurier comme toi :stuck_out_tongue:

Salut

Merci beaucoup pour ton aide !!!

Je crois que c’est bon, j’avais encore un souci mais je viens de (re)trouver la variable “GRUB_DEVICE” :wink:

sudo find /usr -type f -exec grep 'GRUB_DEVICE_BOOT' '{}' \; -print -exec echo \; GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`" GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true GRUB_DEVICE_BOOT \ GRUB_DEVICE_BOOT_UUID \ /usr/sbin/grub-mkconfig

cat -n /usr/sbin/grub-mkconfig |grep 'GRUB_DEVICE_BOOT' 156 GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`" 157 GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true 242 GRUB_DEVICE_BOOT \ 243 GRUB_DEVICE_BOOT_UUID \
Et voilà à toi de jouer ! :mrgreen:

Explique nous un peu à la fin à quoi tu parviens :033

Saluts,

Moment partagé … :wink:

Quelques liens que j’estime être très intéressant (avec une approche pédagogique) sur la “compréhension” et “l’utilisation” au sens large de Grub(2)

Installer Grub sur un serveur Debian
Utiliser GRUB
Grub2, le chargeur d’amorçage version 2
GRUB2 - le chargeur d’amorçage version 2

Super ! un peu de doc sur grub2, parce qu’on peut faire pleins de trucs avec grub2, par exemple arrêter le timeout puis lancer un shell grub et à partir de là on peut aller jusqu’à booter sur une image iso installée sur une quelquonque partion ( pourquoi alors se fatiguer à graver un CD de boot ou même se créer une clé usb bootable pour installer une distrib par exemple), il “suffit” pour cela de savoir dialoguer avec grub2

Le pb c’est qu’on manque de bonnes doc là dessus. Merci :stuck_out_tongue:

Tout le plaisir fût pour moi … :wink: comme dit …

[quote=“Rantanplan aussi !”]cat -n (...) | grep (...) [/quote]tueur de chatons!!! :smiling_imp: :005 :smiling_imp:

man grep (...) -n, --line-number (...) :mrgreen: :016 :mrgreen:

(oui bon… je sors… en même temps… on est encore vendredi… :016 )

:006

Bien vu ! et oui les UUOC, ça va finir par rentrer à coup de MisterFreez et de Num’s, mais j’ai des automatismes … d’aprés Limoncelli il faut au moins 21 jours pour changer des automatismes … je dois être dans les temps, mais merci de me le rappeller, c’est parfait pour moi!

[quote=“Num’s”]

man grep (...) -n, --line-number (...) :mrgreen: :016 :mrgreen:

(oui bon… je sors… en même temps… on est encore vendredi… :016 )
:006[/quote]

Non, non tu as raison, ça peut être important, pas en l’occurence, mais c’est le principe. Faut d’ailleurs que j’aille lire “Paramètres du réseau : Onglet “connexions” manquant”, je trouve ce fil intéressant, quand je lui est proposé un virement paypal c’est parce que j’avais pas d’idée concernant son PB, j’avais pas compris qu’il avait un pb de pilote etc… je vais lire ça, ça m’intéresse :023

Bon, j’ai mis un peu de temps pour tout stabiliser et rendre le script compatible à l’update de kernel mais voici ce que j’ai fait en gros comme modification pour grub (j’ai peut-être oublié 2-3 trucs …) :

/usr/sbin/grub-mkconfig :
Modifier cette ligne : GRUB_DEVICE="`${grub_probe} --target=device /NomDeVotreRépertoireDeDémarrage

/etc/fstab :
Faire un bind du répertoire de “/NomDeVotreRépertoireDeDémarrage/boot” dans “/boot”.

/etc/grub.d/00_header :
Modifier cette ligne “set locale_dir=($root)$(make_system_path_relative_to_its_root ${locale_dir})” en “set locale_dir=($root)${locale_dir}”. Le “make_system_path_relative_to_its_root” réagit bizarrement car il ne trouve pas “/”. Je n’avais pas ce problème au début (ou je ne l’ai pas remarqué) puis j’ai fini par l’avoir donc je l’ai contourné de cette façon :slightly_smiling:

/etc/grub.d/10_linux :
Modification de l’ “initrd.img” pour qu’il boot sur celui modifier pour copier tout le système en ram avant le boot.

/etc/grub.d/40_custom :
Je modifie avant chaque reboot ce fichier pour qu’il boot sur cette entrée pour éviter tout problème de modification non désiré par “grub” du fichier “grub.cfg” puis je lance la commande pour le regénéré.

Voilà, tout ce qu’il faut bidouiller pour faire marcher Grub2 …
Après, ne pas oublier de faire un check md5 des fichiers pour ne pas avoir une mauvaise surprise lors d’une mise à jour.

Quelques autres conseils si vous voulez avoir tout votre système en ram :

  • créer un swap! J’ai eu des jolis kernels paniques quand la mémoire arrivait à saturation mais je pense que c’était plus lié à mon “ramdrive” qui était limité à la moitié de la ram car ma mémoire n’a jamais été pleine mais c’est sympa d’avoir un mini swap de secours. (sur un stick usb, compact flash)
  • Ne pas oublier de changer la valeur du swappiness car sinon, il part en swap presque tout le temps… :frowning:
  • Faites des backups de TOUT ! Fichiers grub, OS et tout ce qui se trouve en ram, les emails par exemple pour éviter des pertes en cas de crash/coupure de courant :slightly_smiling:
  • Mettez votre système sur un UPS, cela lui laissera le temps de se backuper.

Mise à part ça, le temps d’arrêt/démarrage est grandement ralenti car j’utilise de l’ext3 sur une compact flash donc j’ai du 3-4mb/sec en lecture/écrite à la place des 20/30 que supporte la CF :frowning:
(Il faudrait que je cherche un autre système de fichier mais il m’en faut un compatible avant le démarrage du kernel donc j’oublie l’exfat, ntfs,… :frowning: Peut-être de l’ext2 … )
Il faut faire des backups régulières sur un autre support mais c’est cool car tout mon système tourne sans aucun disque dur ! Les compact flash/sticks usb se trouvent vraiment pour pas cher donc c’est très pratique.

Sinon tout le système tourne très rapidement, les recherches de fichiers sur le système, les recherches dans les fichiers logs, le tri des emails, tout est quasiement instantané car tout se trouve en RAM. On apprécie même les “apt-get update” qui prennent souvent un peu de temps à la fin mais là ça passe presque en instantané.
Le prix de la ram n’est pas si cher et finis les pertes de données liés au crash disque surtout pour des systèmes qui tournent 24/24h. (perdu 2 disques durs en 6mois…)
Si la compact flash ou le stick plante, je récupère le système d’une backup, je remplace le matériel défectueux et ça repart. (CF d’occasion 4-8go : ~4-7€)

Il ne manque plus que le stockage cloud à la “Hubic” sur un répertoire TrueCrypte si seulement la bande passante en upload suivait … Plus jamais besoin d’un seul disque dur et espace de stockage illimité sur “Hubic” :slightly_smiling:

Wooo ! :119 c’est compliqué ce que tu fais mais ça a l’air bien intéressant ! ( mais j’ai pas besoin de ça pour le moment )

Sinon :

En fait tu peux utiliser tous les systèmes de fichiers qui se trouvent sous forme de modules dans /boot/grub :

find /boot/grub/ -iname '*.mod' /boot/grub/pbkdf2.mod /boot/grub/bsd.mod /boot/grub/read.mod /boot/grub/gzio.mod /boot/grub/cpio.mod /boot/grub/tar.mod /boot/grub/vbeinfo.mod /boot/grub/efiemu.mod /boot/grub/usbms.mod /boot/grub/video_cirrus.mod /boot/grub/keystatus.mod /boot/grub/sleep.mod /boot/grub/iso9660.mod /boot/grub/bufio.mod /boot/grub/regexp.mod /boot/grub/part_sun.mod /boot/grub/acpi.mod /boot/grub/lsmmap.mod /boot/grub/lspci.mod /boot/grub/usb.mod /boot/grub/gcry_arcfour.mod /boot/grub/play.mod /boot/grub/gcry_rfc2268.mod /boot/grub/vbetest.mod /boot/grub/usbtest.mod /boot/grub/setjmp.mod /boot/grub/hashsum.mod /boot/grub/normal.mod /boot/grub/gcry_whirlpool.mod /boot/grub/probe.mod /boot/grub/minix.mod /boot/grub/xnu.mod /boot/grub/elf.mod /boot/grub/serial.mod /boot/grub/gfxterm.mod /boot/grub/raid.mod /boot/grub/datehook.mod /boot/grub/ata.mod /boot/grub/uhci.mod /boot/grub/zfs.mod /boot/grub/biosdisk.mod /boot/grub/dm_nv.mod /boot/grub/gcry_blowfish.mod /boot/grub/help.mod /boot/grub/hexdump.mod /boot/grub/memdisk.mod /boot/grub/search_fs_file.mod /boot/grub/hello.mod /boot/grub/part_amiga.mod /boot/grub/linux.mod /boot/grub/ufs1.mod /boot/grub/ufs2.mod /boot/grub/cmostest.mod /boot/grub/gcry_crc.mod /boot/grub/part_msdos.mod /boot/grub/iorw.mod /boot/grub/gcry_rijndael.mod /boot/grub/extcmd.mod /boot/grub/cat.mod /boot/grub/part_gpt.mod /boot/grub/functional_test.mod /boot/grub/afs_be.mod /boot/grub/gcry_cast5.mod /boot/grub/msdospart.mod /boot/grub/aout.mod /boot/grub/vbe.mod /boot/grub/reiserfs.mod /boot/grub/multiboot.mod /boot/grub/mdraid.mod /boot/grub/ls.mod /boot/grub/affs.mod /boot/grub/gcry_twofish.mod /boot/grub/befs.mod /boot/grub/raid5rec.mod /boot/grub/datetime.mod /boot/grub/cmp.mod /boot/grub/trig.mod /boot/grub/test.mod /boot/grub/gptsync.mod /boot/grub/hfs.mod /boot/grub/gcry_md5.mod /boot/grub/loopback.mod /boot/grub/jpeg.mod /boot/grub/pxe.mod /boot/grub/gcry_serpent.mod /boot/grub/tga.mod /boot/grub/png.mod /boot/grub/font.mod /boot/grub/gcry_sha512.mod /boot/grub/video_fb.mod /boot/grub/videotest.mod /boot/grub/afs.mod /boot/grub/chain.mod /boot/grub/date.mod /boot/grub/mmap.mod /boot/grub/nilfs2.mod /boot/grub/setpci.mod /boot/grub/blocklist.mod /boot/grub/ntfscomp.mod /boot/grub/scsi.mod /boot/grub/gcry_rmd160.mod /boot/grub/usb_keyboard.mod /boot/grub/pxecmd.mod /boot/grub/gfxmenu.mod /boot/grub/password_pbkdf2.mod /boot/grub/crc.mod /boot/grub/vga.mod /boot/grub/bitmap.mod /boot/grub/multiboot2.mod /boot/grub/loadenv.mod /boot/grub/ext2.mod /boot/grub/fshelp.mod /boot/grub/linux16.mod /boot/grub/cs5536.mod /boot/grub/hdparm.mod /boot/grub/raid6rec.mod /boot/grub/part_sunpc.mod /boot/grub/fat.mod /boot/grub/cpuid.mod /boot/grub/gcry_tiger.mod /boot/grub/boot.mod /boot/grub/ata_pthru.mod /boot/grub/video.mod /boot/grub/xfs.mod /boot/grub/xnu_uuid.mod /boot/grub/ntfs.mod /boot/grub/gcry_camellia.mod /boot/grub/gcry_sha256.mod /boot/grub/sfs.mod /boot/grub/vga_text.mod /boot/grub/zfsinfo.mod /boot/grub/echo.mod /boot/grub/part_acorn.mod /boot/grub/bitmap_scale.mod /boot/grub/at_keyboard.mod /boot/grub/relocator.mod /boot/grub/udf.mod /boot/grub/terminal.mod /boot/grub/befs_be.mod /boot/grub/part_bsd.mod /boot/grub/search_label.mod /boot/grub/password.mod /boot/grub/gcry_md4.mod /boot/grub/gcry_seed.mod /boot/grub/pci.mod /boot/grub/halt.mod /boot/grub/gcry_sha1.mod /boot/grub/search_fs_uuid.mod /boot/grub/minicmd.mod /boot/grub/gcry_des.mod /boot/grub/search.mod /boot/grub/jfs.mod /boot/grub/memrw.mod /boot/grub/parttool.mod /boot/grub/example_functional_test.mod /boot/grub/915resolution.mod /boot/grub/lvm.mod /boot/grub/video_bochs.mod /boot/grub/true.mod /boot/grub/ohci.mod /boot/grub/terminfo.mod /boot/grub/hfsplus.mod /boot/grub/part_apple.mod /boot/grub/reboot.mod /boot/grub/drivemap.mod /boot/grub/gettext.mod /boot/grub/crypto.mod /boot/grub/configfile.mod

find /boot/grub/ -iname '*.mod'|grep -iE '(fat)|(ntfs)|(fs)|(ext)' /boot/grub/zfs.mod /boot/grub/search_fs_file.mod /boot/grub/ufs1.mod /boot/grub/ufs2.mod /boot/grub/extcmd.mod /boot/grub/afs_be.mod /boot/grub/reiserfs.mod /boot/grub/affs.mod /boot/grub/befs.mod /boot/grub/hfs.mod /boot/grub/afs.mod /boot/grub/nilfs2.mod /boot/grub/ntfscomp.mod /boot/grub/ext2.mod /boot/grub/fshelp.mod /boot/grub/fat.mod /boot/grub/xfs.mod /boot/grub/ntfs.mod /boot/grub/sfs.mod /boot/grub/vga_text.mod /boot/grub/zfsinfo.mod /boot/grub/befs_be.mod /boot/grub/search_fs_uuid.mod /boot/grub/jfs.mod /boot/grub/hfsplus.mod /boot/grub/gettext.mod
Il faut seulement rajouter une ligne dans grub.cfg (que tu gères toi même donc) :

insmod fat.mod[/code]
pour que le systéme de fichier fat soit utilisable avant le boot du kernel

Chez moi j'ai ça dans mon grub.cfg ( généré automatiquement donc)
[code]cat -n grub.cfg |grep insmod
    29	  insmod vbe
    30	  insmod vga
    31	  insmod video_bochs
    32	  insmod video_cirrus
    35	insmod part_msdos
    36	insmod ext2
    42	  insmod gfxterm
    45	insmod part_msdos
    46	insmod ext2
    51	insmod gettext
    56	insmod part_msdos
    57	insmod ext2
    60	insmod png
    72		insmod part_msdos
    73		insmod ext2
    82		insmod part_msdos
    83		insmod ext2
    98		insmod part_msdos
    99		insmod ntfs
   106		insmod part_msdos
   107		insmod ext2
   114		insmod part_msdos
   115		insmod ext2
   122		insmod part_msdos
   123		insmod ext2
   130		insmod part_msdos
   131		insmod ext2
   138		insmod part_msdos
   139		insmod ntfs
   146		insmod part_msdos
   147		insmod ext2
   154		insmod part_msdos
   155		insmod ext2
   162		insmod part_msdos
   163		insmod ext2
   170		insmod part_msdos
   171		insmod ext2

Regarde un peu ce fil si tu as le temps, il pourra éventuellement t’aider :

clavier-bluetooth-gdm3-en-qwerty-t37023.html?hilit=grub2%20clavier#p379790

J’espère que j’ai pas dis de conneries parce que j’ai pas eu le temps de tout lire, sinon dsl, en tout cas chapeau ! :open_mouth:

Notes : oui pour les UUOC, je sais, c’est pas grave !

Merci pour les infos !!! :slightly_smiling:

Et je fais tous les tests en machine virtuelle pour éviter de me retrouver avec une erreur et que ça reboote plus. C’est plus simple que récupérer la backup en cas de problème :slightly_smiling:

Par contre, il faut que je fasse encore quelques tests sur le meilleur système de fichiers enfin le plus rapide surtout. J’avais trouvé un test, il me semblait l’avoir mis en bookmark mais je retrouve plus :frowning: (Avec ext2/3/4,fat32,ntfs,exfat)

PS : Si un jour tu en as besoin, tu sais où me trouver :slightly_smiling:
Mais en gros, il ne faut plus qu’un support de stockage flash (pour le bruit est fiabilité) qui sera que très peu usé vu qu’il y a des écritures uniquement quand tu redémarres. Prochaine étape démarrer via le réseau sur un stockage cloud :stuck_out_tongue: (Non, ce n’est pas pour demain :wink: )