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 07/12/2018, à 15:53

MKL31

[RESOLU]Probleme de mise à niveau partielle

Bonjour,

Suite à un essai d'installation de Itune sous Play on Linux, j'ai voulu installer le paquet: libimobiledevice. J'ai eu un message pour une mise à niveau partielle. En la lançant j'ai eu un code d'erreur.

En tapant sudo apt-get upgrade dans un terminal voici le retour:

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libcryptui0a linux-headers-4.15.0-33 linux-headers-4.15.0-33-generic
  linux-image-4.15.0-22-generic linux-image-4.15.0-33-generic
  linux-modules-4.15.0-22-generic linux-modules-4.15.0-32-generic
  linux-modules-4.15.0-33-generic linux-modules-extra-4.15.0-22-generic
  linux-modules-extra-4.15.0-33-generic seahorse-daemon
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  linux-image-4.15.0-32-generic
0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour.
5 partiellement installés ou enlevés.
Après cette opération, 8294 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
(Lecture de la base de données... 369767 fichiers et répertoires déjà installés.)
Suppression de linux-image-4.15.0-32-generic (4.15.0-32.35) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-32-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-33-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-33-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-22-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-22-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 370
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-32-generic (--remove) :
 installed linux-image-4.15.0-32-generic package post-removal script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-4.15.0-32-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'aimerai remettre en ordre mon système pour ensuite pouvoir installer une solution pour avoir accès aux fichiers de mon iphone.

Quelqu'un pour m'aider?

Merci!

Dernière modification par MKL31 (Le 11/12/2018, à 20:55)

Hors ligne

#2 Le 07/12/2018, à 22:56

LukePerp

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour, il semble que tu n'as plus d'espace disque. Fais voir :

df -h

Réparation, nettoyer et mise à jour :

sudo apt update ; sudo dpkg --configure -a ; sudo apt-get install -fy ; sudo apt-get autoclean ; sudo apt-get autoremove --purge -y ; sudo apt full-upgrade -y

Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#3 Le 08/12/2018, à 00:19

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour,

Il y a aussi ça :

erreur : syntax error.
Erreur de syntaxe à la ligne 370
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.

Il faudrait donc voir ce que contiennent /etc/default/grub et /etc/grub.d/* donc les retours complets de :

cat -n /etc/default/grub
find /etc/grub.d -name '*_*' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;

cqfd93

Hors ligne

#4 Le 09/12/2018, à 15:39

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour et merci de vos réponses,

Désolé d'avoir tardé.

@lukePerp:

Voici le retour à cette commande

sudo apt update ; sudo dpkg --configure -a ; sudo apt-get install -fy ; sudo apt-get autoclean ; sudo apt-get autoremove --purge -y ; sudo apt full-upgrade -y
Atteint:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Atteint:2 http://fr.archive.ubuntu.com/ubuntu bionic InRelease                 
Atteint:3 http://archive.canonical.com/ubuntu bionic InRelease                 
Ign:4 http://liveusb.info/multisystem/depot all InRelease                      
Réception de:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [83,2 kB]
Atteint:6 http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu bionic InRelease
Réception de:7 http://fr.archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]
Atteint:8 http://liveusb.info/multisystem/depot all Release                    
Atteint:9 http://download.virtualbox.org/virtualbox/debian bionic InRelease    
Ign:10 http://ppa.launchpad.net/martin-salbaba/ppa+libimobiledevice/ubuntu bionic InRelease
Réception de:11 http://fr.archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]
Err:12 http://ppa.launchpad.net/martin-salbaba/ppa+libimobiledevice/ubuntu bionic Release
  404  Not Found [IP : 91.189.95.83 80]
Réception de:14 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [398 kB]
Réception de:15 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [204 B]
Réception de:16 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [14,5 kB]
Réception de:17 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 64x64 Icons [36,7 kB]
Réception de:18 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [454 kB]
Réception de:19 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [170 kB]
Réception de:20 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [234 kB]
Réception de:21 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 48x48 Icons [52,2 kB]
Réception de:22 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main DEP-11 64x64 Icons [99,0 kB]
Réception de:23 http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [592 kB]
Réception de:24 http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages [586 kB]
Réception de:25 http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [199 kB]
Réception de:26 http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 48x48 Icons [186 kB]
Réception de:27 http://fr.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 64x64 Icons [331 kB]
Réception de:28 http://fr.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2464 B]
Réception de:29 http://fr.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [5812 B]
Lecture des listes de paquets... Fait                                    
E: Le dépôt http://ppa.launchpad.net/martin-salbaba/ppa+libimobiledevice/ubuntu bionic Release n'a pas de fichier Release.
N: Les mises à jour depuis un tel dépôt ne peuvent s'effectuer de manière sécurisée, et sont donc désactivées par défaut
N: Voir les pages de manuel d'apt-secure(8) pour la création des dépôts et les détails de configuration d'un utilisateur.
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
N: Le fichier configuré « contrib/binary-i386/Packages » ne sera pas pris en compte car le dépôt « http://download.virtualbox.org/virtualbox/debian bionic InRelease » ne supporte pas l'architecture « i386 »
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:2
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:3
W: La cible Packages (contrib/binary-amd64/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Packages (contrib/binary-i386/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Packages (contrib/binary-all/Packages) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-fr_FR) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-fr) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible Translations (contrib/i18n/Translation-en) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11 (contrib/dep11/Components-amd64.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11 (contrib/dep11/Components-all.yml) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11-icons-small (contrib/dep11/icons-48x48.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible DEP-11-icons (contrib/dep11/icons-64x64.tar) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible CNF (contrib/cnf/Commands-amd64) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
W: La cible CNF (contrib/cnf/Commands-all) est spécifiée plusieurs fois dans /etc/apt/sources.list.d/virtualbox.list:1 et /etc/apt/sources.list.d/virtualbox.list:4
Traitement des actions différées (« triggers ») pour gconf2 (3.2.6-4ubuntu1) ...
Paramétrage de linux-image-4.15.0-34-generic (4.15.0-34.37) ...
Paramétrage de grub-pc (2.02-2ubuntu8.9) ...
Installation pour la plate-forme i386-pc.
grub-install : attention : Le système de fichiers « ext2 » ne prend pas en charge l'embarquage.
grub-install : attention : L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée..
Installation terminée, sans erreur.
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet grub-pc (--configure) :
 installed grub-pc package post-installation script subprocess returned error exit status 1
Traitement des actions différées (« triggers ») pour libglib2.0-0:i386 (2.56.3-0ubuntu0.18.04.1) ...
Traitement des actions différées (« triggers ») pour libglib2.0-0:amd64 (2.56.3-0ubuntu0.18.04.1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.27-3ubuntu1) ...
Traitement des actions différées (« triggers ») pour man-db (2.8.3-2ubuntu0.1) ...
Paramétrage de friendly-recovery (0.2.38ubuntu1) ...
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet friendly-recovery (--configure) :
 installed friendly-recovery package post-installation script subprocess returned error exit status 1
Paramétrage de linux-image-4.15.0-42-generic (4.15.0-42.45) ...
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-34-generic (4.15.0-34.37) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-34-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-34-generic (--configure) :
 installed linux-image-4.15.0-34-generic package post-installation script subprocess returned error exit status 1
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-42-generic (4.15.0-42.45) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-42-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-42-generic (--configure) :
 installed linux-image-4.15.0-42-generic package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 grub-pc
 friendly-recovery
 linux-image-4.15.0-34-generic
 linux-image-4.15.0-42-generic
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-image-4.15.0-22-generic linux-image-4.15.0-32-generic
  linux-image-4.15.0-33-generic
0 mis à jour, 0 nouvellement installés, 3 à enlever et 0 non mis à jour.
7 partiellement installés ou enlevés.
Après cette opération, 24,9 Mo d'espace disque seront libérés.
(Lecture de la base de données... 326513 fichiers et répertoires déjà installés.)
Suppression de linux-image-4.15.0-22-generic (4.15.0-22.24) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-22-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-22-generic (--remove) :
 installed linux-image-4.15.0-22-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-32-generic (4.15.0-32.35) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-32-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-32-generic (--remove) :
 installed linux-image-4.15.0-32-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-33-generic (4.15.0-33.36) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-33-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-33-generic (--remove) :
 installed linux-image-4.15.0-33-generic package post-removal script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-4.15.0-22-generic
 linux-image-4.15.0-32-generic
 linux-image-4.15.0-33-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Del chromium-browser 70.0.3538.77-0ubuntu0.18.04.1 [56,6 MB]
Del libgs9-common 9.26~dfsg+0-0ubuntu0.18.04.1 [5093 kB]
Del ghostscript-x 9.26~dfsg+0-0ubuntu0.18.04.1 [42,9 kB]
Del adobe-flash-properties-gtk 1:20181120.1-0ubuntu0.18.04.1 [143 kB]
Del chromium-browser-l10n 70.0.3538.77-0ubuntu0.18.04.1 [2761 kB]
Del ghostscript 9.26~dfsg+0-0ubuntu0.18.04.1 [51,8 kB]
Del adobe-flashplugin 1:20181120.1-0ubuntu0.18.04.1 [9800 kB]
Del libgs9 9.26~dfsg+0-0ubuntu0.18.04.1 [2265 kB]
Del chromium-codecs-ffmpeg-extra 70.0.3538.77-0ubuntu0.18.04.1 [1106 kB]
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-image-4.15.0-22-generic linux-image-4.15.0-32-generic
  linux-image-4.15.0-33-generic
0 mis à jour, 0 nouvellement installés, 3 à enlever et 0 non mis à jour.
7 partiellement installés ou enlevés.
Après cette opération, 24,9 Mo d'espace disque seront libérés.
(Lecture de la base de données... 326513 fichiers et répertoires déjà installés.)
Suppression de linux-image-4.15.0-22-generic (4.15.0-22.24) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-22-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-22-generic (--remove) :
 installed linux-image-4.15.0-22-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-32-generic (4.15.0-32.35) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-32-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-32-generic (--remove) :
 installed linux-image-4.15.0-32-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-33-generic (4.15.0-33.36) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-33-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-33-generic (--remove) :
 installed linux-image-4.15.0-33-generic package post-removal script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-4.15.0-22-generic
 linux-image-4.15.0-32-generic
 linux-image-4.15.0-33-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les NOUVEAUX paquets suivants seront installés :
  linux-modules-4.15.0-22-generic linux-modules-4.15.0-32-generic
  linux-modules-4.15.0-33-generic
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
7 partiellement installés ou enlevés.
Il est nécessaire de prendre 41,7 Mo/62,7 Mo dans les archives.
Après cette opération, 198 Mo d'espace disque supplémentaires seront utilisés.
Réception de:1 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 linux-modules-4.15.0-22-generic amd64 4.15.0-22.24 [12,9 MB]
Réception de:2 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 linux-image-4.15.0-22-generic amd64 4.15.0-22.24 [7875 kB]
Réception de:3 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 linux-modules-4.15.0-33-generic amd64 4.15.0-33.36 [13,0 MB]
Réception de:4 http://fr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 linux-image-4.15.0-33-generic amd64 4.15.0-33.36 [7886 kB]
41,7 Mo réceptionnés en 31s (1341 ko/s)                                       
Sélection du paquet linux-modules-4.15.0-22-generic précédemment désélectionné.
(Lecture de la base de données... 326514 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../linux-modules-4.15.0-22-generic_4.15.0-22.24_amd64.deb ...
Dépaquetage de linux-modules-4.15.0-22-generic (4.15.0-22.24) ...
Sélection du paquet linux-modules-4.15.0-32-generic précédemment désélectionné.
Préparation du dépaquetage de .../linux-modules-4.15.0-32-generic_4.15.0-32.35_amd64.deb ...
Dépaquetage de linux-modules-4.15.0-32-generic (4.15.0-32.35) ...
Sélection du paquet linux-modules-4.15.0-33-generic précédemment désélectionné.
Préparation du dépaquetage de .../linux-modules-4.15.0-33-generic_4.15.0-33.36_amd64.deb ...
Dépaquetage de linux-modules-4.15.0-33-generic (4.15.0-33.36) ...
Paramétrage de linux-image-4.15.0-34-generic (4.15.0-34.37) ...
Paramétrage de linux-modules-4.15.0-33-generic (4.15.0-33.36) ...
Paramétrage de grub-pc (2.02-2ubuntu8.9) ...
Installation pour la plate-forme i386-pc.
grub-install : attention : Le système de fichiers « ext2 » ne prend pas en charge l'embarquage.
grub-install : attention : L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée..
Installation terminée, sans erreur.
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet grub-pc (--configure) :
 installed grub-pc package post-installation script subprocess returned error exit status 1
Paramétrage de linux-modules-4.15.0-22-generic (4.15.0-22.24) ...
Paramétrage de linux-modules-4.15.0-32-generic (4.15.0-32.35) ...
Paramétrage de friendly-recovery (0.2.38ubuntu1) ...
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet friendly-recovery (--configure) :
 installed friendly-recovery package post-installation script subprocess returned error exit status 1
Paramétrage de linux-image-4.15.0-42-generic (4.15.0-42.45) ...
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-34-generic (4.15.0-34.37) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-34-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-34-generic (--configure) :
 installed linux-image-4.15.0-34-generic package post-installation script subprocess returned error exit status 1
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-42-generic (4.15.0-42.45) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-42-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-42-generic (--configure) :
 installed linux-image-4.15.0-42-generic package post-installation script subprocess returned error exit status 1
Aucun rapport « apport » écrit car MaxReports a déjà été atteint
                                                                Des erreurs ont été rencontrées pendant l'exécution :
 grub-pc
 friendly-recovery
 linux-image-4.15.0-34-generic
 linux-image-4.15.0-42-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

Le retour de def -h:

Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               3,9G       0  3,9G   0% /dev
tmpfs              788M    2,1M  786M   1% /run
/dev/sda2           20G     15G  3,8G  80% /
tmpfs              3,9G     35M  3,9G   1% /dev/shm
tmpfs              5,0M    4,0K  5,0M   1% /run/lock
tmpfs              3,9G       0  3,9G   0% /sys/fs/cgroup
/dev/loop1         141M    141M     0 100% /snap/gnome-3-26-1604/70
/dev/loop3         107M    107M     0 100% /snap/organize-my-files/9
/dev/loop4          47M     47M     0 100% /snap/kata-containers/6
/dev/loop5          13M     13M     0 100% /snap/gnome-characters/139
/dev/loop6          35M     35M     0 100% /snap/gtk-common-themes/808
/dev/loop7          18M     18M     0 100% /snap/communitheme/1364
/dev/loop0          13M     13M     0 100% /snap/gnome-characters/124
/dev/loop9          88M     88M     0 100% /snap/core/5742
/dev/loop11        100M    100M     0 100% /snap/simple-scan/34
/dev/loop12         35M     35M     0 100% /snap/gtk-common-themes/818
/dev/loop13        100M    100M     0 100% /snap/organize-my-files/6
/dev/loop14         60M     60M     0 100% /snap/kata-containers/18
/dev/loop16         13M     13M     0 100% /snap/gnome-characters/117
/dev/loop17         88M     88M     0 100% /snap/core/5662
/dev/loop18         82M     82M     0 100% /snap/xnsketch/2
/dev/loop19         43M     43M     0 100% /snap/gtk-common-themes/701
/dev/loop21        140M    140M     0 100% /snap/gnome-3-26-1604/64
/dev/loop23        2,3M    2,3M     0 100% /snap/gnome-calculator/222
/dev/loop24        2,3M    2,3M     0 100% /snap/gnome-calculator/260
/dev/loop26        141M    141M     0 100% /snap/gnome-3-26-1604/74
/dev/loop27         98M     98M     0 100% /snap/organize-my-files/5
/dev/loop28         15M     15M     0 100% /snap/gnome-logs/40
/dev/loop20         89M     89M     0 100% /snap/core/5897
/dev/loop2          58M     58M     0 100% /snap/kata-containers/15
/dev/loop22        3,8M    3,8M     0 100% /snap/gnome-system-monitor/57
/dev/loop30         15M     15M     0 100% /snap/gnome-logs/45
/dev/loop31        3,8M    3,8M     0 100% /snap/gnome-system-monitor/51
/dev/loop8         3,8M    3,8M     0 100% /snap/gnome-system-monitor/54
/dev/loop10         15M     15M     0 100% /snap/gnome-logs/43
/dev/loop29        2,3M    2,3M     0 100% /snap/gnome-calculator/238
/dev/loop15         17M     17M     0 100% /snap/communitheme/1226
/dev/loop25        101M    101M     0 100% /snap/simple-scan/23
/dev/loop32         17M     17M     0 100% /snap/communitheme/1273
/dev/sda4          405G    103G  282G  27% /home
tmpfs              788M     28K  788M   1% /run/user/120
tmpfs              788M     76K  788M   1% /run/user/1000

@cqfd93, le retour de :

cat -n /etc/default/grub
find /etc/grub.d -name '*_*' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;
mdline_cat_test从硬盘的第一主分区启动
     3	The quick brown fox jumped over the lazy dog.
     4	Unicode test: happy☺ £ 5.00 ¡τäu!  ℤ⊆ℝ
     5	HelloHelloHello
     6	gfxtermUnknown Regular 16unicode font not found: %s0tests/cmdline_cat_test.ccmdline_catunicodecmdline_cat_testtest.txtvLICENSE=GPLv3+video_fbfunctional_testprocfsnormalfontcmdline_cat_test-@	
     7	)?P\*AWcvgrub_mod_initgrub_mod_finigrub_strlengrub_test_use_gfxtermgrub_cmdline_rungrub_errmsggrub_terminal_input_fake_sequence_endgrub_procfs_entriesgrub_dl_loadgrub_strdupgrub_font_loadgrub_video_checksum_endgrub_font_getgrub_errnogrub_terminal_input_fake_sequencegrub_video_capture_startgrub_video_capture_endgrub_test_video_modesgrub_strcmpgrub_test_registertest_txtgrub_test_use_gfxterm_endgrub_test_unregistergrub_list_removegrub_video_fbstd_colorsgrub_video_checksumgrub_list_pushgrub_testassert_helpe
 */5>CPWdin#s{!"
                            
                                 $16<DJ
                                                                     .symtab.strtab.shstrtab.rel.text.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4N	@X
                            % -2@8<	@P	
                                                                 FHW[W,dP

             	`	m

/etc/grub.d/backup/boot_grub/i386-pc/legacy_password_test.mod

UVS1CRVhhj@hh9PF
                                             
                                                  ue[^]U]U帝]legacy_password_testBad password check (%d)grub_legacy_check_md5_password (vectors[i].argc, vectors[i].args, vectors[i].entered) == vectors[i].exptests/legacy_password_test.clegacy_password_test--md5$1$oaL$eyrazuM7TkxVkKgBim1WH1$1$naL$BaFO8zGgmss1E76GsrAec1$1$maL$OKEF0PD2k6eQ0Po8u4Gjr/hello1hello0hi0hillo0hellw0hell0h0hello0hell0hello0hell0hi0helloLICENSE=GPLv3+legacycfgfunctional_testlegacy_password_testYl	
     2	0Edgrub_mod_initgrub_mod_finigrub_test_registergrub_test_unregister!(-?]bhpasswordgrub_test_assert_helper
                      pv
                           
                             $
                                   0<HT` l$x(,000000000000000001.symtab.strtab.shstrtab.rel.text.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4z	@4`
            %-2@1 <	@4
                                            F22[2d3(3

                                                                       	4|5m

/etc/grub.d/backup/boot_grub/i386-pc/usbserial_ftdi.mod

USfEfEfEfEfEfEx,P(tË@4jjjR@S(tC4jjjR@S1;u	@u1ҋC4jjQR@C4jjjSKfTUf
                                                                           TM
                                                                              SR@C,]USÈUC4
                                             MQ
                                                          ]USRY[]ffx
     2	`t1U
                    jjhZUWV֋
     3	1;
f<uBuVVh0v	QQh!~
                                v	RRh=~WvPPhfjx@,1e^_]U]U`	q%8AKN4unsupported serial port speedunsupported serial port parityunsupported serial port stop bits numberunsupported serial port word lengthIs.LICENSE=GPLv3+usbserial_commonusbserialusbserial_ftdi	
     4	3Wlgrub_mod_initgrub_mod_finigrub_usbserial_attachgrub_usb_register_attach_hook_classgrub_usb_control_msggrub_usb_unregister_attach_hook_classgrub_serial_unregister_drivergrub_usbserial_finigrub_usbserial_fetchgrub_er"Eglk_writeX
               
                                                  
                                                               .symtab.strtab.shstrtab.rel.text.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4"	@
                           %`8 -2@$ <	@p(
                                                            FDS[Sdo@

       	m

/etc/grub.d/backup/boot_grub/i386-pc/video_fb.mod

     1	ELFO4(
USKSP[]UWVS$HLMxPpTu؋XXH\MH`MHdMԋHhMЋMM;MsMMUUԋMuM9vU;}sMUUЍ4u9vU܃}‰օ	ރ}	ރ+UU9UÉu;Mr(@p@t@x@|ǀJuppHt])XxU)ʉP|]9]s
U);}s
     3	ǀ1$[^_]UVS 9~Ӌ$9}9|-5N)ʋ‹,
                                                                          u;}9}]UVS9&5N)ʋU
                                                 @1[^]U01U4041UL1UVSk9t9v44@1[^]UWVS
                        Éύ4;5wkD5u9v
                                                                        
                                                                          C9u1
       [^_]UWVS]39s11{}9s	E1ҍ9s)u9u})׉}CLSPKTECX{lt1ZY[^_]UVSt
                                       5vL0t
     4	@Pt
     5	@Tt
     6	@X1[^]UWVS]39s11{}9s	E1ҍ9s)u9u})׉}C\S`KdECh1ZY[^_]UVSt
                                           5v\0t
     7	@`t
     8	@dt
     9	@h1[^]UHu	@l@l1]Utzl҉1]UWVSˈUM5tvǡE1E1ɉEEE;U4+ut+uD})t9EхuEBE봀t1:FHuj:VIue18^J[+N$N(EÉ+N4N8+N<ۋN@	+~,ҋN0	ЋM	ȃ[^_]U9v&uHP]1]UWVSljˋE5t( t}t!1:NHuv:VIuq:^JulE8FK^+N$N(}+N,N0
                                                     }ۉ+N4ۋN8	U+F<‹N@	ZY[^_]UWVSEMtq t%uEE
}TT}                                        EJwۍ
                       DBtGtPH}PIPJ}
                                                             @KPD}PEPF}
       @G}H(H$K!)ΉI	ˋuH0H,K!)ΉN	H8H4K!)ΉN	u
                                                   ]{<t!H@H<H)ȉI	ыEXZ[^_]
                          US]?]u    E1]UWVS,ẺӋu
                                           Qщ                          zlt BpEԋBtEЋzxB|++BLEԋBPEЋzTBXtt{9}wUxm9}ixc]ȉ1ۅy1ɋ9s)߉9s)ȉƋ}ωEEMPVWU̍EZ1e[^_]UWVS<ẺUˋE؋PLU܋zlt#BpEȋBtEċzxB|E++BLEȋBPEċzTBXEԅƃ}	ƃ}EЉ
    10	EV}L9DE99M0E%E̋EE̋pE9E
                                                                       E
                                                                           E9uEE}
               yE
                  E)E
                         }yEE)E])]
                                               1ۅM)M1ɋE9s)߉}E9EE)ȉEE
      E9Es	E+E
                     EEE9+EE};}v};uvuMĉUEȉMPPuu
        VWMQ]SMU؍EZY1e[^_]UWVS<ẺUˋE؋U܋zlt#BpEȋBtEċzxB|E++BLEȋBPEċzTBXEԅƃ}	ƃ}EЉ
    11	EV}L9DE99M0E%E̋EE̋pE9E
                                                                       E
                                                                           E9uEE}
               yE
                  E)E
                         }yEE)E])]
                                               1ۅM)M1ɋE9s)߉}E9EE)ȉEE
      E9Es	E+E
                     EEE9+EE};}v};uvuMĉUEȉMPPuu
        VWMQ]SMU؍EZY1e[^_]UWVSLEUЉMԉ	pTuM1)щMċxX}̋U}1)׋@PUx}MyPL+EЉEU@LEEEEă}y
    12	XP+u	pPEԍ09HT9xXU)ʉUM)M̉EU}xH)MȉUEEًUčEU		€}}yu1ۋMȃ}
                                                                             }t&}u C;].1;U}<<BE̍LUUEDËE̍LUUE-Sk]1Mȃ)ˉ];u1;M}
                                  k8:AUEFEًUčEU	€}y?u1ۋMȃщMMt)}u#EuC;]R19}f
                                                                  Vf
                                                                     PBE̍LUUEgËE̍LUUEPsuEk1Mȃ)ˉ];u19}kE]ffA]]]Fу}xEtL}uFًUčE]EM9M19}	
                                                                         
                                                                           By1UEыE̍LUUEËE̍LUUEKHEuމuȋ]9]})1҉9~	Jy1ҋu)Eσ}~PPuԡpT1)t3JXE9v؉EMPPEPrT1ҋE^_}~SSpXu11*t2PTM9vމuUQQpXEP1ɋEXZ1e[^_]UWVSEׅ
u}uPPhj&MθÅǀ@L@PxTpX@\@`xdph@l@p@txxp|ǀǀ8p"u%"@
                  @@@ 	\!@
                                       @@@(@@@@8@@@CC {{ΉȉMMu"t1E1e[^_]UWVSE։ϸu
    13	ǀLCLCPSTFCXC\C`SdChClCpCtSxC|ǃǃ1;~sNF1GߋE1[^_]Åt(USQÃt
                                                   1Z[]1ÅuuUhj&ã1U;u1҉1]UWVSlE׉ˋu
                                                             CC4t&ڸt&44@ǀ(,8R
U@ $1օt
                       
                               50ot
    14	E}EE4t'Ut44uWGǀ8?
     (,E1xoڸuT8=
l[^_]                                (,0J
               U8t]1]USQӹL=0t=(t8(
                                                                1Z[]USKSP[]UWVSƉЉϋ]
                                   ZJ)ىMM
                                                 JZ)ˋMUEU
  y1ҍ
        R1}ύ];u}=M1;U
                                 }*]Y]Y]\]\DB}EF뾃[^_]UWVSÉЉ΋M
                              JR)ʉUM
                                            JR)ʉUMUNjEU
 y1ҍR1EЉEUU;u}=M1;]
                                      }%EBEBEAEAC}]]F뾃[^_]UWVS
                         ƉЉϋkM
                                JM]
                                          Y)ӋMUOE@U
                                                                           y1ҍ
 R1MM<};u}:M1;]
                            }$y	y	C׋}}EF
                                                                            [^_]UVSÈډfʁ[^]UWVSƉЉϋk]
                                                           ZR+U
                                                                      U܋MUzEkNjE
                   y1@E
                                ME܉E܋E;E}1]1;u
                                                       }SK7FMM}Eǃ[^_]UWVSlj։ˋMUEډËU
                                                               PUEE;E}M܋U@EXEك[^_]UWVSEU}ɋC U
                                                               H	
    15	$E0F H
    16	$(ECS)‰UEFv)ƋME"ËM
                                                   EUy11MщM9}#19U~3
                 MLMLML
                                        MLMLMLB]G뵋ECS)‰UEFv)ƋMENjM
                               EwEMy1ɍI1ۋEEE9]U19M~4BBA}uuCċMENjM
                                                           EEEK)kVÅy1ۍ[E1EUU9uU19]~
                                                   
    17	BJC}]]FȋE[)ËF+EEMEqƋM
                                                                        EaNjEy1E]EEE9Ei19]~Cu}EƋE@ H$H
              uWuuu
                          UE
                                        Ex E@ E0Fw=HMEvEM
                        EeNjF+EEs+u1DME.EM
  ENjEv)ƋC+EE1ۉDCu
                                                   j111EU
                                                                       y11ۋMщM49]19U~M
                         u
    18	L
               BދUUCȋMEEM
                                              ErEkEFEC+EE1ۉDCu
                 j111EE}
                                        y1|EE9E=M19]~/E4U<tTAQC̋E8UU|UE롋MEEM
                                                                               ENjEv)Ɖus+u1ۉfD]Cu
                                                j111fEċE
                                                                      y11UU9Mk19E~ UufG
                                     fTUfG@u}AljDCu
                                                                              j111E
                 19U19E~]u
                                          
    19	\@ދEy1]EB뼋Epm@+EE
                                                                       +EUEMExуM
                                E6EKJSICH
                                                       [KSEEKFSECD[GSE
               1+E|)$4u@)ЉE
                                                      )uEMExуM
                E~EKJSICH
                                       [KSEEKFSECD[GS|U
     y1ҍE1+]h9UA19M~(Et]|uGA}Mt	GhMMMBkUPU
                                                        +E|EMExуM
                      EgEKJSICH
                                             [KSEEKFSECD[GSXH]h]x]K]
                                                   1҃}~[]\DE+U@UM9ME]9]}#tM
    20	uGEӄtM
    21	hJxXJHJuG|Mt	G@ED]TUҋ@)ЉE
                                     +EuEMExуM
                                                                               EEKJSICH
                      [KSfEEKFSECD[GSfEE
                                                                   y1|1+]h9E19M~-t
                              U]fJ
    22	]UfKuGA}Mt	GhM|M@딉]tLM
                   uG@9E݋Ey1}MtEEB9U1ɊMG|19]1E؉E9u~_7MEQMQURURM‹EMUEEPPEPEM
                            ًPEF
                                           C놃Ht	z
                                                                  
    23	Ep V$hUSs)֋UPX)ӋME|M
                                                                        EhEy1E<x؉XE9EhxEE9E|uEt}ÉEljE}tEGEM(EEċMEEM	ދE	ƋE   ƉwEVx|XhEus)֋X)ӋMEpEM
                              E_EEy1E<0h؉xE9E^Ex19uEEtr=thGEEME׋EċM|ҋEMU		|       Ӊ_Flh}x}E>US[)ӋUPp)֋MEQEM
                                            E@EEy1@E|Ep19}~{EEteÉEljEہ}t;FMFMUEFMUE^EFEFG뀋|}h}ERus)k]XMEGEM
                      E6NjEy1@E|hE9E5
                                                                         _19uEEtkEE}uSECEACMEUCMEUCMMKMKCFs|uhEKuK)щX@)HME-|M
                                  Ehy1xEE9E
                                                                             hX19u|MȉM̉ME}u
    24	UEdSQEPEPEPMEEZMUEEEMUzEEEMUeEUECFCExX|HhEE@ H$
                       uWuuu
                                   UE@
                                                      uWuuu
                                                                  UEh
     uWuuu
                 UEy
                                    uWuuu
                                                UEEJ 0MJR)ʉh
                                     +UxUM}wуEM
      EEKJSICH
                             [KSXEKFSECD[GSHE
                                                                              y1<Dž|+E8|9E19}EEt
                                                     XKX
    25	XGHEE]wtvEEUEDEԋEĉ@UҋED		@       ËEmuFEG;xEŠMtU
                           F8Eh<E|MJR)ʉX
  +UHUMu~уEM
                                                   EhKJSICH
                                                                             [KSDEKFSECD[GS@E
                                              y1@xDž|+E<|9EhEE9EEEt
                                 @KD
    26	@G@<uF^KtGMEEM&׋EċMFӋEMFmuGEE\HEŠMtU
                                                                G<ExXh|MJR)ʉh
                                          +UxUM}WUуEM
            E%EKJSICH
                                   [KSXEKFSECD[GSU
                                                                              y1ҍ<@Dž|8|9E1X<9}uEEt
                                                                     <XK
    27	8XGu
                     Ef4xt}EfxfEEeHEf??FD
                    uf
                            Ɖ*H
                                               	ЋDf	Ћuf~muEEG.x}EŠMtUE+MEh@E|E0Fw<HgMEbNjM
                           ER‹F+EEs+u1 MENjM
    E
         ‹Ev)Ƌ[+]1ɉUȉMMDAUuEy11É]49M19E~t
    28	\@}AӋMEEM
                                             E{kEFE[+]1DFuEy1@E؉Eu֋E9E_G19]~)MtTPHPCҋ]]E봋MENjM
                                      E‹Ev)Ɖu[+]1UfDuFUuEy141؉Eu9M19E~t
                                                   f\]fB@}AщUDCUu19Ml19E~t
    29	\@Ey10EAŋu
                                           E)|+h+E
                                                                 9E|E+9EhMEWURURURM‹EEZuMUE
                                                                               hڋERURURURM‹E}EUEYTEEUE?EEUE*EMMUE
                                      WPڋE
                                                          CFe[^_]UWVS<M}
             0^w!K4^)MH1	tO
                                                                  ^4)M
    Hȉy11ۍ49]19~ACUMUV4)kMHy1@1؉E9u19~]]ȈX]XBMFҋ^4?)MXy1
       19E~k19~fKA@y1C9]~G19~@UE19]~.1؉E9~E0
              uMEF
                               C͍e[^_]
                                          USKSP[]UVSË0F
                                                                          wsItPuvlt u`WPH		9-1~ 
    30	u%K)1[^]UVSƋX
                                                wsJtTu%qtYU	PU
    31	P?f0x 
    32	u*F)"	ӈ[^]#R&R&R&R&7PS!O-R&>R&R&[	-R&O-,-R&R&r-\('5*w)55+	-5O-,-55r-invalid argument giveninvalid render target givenTTTTTTTTTTTTTU$$U$$HHUHHllUllUUUتU$$U$$$$$$U$$$$$H$HU$H$H$l$lU$l$l$$U$$$$U$$$$U$ت$$$U$$HHUHHH$H$UH$H$HHHHHlHlUHlHlHHUHHHHUHHHHUHتHHHllUlll$l$Ul$l$lHlHUlHlHllllUllllllUllllUllllUlتlllUllU$$U$$HHUHHllUllUUUتUU$$U$$HUHHllUllUUUتUU$$U$$HHUHHllUllؐؐUؐؐششUششUتUU$$U$$HHllUllUUUتLICENSE=GPLv3+video_fb	Z++IDtd	5F"		w
    33	#|9-tIHcnzQ7x5FH/1Vttn/8W)7+Fta7xFL]
                hgrub_video_fb_map_rgbagrub_video_fb_finigrub_video_fb_get_regiongrub_video_fb_create_render_target_from_pointergrub_video_fb_unmap_color_intgrub_video_fb_unmap_colorgrub_video_fb_map_rgbgrub_video_fb_scrollgrub_reallocgrub_video_fb_fill_rectgrub_memmovegrub_video_fb_blit_bitmapset_pixelgrub_video_fb_get_viewportgrub_video_fb_swap_buffersgrub_errnogrub_memsetgrub_video_fb_get_palettegrub_video_fb_set_palettegrub_video_fb_map_colorgrub_video_fb_initgrub_video_fb_get_area_statusgrub_zallocgrub_mallocgrub_video_fb_get_info_and_finigrub_video_fb_set_active_render_targetgrub_video_fb_set_area_statusgrub_video_fb_set_regiongrub_video_fb_delete_render_targetget_pixelgrub_errorgrub_video_fb_dispatch_blitgrub_video_fb_fill_dispatchgrub_freegrub_video_fbstd_colorsgrub_video_fb_get_active_render_targetgrub_video_fb_set_viewportgrub_video_fb_get_infogrub_video_fb_setupgrub_video_fb_blit_render_targetgrub_video_fb_create_render_target"Y^dp#*29FLVqv{)!+DIjr	9GUcy9m		
                                                                               D
    34	f
    35	(
    36	K
           '
             4'c
                                      -X&)9))&$08}
                                                              )
                             +0$8J|
                                                                       )',
                                                        6CIS]gpv	7m   !!!""##6%U%v&%&
                                    &&'m,
                                                ,-9.Z.0801244:5566%P6
        6%6
               6
                 78
                               $(,048<@DHLPTX\`dhlptx|.symtab.strtab.shstrtab.rel.text.rel.rodata.rodata.str1.1.data.module_license.bss.modname4!:	@LF
    37	)X:%	@MP
    38	12;3@@; F@?`?< [`?	l?
                                              	|BOd

/etc/grub.d/backup/boot_grub/i386-pc/part_dvh.mod

     1	ELF4(

                     UWVSLƉ׉DžShjj111=A
       t	RRh"ƒE9r1ۅtPPhjuuCtfk
                                                                           
     2	u鋔$DžDžׅte[^_]U]U]not a dvh partition tableinvalid checksumdvh+LICENSE=GPLv3+part_dvh
                            5DOZkgrub_mod_initgrub_mod_finigrub_partition_map_listgrub_disk_readgrub_errnogrub_errorgrub_list_removegrub_list_push5
     3	Z~
                
                	"(
  .symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.modname4,	@$X	%2`/84	@|	>S	
     4			z\

/etc/grub.d/backup/boot_grub/i386-pc/part_sunpc.mod

     1	ELF4(

                     UWVS,@$Whjj1ɋtf}tRRh.1҉f1׃u9s1f9tPPhjƒrk
                            EЋ0ftJftELsP1҉C
                                                                   S;	tڋօtG~Ѝe[^_]U]U]not a sun_pc partition tableinvalid checksumsunpc.LICENSE=GPLv3+part_sunpcGZ5DO[fwgrub_mod_initgrub_mod_finigrub_partition_map_listgrub_disk_readgrub_errnogrub_zallocgrub_errorgrub_list_removegrub_freegrub_list_push$
                                                                           5W
39	h
      KP	V^d
                            .symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.modname4h	@	%2484	@	>S
                       
     3			
                         ,\

/etc/grub.d/backup/boot_grub/i386-pc/usb_keyboard.mod

4(   1	ELF4
U1Ҩ tttt@t]UHAQ	]UEfP@tE tMURjRh	!UVSƻCt<90u8@tCC u[^]UWVS(ljU܉MQR@PGPGPhhhh0EEE؃tE}u1fkMiU܄Q zzyZ118Es$~yCNu8h1hhhDÃu1B몸u
         E܍PujjVj
                             !jjVj
     2	!EEع  ukEiU܄D,PPuh=8CS
   
     CPC
                     C fCCV
                                            uUظ	E҅te[^_]UVSËp<} L3,vT49u)F;s@|)C<S4C,@u
                                                                      C<1j9ufs@
     3	Sufs C,VS	‰C C$S(F;s@|	C<s<K [^]UWVS,X{t1GEԃ{<uCUƃuCۃ{ t;S(rw;C$v2C$S(C u}vS,C4{C,S
                                                                    
                                                                      WC
   uRREhLCC PPC3PC2PC1PC0PC/PC.PC-PC,PuVh`hhh@ES,SC<C@e[^_]U]USQCt8@tCC uZ[]%x %x %x %d %d
     4	usb_keyboardterm/usb_keyboard.cHID found!
     5	usb_keyboard%d%s failed. Stopped
     6	err = %d, actual = %u report: 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x
     7	3LICENSE=GPLv3+keylayoutsusbusb_keyboardZha	8Jb/;L^oygrub_mod_initgrub_mod_finigrub_usb_set_configurationgrub_term_map_keygrub_usb_check_transfergrub_usb_register_attach_hook_classgrub_usb_control_msggrub_xasprintfgrub_usb_unregister_attach_hook_classgrub_memmovegrub_errnogrub_term_inputsgrub_printfgrub_usb_cancel_transfergrub_print_errorgrub_mallocgrub_get_time_msgrub_real_dprintfgrub_list_removegrub_freegrub_usb_bulk_read_backgroundgrub_list_push',E
     8	3KS`eqi
                                                                    
                                                                               @n	^d
                           48.symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4	@
     9	
    10	%28@ 4	@
                                  
<	>  S \/

    12			
                              e

/etc/grub.d/backup/boot_grub/i386-pc/search_fs_uuid.mod

     1	ELF
     2	4(

     3	uȍIw Jw )UWVSt%΍ywq {w 9u	@BuԉȍIw Jw )[^_]UWVS,t 8fuxduXKЀ	w
     4	ӉE1tRu1>H tUу=uMtދȉMƋMЉ{ul{ub
                                  DžtBGEtt=$Gt&CCt
     5	UPPuht
                                    {1e[^_]UWVS
                                                                ÉЉu2PV3hÉtىeƉe[^_]UWVSË5t@F6C{uFEE;CE<C
                                                                 M4>t>,uC
               8t>,>uOC
u>u,,'ٺ€>u,UUu;EGڸy[^_]CC[^_]UVS ÉE܉UMEE
                                                   EEEt-5Eb5=u}EE=u}uPSh
     6	je[^]UVSuSShj-Љ1Ƀ~J1HtSPPQV1ɋZYe[^]UjhZ3
                       KXZU] %s%s,%sno such device: %sone argument expectedNAME [VARIABLE] [HINTS]search.fs_uuidSearch devices by UUID. If VARIABLE is specified, the first device found is set to a variable.LICENSE=GPLv3+search_fs_uuid[*)?Wfw|$/9Mgrub_mod_initgrub_mod_finigrub_strlengrub_fs_autoload_hookgrub_partition_get_namegrub_xasprintfgrub_device_opengrub_strdupgrub_partition_iterategrub_errnogrub_register_command_priogrub_printfgrub_unregister_commandgrub_mallocgrub_search_fs_uuidgrub_device_closegrub_fs_probegrub_errorgrub_freegrub_device_iterategrub_env&3>PX_gnt
                                                                 
                                                                        4.DP
     7	
     8	
     9	INdinsx}.symtab.strtab.shstrtab.rel.text.rodata.str1.1.data.module_license.bss.modname4	@%24:O			`Zt
    10	X

/etc/grub.d/backup/boot_grub/i386-pc/xnu_uuid_test.mod

UWVS}ܾuShh	h!j'DMܺPth5h9h!j,@uQQhGh!j3h
                                                                               h#j+XRRh}hj7h
                    h#P e[^_]U]U]@xnu_uuid_testxnu_uuidcan't find command `%s'0tests/xnu_uuid_test.c%d: %ststvartstvar isn't set944F9DED-DBED-391C-9402-77C8CEE04173UUIDs don't matchgrub_strcmp (val, "944F9DED-DBED-391C-9402-77C8CEE04173") == 0fedcba98xnu_uuid_testLICENSE=GPLv3+functional_testxnu_uuid_test	
     2	);FRezgrub_mod_initgrub_mod_finigrub_errmsggrub_command_listgrub_errnogrub_strcmpgrub_test_registergrub_test_unregistergrub_named_list_findgrub_env_getgrub_test_assert_helper
     3	
           -27O
Z_hmx}.symtab.strtab.shstrtab.rel.text.rel.rodata.rodata.str1.1.data.module_license.bss.moddeps.modname4	@H
            )$%	@0
                           12>@#F$3[3dCT@

                                                                     	@m

/etc/grub.d/backup/boot_grub/i386-pc/gcry_md4.mod

     1	ELF`
     2	4(
U#Eg@ܺ@
                    vT2@@T]U]UWVS\E8@EEp
                                                                  @E1#E1}ǹNjE1!1uƹƋE1!3E]ù
                                          É1!1UUк1!1}Ϲlj1!1uιƉ1!1]˹
                          É1!1Eȉ1!1}Ϲlj1!1uιƉ1!1]˹
     É1!1Eȉ1!1}Ϲlj1!1uιƉ1!1]˹
                                                                É1!1Eȉ	!!	ʋM9yZ׹lj	!!	ʋM1yZֹƉ	!!	ʋMȍy‰	!щ!	ȋM9yZǹljZʹ     !!	ȋM1yZƹƉ	!!	ȋM̍yZÉ	!ى!	ʋM9yZ׹ljZ˹     !!	ʋM1yZʹ‰	!щ!	΋MЍyÉ	!ى!	ȋM9yZȹZù    !lj!	}čyZʹ‰	!׉!	}ԍ7ylj11MnùÉ11؋Mȍn¹	‰11ЋM1nƹ
                                                          Ɖ11M؍9nȹ11}n˹É11ً}Ѝnʹ	‰11ы}7nι
                                                          Ɖ11}nȹ11}n˹É11ً}̍nʹ	‰11ы}7nι
                                                          Ɖ11}܍nȹ11}n˹É11ً}ԍnʹ	‰11ы}č7nι
                                                         Ɖ11}䍄nȹ}GW
       \[^_]UWVSÉ׉΋@T@u"ShCTC6t,tCT?PSTGWTN11҉t[h)?vMnCTCM@ى?19t{T?WSTT;A[^_]UWVS
                                                11CST1΍<
PSTD11҉C81CLCMCNCOCPCQCRCSS\hCCCCC
                               C 
                                    [^_]U]U]MD41.2.840.113549.2.4806
     3	.X@0 0
LICENSE=GPLv3+cryptogcry_md4	*0@L]pgrub_mod_initgrub_mod_finigrub_memmove_gcry_digest_spec_md4grub_memset_gcry_burn_stackgrub_md_unregistergrub_md_register\
  4	]
  

   
           0.symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4	@p	H
     5	%2S8J 4	@	@
     6	>S\	

     7			e

/etc/grub.d/backup/boot_grub/i386-pc/gfxterm_menu.mod

USRø``Y[]UWVS\
                                                eQ1EEUEHt.hPhahJhh8hLj }Et
                                 1ɺ}tƉR+uWVPEp0hEL ;E
                                                               )Qhh/hJjwe[^_]U ]U帯]PeMxgfxterm_menumenuentry "test" {
     2		true
     3	}
     4	menuentry "s̛ ơ t o̒ s̒ u o̕̚ 8.04 m̂ñåh̊z̆x̣ a̡ b̢g̢ u᷎ô᷎ ô᷎ O a̖̣ ȃ̐" --class ubuntu --class linux --class os {
     5		true
     6	}
     7	menuentry " הַרמלל(טוֹבָ) לֶךְ" --class opensuse --class linux --class os {
     8		true
     9	}
    10	menuentry "الرملل جِداً لِكَ" --class gentoo --class linux --class os {
    11		true
    12	}
    13	menuentry "ὑπόγυͅον" --class kubuntu --class linux --class os {
    14		true
    15	}
    16	menuentry "سَّ نِّ نَّ نٌّ نّْ" --class linuxmint --class linux --class os {
    17		true
    18	}
    19	menuentry "从硬盘的第一主分区启动" --class "windows xp" --class windows --class os {
    20		true
    21	}
    22	timeout=3
    23	pnggettextgfxtermgfxmenuUnknown Regular 16unicode font not found: %s0tests/gfxterm_menu.ccan't start capture: %d: %s(proc)/test.cfg%s %dx%dx%s done %lld ms
    24	unicodegfxterm_menuthemestarfield/theme.txtgfxterm_arlangen@arabicgfxterm_cyren@cyrillicgfxterm_heben@hebrewgfxterm_green@greekgfxterm_rurugfxterm_frfrgfxterm_quoten@quotgfxterm_piglatinen@piglatingfxterm_chde_CHgfxterm_redmenu_color_normalred/bluegfxterm_highmenu_color_highlightblue/redtest.cfg*3>ALO\duLICENSE=GPLv3+video_fbfunctional_testprocfsnormalfontgfxterm_menu	
    25	)?KqAZp|1BZn}grub_mod_initgrub_mod_finigrub_strlengrub_test_use_gfxtermgrub_errmsggrub_terminal_input_fake_sequence_endgrub_procfs_entriestest_cfggrub_env_context_closegrub_dl_loadgrub_video_checksum_get_modenamegrub_strdupgrub_font_loadgrub_video_checksum_endgrub_font_getgrub_errnogrub_terminal_input_fake_sequencegrub_video_capture_startgrub_env_context_opengrub_printfgrub_video_capture_endgrub_test_video_modesgrub_normal_executegrub_strcmptestsgrub_get_time_msgrub_test_registergrub_env_unsetgrub_test_use_gfxterm_endgrub_test_unregistergrub_list_removegrub_video_fbstd_colorsgrub_video_checksumgrub_list_pushgrub_env_setgrub_est_assert_helpe
,C!)\anu *"(
                                  &!0!5+AFKP%UZ_e!!'
           # &
                             $(,048<@DHLPTX\`dhlptx|.symtab.strtab.shstrtab.rel.text.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname$	@
  %` -2b@` <	@8
                                    F
                                 [,dG

     	$
          m

/etc/grub.d/backup/boot_grub/i386-pc/pbkdf2_test.mod

UWVS,1ۍuȋTD@
                       WVPLHRRPhhjZhhP0XQQh+h;j\hhP \e[^_]Ur]Ur]pbkdf2_testKyeHI&!e)passwordsalt
                                         $!	+gcry error %derr == 0tests/pbkdf2_test.cPBKDF2 mismatchgrub_memcmp (DK, vectors[i].DK, vectors[i].dkLen) == 0pbkdf2_testpasswordsalt
                                `q$`/7lM-o*AމWpasswordPASSWORDpasswordsaltSALTsaltSALTsaltSALTsaltSALTsalt=.O6bJ)Lp8VjUH74%LICENSE=GPLv3+pbkdf2gcry_sha1functional_testpbkdf2_test
     2	0GZo{grub_mod_initgrub_mod_finigrub_crypto_pbkdf2_gcry_digest_spec_sha1grub_test_registergrub_test_unregistergrub_memcmpgrub_test_assert_helper'-38
                  =
@HX\dtx.symtab.strtab.shstrtab.rel.text.rel.rodata.rodata.str1.1.data.module_license.bss.moddeps.modname4	@
   )  %	@x
                   12@
                                F
                                     [!d<
                                                     H

                                                            	X,m

/etc/grub.d/backup/boot_grub/i386-pc/test_blockarg.mod

     1	ELF\4(

                     USSuRRhjPPth1]U
                                                                               jh%hG@XU]no block parameter%s
     2	test_blockargPrint and execute block argument.BLOCKLICENSE=GPLv3+extcmdnormaltest_blockargB.p1HT_grub_mod_initgrub_mod_finigrub_scr',xecutegrub_unregister_extcmdgrub_printfgrub_errorgrub_register_extcmd
     4
     3	KPZ_ditz
                              .symtab.strtab.shstrtab.rel.text.rodata.str1.1.data.module_license.bss.moddeps.modname4~	@h	%2M4:OX,
     4	
     5		ta

/etc/grub.d/backup/boot_grub/i386-pc/xnu_uuid.mod

     1	ELF|4(

                     UWVSLUQQhjS1}tu
                                                                         M1ҋUE$áU RPRRPP
   RP
      RP
     2	RP	R?ʀRPRP0RPRPRPRPRPRPhj%URUPUuxw Au}uPPRhVF1e[^_]Ujh{ZrXZU]UUID required-l%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x%s
     3	[-l] GRUBUUID [VARNAME]xnu_uuidTransform 64-bit UUID to format suitable for XNU. If -l is given keep it lowercase as done by blkid.9֗0eCLICENSE=GPLv3+gcry_md5xnu_uuid*+AOZugrub_mod_initgrub_mod_finigrub_strtoull_gcry_digest_spec_md5grub_snprintfgrub_errnogrub_register_command_priogrub_printfgrub_unregister_commandgrub_zallocgrub_strcmpgrub_errorgrub_freegrub_env_set18U
     4	n
        sz
  
       
         
           
             )
                    Z_ls.symtab.strtab.shstrtab.rel.text.rodata.str1.1.data.module_license.bss.moddeps.modname4@8	%24:O	X	`
     5	
     6		da

/etc/grub.d/backup/boot_grub/i386-pc/gcry_arcfour.mod

     1	ELFd4(
UWVS,UMԋXu}}Ћ}9}tIBҋu>M߉}ۋ}ߊM߈EEԊMɋu
                                                                               u2NuN믉X@,[^_]UWVS
vtC1D@=u115Fu11ҍ|u~
                                                         LLLBuڹ11,
                  [^_]U]U]ARCFOURLICENSE=GPLv3+cryptogcry_arcfour]k	07CZkgrub_mod_initgrub_mod_fini_gcry_cipher_spec_arcfourgrub_memsetgrub_cipher_unregister_gcry_burn_stackgrub_cipher_regi@
a            L
     2	go
     3	u
           $(.symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4y	@X
     4	%280 4	@ 
	>S\

     6		e

/etc/grub.d/backup/boot_grub/i386-pc/part_sun.mod

     1	ELF 4(

                     UWVSLljDžShjj11f}ھtRRh'1҉f1Ӄu9s1f9tPPhjw<C6EfUC6DžtօtCVe[^_]U]U]not a sun partition tableinvalid checksumsun+LICENSE=GPLv3+part_sunCV5DOZkgrub_mod_initgrub_mod_finigrub_partition_map_listgrub_disk_readgrub_errnogrub_errorgrub_list_removegrub_list_push 9
     2	Py
                7
                 GL	RZ`
  .symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.modname4d	@\X	%2/84	@	>S	
     3			z\

/etc/grub.d/backup/boot_grub/i386-pc/vga_text.mod

     1	ELF4(

kP]U]U]UL 
                                                         f
                                                                   uff]tUSӺ
     2	
     3	ȃȃ []U1]UP]Utr
L]UA1]fffw  BfUVSP1ҍHf uL
                                                         f
                                                                 BPuP=uL 
      f
                u[^]US
kPfDŽgHf
           Bf7kPLf	
                                         fNv@f[]=t
                                                                4
                                                                      t U҅
    úUvga_tex;EQLICENSE=GPLv3+vga_textNm7Ri{grub_mod_initgrub_mod_finigrub_term_highlight_colorgrub_term_outputs_disabledgrub_term_normal_colorgrub_term_outputsgrub_list_removegrub_list_push?JWw	
                                      .k!
        ).
     5	6EPU
                       _d
                       ity
   $(,0.symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.modname4	@ 	%2	8M 4	@P	>0@S@	L
     6			<H\

/etc/grub.d/backup/boot_grub/i386-pc/part_plan.mod

     1	ELF<4(

                    UWVSlEUMEEE1ۉ	@EEԉ%E؍EPjؙRS1ɋEEuaEu_މEPjWV1ɋEu)CUЃ0     Έƒ߃Aw9EEO
     2	}<PPhjE#< uEEމEPjWV1ɋEuCEƒ0E	w'kM
     3	
     4	eEUMEEUEU릀 aEEމEPjWV1ɋECEƒ0E	kM
     5	
     6	eȉEUMEEUEȉU랋EU)EŰMUE}ׅt
     7	E
                  Ee[^_]U]U]part not a plan partition tableplan!LICENSE=GPLv3+part_plan&95DOZkzgrub_mod_initgrub_mod_finigrub_partition_map_listgrub_disk_readgrub_errnogrub_errorgrub_list_removegrub_list_pushgrub_memcmpU
     8	fn
     9	
             $
    10	
    11	
    12	
        */	5=C
  .symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.modname4G	@Xx	%2{&84	@	>S
    13	
    14			\

/etc/grub.d/backup/boot_grub/i386-pc/functional_test.mod

     1	ELF4(UVS1>J[dr~t!Ƌt
     2	
          h
              h1e[^]USPt+tхt
     3	
          h
              h1]U
                                    jhj1ɺjh.j1ɺXU]UWVSƉ׉MÅtNuHtuWC
ECC؃[^_]UWVS                                  u1
                         ÉЉƋ;t'PVWhje[^_]e[^_]UMU
                     UVSu-uMUE
                                               PVuSڸe[^]USRu<MUE
                   PuhoS~CM U#ڸ]UWVS
                                                                             ljָt"És
                    ڸ
                        [^_]
                                   [^_]USQ¡ttZ[]X[]UWVS
              P
                  QQht?Ku{S
                                                     uWuH
                                                                    QWRPh 뽃=uRRh1UPPht4CtC
                                                                   tt¸e[^_]Uht5xhj(h V=u R5555hP5555hj(h   UWVS
d1ơ;|?VSP5d5`5hhhch0hj0S<9tC
                                                                              WVSP5d5`5hhhlh0hj@	Ce[^_]UWVS
                                                                Ǹ`1C9`9dC
                                   9hC9xC9lu~C9pusC9uhC 9u]C$9uRC(9uGC,9u<C09u1C49u&C89ukD@<FD
                                                                     [^_]URQP5d5`5hDhohhh19P0ULLt{u
       =Lu	L͡LLu!Lu1Ph{hhh<{tΡL뷉R
                                                                     t4hh{ht;} .TLPH1Ã=HtGUHLRPLTTPU
               B]UWVS
                                 ƉӃ=u
     4	t<t- 3
                                                           [^_]Ã=tCUát
               U11U1]Uu]UWVSƉӉMT1Ҹ@@@`DT5ti@ƅuRƅuBًU1ƅu0,t,@t@3[^_]U塐]USP,t,@tС,Xt
                         j1ɋӃ
                                   ]grub_test_use_gfxtermgrub_video_checksum_endchecksum )- X`(-'-&- X &-`%-
     5	$-@$ X## # X"`"
     6	"! X@!   X  
     7	` X@ X 
     8	` X@ X
     9	  X` X@
    10	  X` X@
    11	 X ` X
    12	@ X  X`
` @ X  X 
) 
          ) X@
                    )
                            ) 
                                     ) X  
                                              ) 
    15	)
    16	` 
    17	:
    18	: X	:@	:: X::
    19	E`E XEE@E XEE
    20	 QQ X`QQQ X@QQ
    21	^X^ XD^0^^ X^^
    22	^^ X^^
    23	^ X
    24	|^
    25	h^
                    T^ X
                                 @^
                                            ,^^ X^^
    26	^ X
    27	^
    28	^
                    ^ X
                                ^
                                          x^d^ XP^<^(^ X^legacy_password_testexfctestvideotest_checksumgfxterm_menusetjmp_testcmdline_cat_testdiv_testxnu_uuid_testpbkdf2_testsignature_testsleep_testbswap_testctz_testcmp_testmul_testshift_testALL TESTS PASSED
    29	TEST FAILURE
    30	functional_testRun all loaded functional tests.all_functional_testRun all functional tests.<unknown_file><unknown_function>%s%sassert failed: %s <no message>%s:
    31	 %s:%s:%u: %s
    32	%s: PASS
    33	%s: FAIL
    34	i%dbgra%d%d%d%drgba%d%d%d%dUnexpected checksum %s_%dx%dx%s:%d: 0x%x0tests/video_checksum.cChecksum %s_%dx%dx%s:%d failed: 0x%x vs 0x%xNot enough checksums %s_%dx%dx%s: %d vs %dctr == nchkgfxtermterminal `%s' isn't foundterminal `%s' failed: %scmdline_catgfxterm_menugfxmenugfxterm_argfxterm_cyrgfxterm_hebgfxterm_gregfxterm_rugfxterm_frgfxterm_quotgfxterm_piglatingfxterm_chgfxterm_redgfxterm_highvideotestfakeRender capture4Efy	^15[}Sv×:mU_;
    35	a$VTxPɀvmܠ9'lQf}ׯQ	eQg6
    36	2rk^]A-
    37	XȌ<UpUpUpUpUpWn~Wn~Wn~Wn~Wn~3}3}3}3}3}MLMLMLMLML5+5+5+5+5+.S.S.S.S.SA7pˋeǒwcn5h˭_3\{QBkrLGd#####ffffi%F]F]F]F]F]mq!mq!mq!mq!mq!e{e{e{e{e{[byg`҉,.f*$NḾS|lMh8u#DKx3Pc>{,LZ!70:^M?X?X?X?X?X3p3p3p3p3phhhhh4=OAu_OAu_'4=4="i
    38	"i
    39	"i
    40	l[Tl[Tl[T4=''4=+(j&j+(+(ldldld͈숝숝VVV+(ݦ+(=_vD_UvDAK=_=_N\N\N\8DS8DS8DS{E{E{E=_AKAK=_pG$y痧pG$Tj/3$/3$/3$;=;=;=TjTjiy5&yЅqiiIII^^^gggiЅqЅqiEDleFDleXEE|4|4|4:
                                                                              5:
 5:
    5EXXEoY[{S+oYoY2:2:2:_WD_WD_WD!J&!J&!J&oYS+S+oY4=A	?YA	Qe4=4=JZJZJZ%%%ddd4=QeQe4=+(xx{b+(+(yyy)))3rT3rT3rT+({b{b+(=_aGzaGU@[=_=_XXXxxxlll=_U@[U@[=_
         FS
               FS7cLaALaALaAЯ=ɯ=ɯ=7c7cic,2cZsiippp2x2x2x:p2g:p2g:p2giZsZsiE%NxwEE&5&5&5+.+.+.ENxwNxwEoYRYoYoY|vS|vS|vS---WOWOWOoYoY4=!!:'~4=4=ӁYӁYӁY{(S{(S{(S---4=:'~:'~4=+(~xa+/o~xyG}+(+(0V
                                                                              0V
 0V
    ԯ*ԯ*ԯ*XdWXdWXdW+(yG}yG}+(=_
                                                <h܏
                                                     <3=}=_=_?seDK>Ѐ>Ѐ>Ѐ۸
                        ۸
                          ۸
                            
                             
                              
                               DKˈDKiɥ~js~!iiiKKK܇,{",{",{"1ˏ1ˏ1i!i!iiE<".,<"C!EE}q}q}q\\\EC!C!EoY'1'sdoYoY[[[ll4=+(%Qᰥ%Q"+(+(84;84;84;|F|F|F+(""+(=_S*S6$%=_=_=M^=M^=M^%]%]%]1.1.1.=_6$%6$%=_O=?OIKttts5s5s5IKIKiɝk>:Rk|iiɱ}>AT}>AT}>ATu
                                                u
                                                   u
                                                      i||iE֖xdEEoYFPc)%oYoYu~u~u~oY)%)%oY4=A}J(A}Jµ4=4="i
    41	"i
    42	"i
    43	l[Tl[Tl[T4=µµ4=+(ݫ$u\$|!+(+(ldldld͈숝숝VVV+(ݬ|!|!+(=_k
                               yk
                                      z=_=_N\N\N\8DS8DS8DS{E{E{E=_zz=_jQټjd/3$/3$/3$;=;=;=ddiAw_Aw,`iiIII^^^ggEE|4|4|4:
                                        5:
                                           5:
                                              5EEoY3f_3f_toYoY2:2:2:_WD_WD_WD!J&!J&!J&oYttoY4='J*i'J
    44	S4=4=GGGvMvMvMsss4=
    45	S
    46	S4=+(ݾsfxYoSsfxcc+(+(;e8;e8;e8YYYz	dz	dz	d+(ݹcccc+(=_-%.;=_=_;];];]+++XXX=_;;=_.L	.L000pppMv
    47	Mv
    48	Mv
    49	iɂ0^E.0^]Iiiu%2u%2u%2չ+++[±[yКUEELkLkLkA:A:A:͏EUUEoYFmtTFm<oYoY>}>}>}SSS9Fa9Fa9FaoY<<oY4=.+L.+15w4=4=DDDX[;X[;X[;^^^4=15w15w4=+(~)y~e{+~+(e{e{+(=_/)ls</)lc=_=_k^k^k^N[N[N[=M=M=M=_cc=_QdT(C{C{C{p84p84p84T(T(iOlC
                       N,OlCT_iiɮPUPUPUbWbWbWj.Bj.Bj.BiT_T_iEJI$	
8s8s8soY11oY4={+{4`$o4=4=Q-Q-Q-RRR4=4`$o4`$o4=+(ݟOdXfOT+(+(
                                                         
                                                            
                                                               9{9{9{+(ݘTT+(=_ؐIB:+ؐI%6?=_=_<<<d#d#d#=_%6?%6?=_̑:MbZZZZZZ777///:Mb:Mbi|J|iiݳ^ݳ^ݳ^8k8k8k0!I0!I0!IiɃiEq|\dLnq|:yEECCCqڶqڶqڶ	q2	q2	q2E:y:yEoY~bgl'~bg$oYoYCCC|u=|u=|u=Gi_Gi_Gi_oY$$oY4=YnnHYnB4=4=)))zzz4=BB4=+(Pp?GPpW$k+(+(iHFiHFiHFjtgjtgjtg+(W$kW$k+(=_̨!w̨!
                 W=_=_3S{*3S{*3S{*EKkEKkEKkttt=_
                                                                   W
                                                                     W=_7KcI7K9~ؠؠؓz]Iz]Iz]ICGPCGPCGP9~9~il_tœuii-~-~-~)
                                 )
                                    )
                                       ccciɓu옓uiEC+L}C+<.EE@ݱ@ݱ@ݱ'D'D'D_{|<_{|<_{|<E<.<.EoY^݅oYoYzzzhhhYԞfYԞfYԞfoYoY4=@fԔi4=4=@2@2@2蛱蛱蛱nnn4=ii4=+(QhrkQhs+(+(ݬe*e*e*HHHWWW+(ss+(=_YhYh5=_=_+ׂ+ׂ+
                                                                             ;
                                                                               ;
 ;k3Hk3Hk3H=_55=_evFZhevFJ 
    51	
    52	
    53	9M9M9MJ J iɝN= N=#*iiǞǞǞ
   _MF
      _MF
         _MFi#*#*iEE溠E%kEEA+(A+(A+(&&+&&+&&+^^^E%k%kEoYe7
    54	3re7
    55	"
         IoYoYSNSNSN000:%R:%R:%RoY"
                                                         I"
                                                            IoY4=dLYx(dLYW4=4=1Q	1Q	1Q	|[v|[v|[v
    56	
    57	
    58	4=WW4=+(>>d%+(+(ݽpppYgQYgQYgQլB,լB,լB,+(d%d%+(=_E	E2C=_=_IWN5IWN5IWN5?O^?O^?O^p-p-p-=_2C2C=_5Ft5FUA:A:A:r	vr	vr	v4̲4̲4̲UUiɅdqc	>iiɳJ"J"J"w4w4w4i	>	>iEww)EEWWWZ8WZ8WZ8WzzzE))EoY&(}&koYoYRjRjRj444oYkkoYTWmLZWm8[ikm6ju6ju6juhhhy=by=by=bT8[i8[i3J")xAU]777^^^JJJ3Jxx{ZQ>VK}Q>td~\d~\d~\XXX蔲^蔲^蔲^B7;s;siE؅pE?T탭탭
                                                                               ~
  ~
     ~ok
    59	ok
    60	ok
    61	i??EH"ŗ
    62	rV͌թMfMfMfG
                        9G
                           9G
                              9
    63	
    64	
    65	E
    66	rV
    67	rVoY
             !'d
.!!!%N%N%Ns7gs7gs7goYJEJE4=Lj$L̦
    68	4=4="i
    69	"i
    70	"i
    71	l[Tl[Tl[T4=̦
    72	̦
    73	4=+('p
    74	l$'pk+(+(ldldld͈숝숝VVV+(kk+(=_DHN_^DHNSq8=_=_N\N\N\8DS8DS8DS{E{E{E=_Sq8Sq8=_ߩplFXq/3$/3$/3$;=;=;=FXqFXqiDeDe8iiIII^^^gggi88iE(WȰ(:EE|4|4|4:
                                      5:
                                         5:
                                            5E::EoYqfHCoYoY2:2:2:_WD_WD_WD!J&!J&!J&oYHCHCoY4=
    75	(3
    76	(3'B'BֳֳQ QQ Q``]]pUpU؍ۍCHCH0K0KbbU3U3ИXИXǘǘ)B)B@+@+|3|3
                                                                
/,,,,+(vvm                                            
                       m
YUٓѠٓѠrrͮ(ͮ(0Y}0Y}V
                          -
                             -@B@B99F%F%o,o,==(׍(׍nn,,rXZrXZb+44=_@?@?QsQsc	fc	fb3ob3{6_6_==UUȮuȮuˉˉW2{W2{F|F|zjrVL?^^,,跒ׅׅoծoտ2v2vHi'Hi'aJaJfOfO8}Ep8}Ep4Q4CVzVziLOLOg]g]MM11ČyČyőőʊMʊMBBeeˋbˋbK
                       K
                         	f	fUU})z7})z7.. N NˎˎZZ*=[yFsyFsEwwZ1Z1ggyyxx..WWdP<dP<VVAzAz豐V豐V1ha1ha&&&^&^&<&<--/~n/~nL	L	sH`S`SoYN_N_ͫQQɶ"+"+vvkkOO>a׏>aזAA5Y5Y3r(3r(hx{hx{ꮎUꮎU	ǿ	ǿ2i2i_Y_Y)j)jllXX3`e];]; X  
    7 X 
           
    78	 X 
    79	 X@
    80	
    81	
                 X@
                           
                                  X`      
                                                         
    82	 X@
    83	
    84	
                  X@
                            
                                   X`     
                                                         
    8 X 
          hm
    86		
    87	
    88	LICENSE=GPLv3+LICENSE=GPLv3+LICENSE=GPLv3+videoextcmdvideo_fbbtrfsfunctional_test	[G
    89	
         4J]x	M(>y_o	?2@Zq|$	z
    90		#/GV
    91	]m)4		E6TmQ^6*>>Yn}@D"
    92	
    93	Lgrub_mod_initgrub_mod_finigrub_video_fb_map_rgbagrub_test_use_gfxtermgrub_video_fb_finigrub_video_get_blit_formatgrub_test_rungrub_errmsggrub_terminal_input_fake_sequence_endgrub_video_fb_get_regiongrub_video_fb_create_render_target_from_pointergrub_video_fb_unmap_colorgrub_dl_loadgrub_video_fb_map_rgbgrub_video_checksum_get_modenamegrub_xvasprintfgrub_video_fb_scrollgrub_xasprintfgrub_video_fb_fill_rectgrub_memmovegrub_test_listgrub_video_fb_blit_bitmapgrub_strdupgrub_test_nonzerogrub_video_fb_get_viewportgrub_video_checksum_endgrub_snprintfgrub_video_adapter_activegrub_unregister_extcmdgrub_errnogrub_memsetgrub_term_outputs_disabledgrub_terminal_input_fake_sequencegrub_video_capture_startgrub_term_inputsgrub_video_fb_get_palettegrub_video_fb_set_palettegrub_printfgrub_video_fb_map_colorgrub_getcrc32cgrub_video_capture_endgrub_video_fb_initgrub_video_fb_get_area_statusgrub_test_video_modesgrub_term_outputsgrub_video_capture_refresh_cbgrub_strcmpgrub_mallocgrub_test_registergrub_video_fb_set_active_render_targetgrub_video_fb_set_area_statusgrub_video_fb_set_regiongrub_video_fb_delete_render_targetgrub_test_use_gfxterm_endgrub_test_unregistergrub_list_removegrub_freegrub_named_list_findgrub_video_fb_get_active_render_targetgrub_video_get_infogrub_video_checksumgrub_video_fb_set_viewportgrub_register_extcmdgrub_list_pushchecksum_tablegrub_video_fb_get_infogrub_video_capture_get_framebuffergrub_video_fb_blit_render_targetgrub_test_assert_helpergrub_video_fb_create_render_target
  &$).38=BGLQV[`ejoty~&*&>HM.dmrwG|G%8H,89FRHfkBv@AA..
                                                                         ."'.0;GASA_AfA##
            K!0(08?HNTY^hmtMMD
            I70?N]lwII
                                                                               6#)/8>DINX]jMrwA}657(
                                                                        7M555
                                    			3	;	+@	E	N	A\	8a	k	+o	x	~							+		A				6
    94	
    95	:4
    96	9
    97	'>
    98	2C
    99	O
   100	T
   101	Y
   102	^
   103	e
   104	j
   105	8o
   106	u
   107	&
   108	
   109	
   110	
   111	
   112	:
   113	-
   114	$
   115	
   116	
   117	D
   118	
   119	$
   120	
   121	
         
          =
   122	
        
         A
           
 
   $0
      D
        I
          @|
                              HPX`$,hp4<xDLT\ (dl	@	H					

   123	
   124	P
   125	X
   126	
   127	
   128	
   129	
   130	
           $
              `
                 h
                    
                       
                          
                             
                                ,
                                   4
                                      p
                                         x
                                            
                                               
                                                  
LT \d(0lt8@|
                            HPX`$,hp4<xDLT\ (dl08t|@H
                                                    PX$`h,4px<DLT   \ d     (!0!l!t!!!!!8"@"|"(343H3X3`3Jh3-l3,p3Ft3!x3<|33;333/33
                   3333L333N3=33C.symtab.strtab.shstrtab.rel.text.rel.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4W
     	@pX	
                )
                     " %	@8z
                                   12$.|D13 @	@H
                                                            Jhe/e _ehee
	j"q

/etc/grub.d/backup/boot_grub/i386-pc/signature_test.mod

U]U]USQÅt
     2	Z[]USEUMEu(Phh0hhh2jPMP҃-h5hIhehhh29P ]USQooÅto Z[]USQ``Åt`Z[]USQLLÅtL`Z[]U@P 0
                            jKj5jj	j
                P@U应]U]do_verifyhi
     3	hj
     4	verify_detachedcan't find command `%s'0tests/signature_test.cverification failed: %d: %serr == (is_valid ? 0 : GRUB_ERR_BAD_SIGNATURE)(proc)/hi_dsa.pub(proc)/hi_dsa.sig(proc)/hi(proc)/hj(proc)/hi_rsa.pub(proc)/hi_rsa.sigsignature_testhjhihi_rsa.pubhi_rsa.sighi_dsa.pubhi_dsa.sig(d&4R+
                                                                         k#M7dGpw_xFb^H×NCKE=4QYB|mN=
                                                                     pU<|
                                                                               Z*ޭ}`\/_q30x:k*؁:s4.LR(^ſa"<Wj)>ElSVO
          	*G঎tn:pr
                                           Gk-ޡA3l&ǏO8B5ޔ<ag&-5gϛⱓ	@ޫSϧEk,@$bu,БZhEʏ^aq]L[_=0orW*(U
     5	*Ngӯ?όdY{
                       F%-'<VnI
                                            #c@\
¬7NJoa̞j>Uf&߀o%y^EFtިȏo=!4lDsFˠ\eMT~{QFP"$.^3B~t I
     6	ŐE2_CwzeYqh6GOHA!5,7#{zD_SV͌Vm&m_`,qwg	|#UZTA-ƇgC=;FJ3FbfZJ@å=m)},mĪ
     7	Ijs-
                   ORFTלw2tJ_c>ye
                                                 !}YඣRF1l&I+L`
                                                                              O×2KzQ:{!Tx+ƒr3xC<k?%gn^z<.n-cfr}8I}:m
&Iޕυ?vu G/޲_PE+o:FS;
                                                     lнRJI/az&ot9QmJO.
            i
               ^"r4|q_6+u8+xW&
                                                                     ο?)-Ԡ&kzH1@	
                 <e9%.BCP6LR7JZVPT&<:"Ok[d2"^[K&.Fq`SыGNU GRUB DSA signing test keyz"R+
                                                       	
     8	
        
     9		֑C7@GKv0=~*R`ul-A)O7&(U0pnJ=^R,
`/<jr)a&.Nb+E*n_BmONay'!ǕƛaMo8/S\=4
                                  Dv
                                      0.-Z?*wƻKx78R^wLtNbzek	)v},3~L(A,s/a^\DT@|
                                                    rQ!,*f<1l9{E74M̆+igUUVhO"jhr][	
                        'SM^$	+=(y]Jo߯o "N} b*|?ȎTs쌵KLP8'S9q<^Y"$b](iuŒ%&v-iDI>-R8.FM@9We&']m^ȴ2s1:%2Yh]0H
/0S	!^
RG&Ja*`#!/!4d(a1>_.g"GNU GRUB RSA signature testing key8"R,
               	
    12	
        
   13		!wj
    14	E7Qwgqtǫ4Em^tB7"63%}N"f`Jrz3b^{}7bLLŸ5(v
           >}ZDb"A?I-
    15	KemQ=
                     L\J!o7^R
                                            t91RLr^i 
                                                               LLO3udϓB$!;"ב76R"Iz 	1kᇋ 'Y7@wʨ^F E`@(t4L\`j\&o
             n+|,J-ͤUTS#g(v/*@G0М"hrrI^MA|icؐJB0{X02t=ܶ?>Gu6(O֡=taww%qU1@PI?@OG
                                                                           #QGS
                                                                               r9gϊ ?iMAs˯)"gSe#i1.R-
g3+~Q-!wj ռؐqoj*pi+/rr(2*R5J;o
                                                                  $is~^(tIcph 2ȺEwk`kp	ZU@R:{?!Xdl3ۓZV:"J/w+
    17	WCK>}Y6
kܩ$,FO+io(sQϧLICENSE=GPLv3+functional_testprocfssignature_test	
    19	)=JMYkvygrub_mod_initgrub_mod_finigrub_errmsggrub_procfs_entriesgrub_memmovehjgrub_strdupgrub_command_listgrub_errnohigrub_mallocgrub_test_registergrub_test_unregistergrub_list_removegrub_named_list_findgrub_list_pushgrub_test_assert_helper
puz
                  %*
       
                 
                            
                                       
                                                  
                                                             &+0<AFRW\insx}
                 (,8<HLX\.symtab.strtab.shstrtab.rel.text.rodata.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4	@x
    %
    21	-21@@
                         <	@L`
                                    F[d&8

                                                            	m

/etc/grub.d/backup/boot_grub/i386-pc/all_video.mod

     1	ELF4LICENSE=GPLv3+vbevgavideo_bochsvideo_cirrusall_video.shstrtab.text.data.module_license.bss.moddeps.modname
                                             444C,C!5d
     2	n>

/etc/grub.d/backup/boot_grub/i386-pc/bitmap_scale.mod

     1	ELF
                  4(

                    UWVStu
                                    WWhx(u!H0Mup8uu
                                                                   X@]܀t
                                                                           VVh9Mr<9p<t0uQQhP2z9xt	SSh7q9u2z$9x$u*9]u%Z,9X,u}9}uz49x4u
:1zuPPhkj&e[^_]UWVStxt
                                       9w
                                            
     2	1;Ή׃tr
     3	u)
               )1PPhj&7e[^_]UWVS
                                                             9w
                                                                  
     4	1;Ή׃tr
     5	u)
               )1PPhj&7e[^_]Uu	PPhO@(u@0u
 @8u@@t	QQh,8txu	RRh	@
                                               1;J
                                                    tPPh,j&UWVS|ÉփrtFLEȋECEN{}ċ~}{}1uUE1uUEEljEsLEEEU9U}9}w	M)MEԉEEEEԉEE1;}s9M9MwM)MB]]1]9M~	
                                                  AUMM}E̋}}ԋ}}uqFLEECEEFECEFEԋ{E1uUEE1uUEEljECLEEEEExu9uu1Mu9uw	M)ME܋EEuȋEEEEEEEE܉Eĸ+EĉE9uM9Mw	U)UE؋EUUMI9s	EH9Er1E؉E1ɋxЉ|9~U|]č:EEEEԍ
                                                                          ]ĉ]
     6	]]+E]A맋UU؋UU:9~
                                                      
                                                        @Euu܋uuЋuuPPhYj&e[^_]UWVSƉUMTÅuXU~MPPhtj&Ã5
         w Ã
                      uM
؍e[^_]UWVSLEĉӉ΋t
#~RRhtj&ƒ
                                w ڋEƒ
                                                 EE]ЉuEEMG‰E}tCw
         }t}tw}9s1
                                              uf؉9s 1
                                                                              uUЍEƒ
              ~1
                      uUԍE9s݉1
                                                       uUEىƉ9s1
 u뙉1
                 uUEPPhj&ƒEGEwLEċ]X]XL]H_GUUWU]WL]ċ]Љ]ԉZEMBLM
                                                              EċN‹EEGwLEċ}8up}xLtUEċEUЍe[^_]null bitmap in scale functiondst format not supportedsrc format not supporteddst and src not compatiblebitmap has a zero dimensionInvalid v_align valueInvalid h_align valuenull src bitmap in grub_video_bitmap_create_scaledsrc format not supported for scalesource bitmap has a zero dimensionbitmap to scale has inconsistent Bpp and bppInvalid scale_method valuerequested to scale to a size w/ a zero dimensionInvalid selection_method valueLICENSE=GPLv3+bitmapbitmap_scaleY?YdRgrub_video_bitmap_creategrub_video_bitmap_scale_proportionalgrub_video_bitmap_destroygrub_errorgrub_video_bitmap_create_scaledL~
                                                             MT
                                                                    
                                                                           
   %,
             <C
                  
                       
     7	
               5Za
                      
     8	.symtab.strtab.shstrtab.rel.text.rodata.str1.1.data.module_license.bss.moddeps.modname4	@
                          	%24.
     9	:0
    10	?
    11	O?
    12	XF
T13	
    14	
    15 	$
                  
                       a

/etc/grub.d/backup/boot_grub/i386-pc/gcry_rmd160.mod

     1	ELF4(
U#Eg@ܺ@
                    vT2@@@X]U]UWVSE@EEEE@EEEE@
                 EE@Eu3u3uEEƹ
                                              uE
     2	EU11EE¹UE
     3	E13EMMȹE
     4	Ɖ11MMϹ
                       }}׹
     5	NjU11MMʹ
     6	]11uÍ4u]
     7	11}ƹ
     8	‹M11Eȹ	؋}
     9	lj}13}]߹
                        ׹
]]Ɖ11Uӹ    ]
    12	Ë}3}1uNjU
    13	‹u11EƹދE
    14	E13E]عй
    15	lj11Uӹ	]
    16	Ɖ11MMU
    17	1#U1‹Mč9yZ׹
    18	ËU1!1ڋM1yZֹƋU
    19	‰1!1щMM܍yZE؉E
ӹ20	lj1#E1MyZù
    21	ƋE1!1MЍyZ¹ EE
    22  1#U1‹M9yZ׹	
    23	ËU1!1ڋM䍴1yZֹƋU
    24	‰1!1щMMyZE؉E
    25	lj1#E1M؍yZùӹ
    26	ƋE1!1MyZ¹ EE
    27  1#U1‹M̍9yZ׹
    28	ËU1!1ڋM1yZֹ	ƋU
    29	‰1!1щMMyZE
                                 ؉E
 EE1#E1MyZùӹ
    32	1#U1‹Mȍ9yZʹ <}
    33  Ë}               
              }1ߋU2n׹
                             NjU
ދE	‹u	1֋MЍnƹ
    35		1MMn]ӹ
    36	lj	1MMnU‰U
    37	Ɖ
             U1M̍nйE
    38	ËE
              E1؋U䍼:nǹ	U
ދE	‹E	1ЋMȍ1nƹ
    40		1MMn]ӹ
    41	lj	1MMnU‰U
    42	Ɖ
             U1MčnE
    43	ËE
U      E1؋U:nǹ
    44	‹E	1ЋM1nƹދE
    45		1MM܍n]ӹ
    46	lj	1MMԍnU
                                   ‰U
    47	Ɖ
             U1Mnй
    48	ËU	1ڋM؍9n׹
    49	U‰U1!1U2ܼι
                                 ޹
    50	1!1Uܼ̍˹
                          ]
    51	lj1!1MUԋM
    52	U¹
    53	Ɖu1!1ًuЍܼȹ
    54	É1!1ыu>ܼϹ}
    55	‰1!1MuȋMܼu޹
    56	E1!1E؍ܼ˹	ӹ
    57	lj1!1EܼU
    58	Ɖ1!1ىME܋MܼE	
    59	É]1!1ы];ܼϹ
    60	‰1!1]č3ܼιu
    61	1!1M]M
                             ]ӹ
    62	lj}1!1}ܼ¹
    63	Ɖ1!1ً}ܼȹE
    64	É1!1щM}Mܼ}
    65	‰U1!1U2ܼι
                              ޹
    66		1UNS˹	]
    67	lj	1ىMUM
    68	NSU‰U
    69	Ɖ	3UMNSйE
    70	É
             E3EU̍:NSй
                            <U
    71	‰
             E1Mč1NSȹ4E
    72		1MM؍NS]ӹ
‰U	lj	1ىMMNSU
    74	Ɖ	3UMЍNSй
                               E
    75	É
             E3EU:NSй<U
    76	‰
             E1M1NSȹ
                             4E
ӹ77		1MMNS]
    78	lj	1ىMMȍNSU‰U
    79	Ɖ	3UMԍNSй
                               E
    80	É
             E3EU:NS}
    81	lj}               4tu
    82  lj}U1‹}䍌73tu܍NSʉ׹lj|
    83	xE
                     E3E]u3拢PE]
                                                 ]1Ë}u7拢Pӹ	]u	1ދ}Uč拢Pu
    84		1}M拢Pʹ
                                UU
    85	É	1׋ŰM
ǹ86	拢P׹
    87	Ɖ
             U1M拢Pй؋U
    88	‰	1MMԍ拢P]]
    89	lj	3]M1拢P˹Ӊ]
    90	
              u1ދ]܍拢Pֹ]
    91	É
             U1M9拢P׹NjU
    92	‰	1MM䍄拢PE؉E
    93	Ɖ	3EMȍ拢Pȹ
                              ЉE
    94	lj
             E3E]拢P¹]
    95	É
             E1ЋMЍ1拢PȹEE
    96	E	3Eu>拢Pǹ
                               ߹
    97	‰
             u1E؍拢Pƹu
    98	EE1!1ME$M\˹	ӹ
U	lj1!1Eԍ$M\ʹ
   100	Ɖ1!1ىMEM$M\E
   101	É]1!1ы]č;$M\Ϲ
   102	‰1!1]3$M\ι
                             u
   103	1!1M]܋M
                            $M\]ӹ
   104	lj}1!1}$M\ʹ	¹
   105	Ɖ1!1ً}Ѝ$M\ȹ
                         E
   106	É1!1щM}M$M\}
   107	‰U1!1U䍴2$M\ι޹
   108	1!1Uȍ$M\˹
                             ]
   109	lj1!1MU؋M
   110	$M\U¹
   111	Ɖu1!1ًu$M\ȹ
   112	É1!1ыu̍>$M\Ϲ}
޹13	‰1!1MuM$M\u
   114	E1!1E$M\˹
                                 ӹ
   115	lj	1E䍔>pmʹ	U
   116	Ɖ	1MEM>pmE
   117	É]	1ً];>pmϹ
   118	‰	1ы]3>pmι
                              u
   119		1M]ċM
                             >pm]ӹ
   120	lj}	1}>pmʹ¹
   121	Ɖ	1}>pmȹE
   122	É	1ىM}̋M>pm}
   123	‰U	1ыUԍ2>pmι
                                     ޹
]		1Uȍ>pm˹
   125	lj	1MU؋M
   126	>pmU¹
   127	Ɖu	1u>pmȹ
}	É	1ًuЍ>>pmϹ
޹29	‰	1щMuM>pmu
   130	E	1E>pm˹ӹ
   131	lj	1E܍>pmʹU
   132	Ɖ1!1MEȋMvmzEE
   133	É1!1ًE8vmzϹ
   134	‹M1!1ыE0vmz޹
   135	EE1!1Evmz˹
                                    ӹ
   136	lj1!1EvmzʹU
   137	Ɖ1!1MEԋMvmzEE
   138	É1!1ًE䍼8vmzϹ
   139	‹M1!1ыE0vmzι޹
   140	EE1!1Evmz˹ӹ
   141	lj1!1E؍vmzʹ	U
   142	Ɖ1!1MEMvmzE
                                   E
   143	É1!1ًE܍8vmzϹ	
   144	‹M1!1ыE̍0vmzι
                           ޹
   145	EE1!1Ečvmz˹ӹ
   146	lj1!1EЍvmzʹU
   147	Ɖ1!1MEMvmzE
   148	É11}
   149	‰11uι޹
   150	11]˹
                     ӹ
   151	lj11Uʹ	¹
   152	Ɖ11Eȹ
                    
   153	É11}Ϲ
   154	‰11uι޹
   155	11]˹ӹ
   156	lj11U¹
7	Ɖ11Eȹ
   158	É11}Ϲ
   159	‰11uι޹
   160	11]˹ӹ
¹61	lj11Uʹ
   162	Ɖ11Eȹ
                    Eع
   163	M11}Ϲ
                      ǹ
   164	xE]CEEuu{
                                            E|EECUtČ[^_]UWVSÉ׉΋@X@u"SkCXC6t,tCX?PSXGWTN11҉t_)?vMCXCM@ى?E19EtKX?QSXT
                @[^_]UWVS
                                    11CSX1΍<
                                                                        	ȉPSXD11҉C81CPCQCRCSCTCUCVCWSCCCC C
                               C$CC(
                                          [^_]U]U]RIPEMD1601.3.36.3.3.1.21.3.36.3.2.1<05\@
   165	0!0	+$LICENSE=GPLv3+cryptogcry_rmd160	5/<HYl}0grub_mod_initgrub_mod_fini_gcry_rmd160_initgrub_memmovegrub_memset_gcry_burn_stackgrub_md_unregistergrub_md_register_gcry_digest_spec_rmd160U
                                                                               

                   
   166	 04.symtab.strtab.shstrtab.rel.text.rodata.str1.1.rel.data.module_license.bss.moddeps.modname4	@H
   167	%2&8K 4	@`H
   168	>L[S[\b
                            p

   169		e

/etc/grub.d/backup/boot_grub/locale/en_AU.mo

     1	T
              !!''%Ml!!((J(sFinalize loading of EFI emulator.Load and initialize EFI emulator.Warning: invalid background color `%s'
     2	Warning: invalid foreground color `%s'
     3	install device isn't specifiedunrecognized numberProject-Id-Version: grub2
     4	Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>
     5	PO-Revision-Date: 2013-07-22 09:34+0000
     6	Last-Translator: Jackson Doak <noskcaj@ubuntu.com>
     7	Language-Team: English (Australia) <en_AU@li.org>
     8	MIME-Version: 1.0
     9	Content-Type: text/plain; charset=UTF-8
    10	Content-Transfer-Encoding: 8bit
    11	X-Launchpad-Export-Date: 2018-07-12 13:36+0000
    12	X-Generator: Launchpad (build 18719)
    13	Finalise loading of EFI emulator.Load and initialise EFI emulator.Warning: invalid background colour `%s'
    14	Warning: invalid foreground colour `%s'
    15	install device is not specifiedunrecognised number

/etc/grub.d/backup/boot_grub/locale/en_GB.mo

     1	%D5l@$Avf4ZR1*!%GOd!>)'	=	JS		 	#	
     2	
     3	&
     4	$
          v
            C
              c
                4
                  [
:Vp!*(4(]K!8$Z
    $                                                      %#"
             
     5	!  Failed to initialize video adapter%s is deprecated. VGA mode %d isn't recognized. Use set gfxpayload=WIDTHxHEIGHT[xDEPTH] before linux command instead.
     6	%s: unrecognized option '%c%s'
     7	%s: unrecognized option '--%s'
     8	(PROGRAM ERROR) Option should have been recognized!?Attempting to install GRUB to a partitionless disk or to a partition.  This is a BAD idea.COLORCan't read kernel %sDirect color, mask: %d/%d/%d/%d  pos: %d/%d/%d/%dFile system `%s' doesn't support embeddingFinalize loading of EFI emulator.Garbage in ARGP_HELP_FMT: %sList available video modes. If resolution is given show only modes matching it.Load a multiboot 2 kernel.Load a multiboot 2 module.Load a multiboot kernel.Load a multiboot module.Load and initialize EFI emulator.MENU_ENTRY is a number, a menu item title or a menu item identifier. Please note that menu items in
     9	submenus or sub-submenus require specifying the submenu components and then the
    10	menu item component. The titles should be separated using the greater-than
    11	character (>) with no extra spaces. Depending on your shell some characters including > may need escaping. More information about this is available
    12	in the GRUB Manual in the section about the 'default' command. Pool state: uninitializedSet background color for active terminal.The files are identical.
    13	Unrecognized compression `%s'Unrecognized option `%s'\nUnrecognized pool stateWarning: invalid background color `%s'
    14	Warning: invalid foreground color `%s'
    15	can't allocate cmdlinecan't allocate initrdcan't allocate kernelfwstart.img doesn't match the known good version. proceed at your own riskinstall device isn't specifiedinvalid color specification `%s'kernel doesn't support EFI handoverpress right altunrecognized numberProject-Id-Version: grub2
    16	Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>
    17	PO-Revision-Date: 2018-07-01 07:21+0000
    18	Last-Translator: Andi Chandler <Unknown>
    19	Language-Team: English (United Kingdom) <en_GB@li.org>
    20	MIME-Version: 1.0
    21	Content-Type: text/plain; charset=UTF-8
    22	Content-Transfer-Encoding: 8bit
    23	X-Launchpad-Export-Date: 2018-07-12 13:36+0000
    24	X-Generator: Launchpad (build 18719)
    25	  Failed to initialise video adapter%s is deprecated. VGA mode %d isn't recognised. Use set gfxpayload=WIDTHxHEIGHT[xDEPTH] before linux command instead.
    26	%s: unrecognised option '%c%s'
    27	%s: unrecognised option '--%s'
    28	(PROGRAM ERROR) Option should have been recognised!?Attempting to install GRUB to a partition-less disk or to a partition.  This is a BAD idea.COLOURCannot read kernel %sDirect colour, mask: %d/%d/%d/%d  pos: %d/%d/%d/%dFilesystem `%s' doesn't support embeddingFinalise loading of EFI emulator.Rubbish in ARGP_HELP_FMT: %sList available video modes. If resolution is given, show only modes matching it.Load a multi-boot 2 kernel.Load a multi-boot 2 module.Load a multi-boot kernel.Load a multi-boot module.Load and initialise EFI emulator.MENU_ENTRY is a number, a menu item title or a menu item identifier. Please note that menu items in
    29	submenus or sub-submenus require specifying the submenu components and then the
    30	menu item component. The titles should be separated using the greater-than
    31	character (>) with no extra spaces. Depending on your shell some characters including > may need escaping.
    32	
    33	More information about this is available in the GRUB Manual in the section about the 'default' command. Pool state: uninitialisedSet background colour for active terminal.The two files are identical.
    34	Unrecognised compression `%s'Unrecognised option `%s'\nUnrecognised pool stateWarning: invalid background colour `%s'
    35	Warning: invalid foreground colour `%s'
    36	cannot allocate cmdlinecannot allocate initrdcannot allocate kernelfwstart.img doesn't match the known good version. Proceed at your own risk!install device is not specifiedinvalid colour specification `%s'kernel does not support EFI handoverpress right Altunrecognised number

/etc/grub.d/backup/boot_grub/locale/en_CA.mo

     1	,<PQopinstall device isn't specifiedProject-Id-Version: grub2
     2	Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>
     3	PO-Revision-Date: 2010-09-10 15:22+0000
     4	Last-Translator: Mark <Unknown>
     5	Language-Team: English (Canada) <en_CA@li.org>
     6	MIME-Version: 1.0
     7	Content-Type: text/plain; charset=UTF-8
     8	Content-Transfer-Encoding: 8bit
     9	X-Launchpad-Export-Date: 2018-07-12 13:36+0000
    10	X-Generator: Launchpad (build 18719)
    11	install device is not specified

/etc/grub.d/backup/etc_grub_d

nl: /etc/grub.d/backup/etc_grub_d: est un dossier

/etc/grub.d/backup/etc_grub_d/05_debian_theme

     1	#!/bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2010  Alexander Kurtz <kurtz.alex@googlemail.com>
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	# Include the GRUB helper library for grub-mkconfig.
    21	. /usr/share/grub/grub-mkconfig_lib
    22	
    23	# We want to work in /boot/grub/ only.
    24	test -d /boot/grub; cd /boot/grub
    25	
    26	# Set the location of a possibly necessary cache file for the background image.
    27	# NOTE: This MUST BE A DOTFILE to avoid confusing it with user-defined images.
    28	BACKGROUND_CACHE=".background_cache"
    29	
    30	set_default_theme(){
    31		case $GRUB_DISTRIBUTOR in
    32			Tanglu|Ubuntu|Kubuntu)
    33				# Set a monochromatic theme for Tanglu/Ubuntu.
    34				echo "${1}set menu_color_normal=white/black"
    35				echo "${1}set menu_color_highlight=black/light-gray"
    36	
    37				if [ -e /usr/share/plymouth/themes/default.grub ]; then
    38					sed "s/^/${1}/" /usr/share/plymouth/themes/default.grub
    39				fi
    40				# For plymouth backward compatiblity. Can be removed
    41				# after xenial.
    42				if [ -e /lib/plymouth/themes/default.grub ]; then
    43					sed "s/^/${1}/" /lib/plymouth/themes/default.grub
    44				fi
    45				;;
    46			*)
    47				# Set the traditional Debian blue theme.
    48				echo "${1}set menu_color_normal=cyan/blue"
    49				echo "${1}set menu_color_highlight=white/blue"
    50				;;
    51		esac
    52	}
    53	
    54	module_available(){
    55		local module
    56		for module in "${1}.mod" */"${1}.mod"; do
    57			if [ -f "${module}" ]; then
    58				return 0
    59			fi
    60		done
    61		return 1
    62	}
    63	
    64	set_background_image(){
    65		# Step #1: Search all available output modes ...
    66		local output
    67		for output in ${GRUB_TERMINAL_OUTPUT}; do
    68			if [ "x$output" = "xgfxterm" ]; then
    69				break
    70			fi
    71		done
    72	
    73		# ... and check if we are able to display a background image at all.
    74		if ! [ "x${output}" = "xgfxterm" ]; then
    75			return 1
    76		fi
    77	
    78		# Step #2: Check if the specified background image exists.
    79		if ! [ -f "${1}" ]; then
    80			return 2
    81		fi
    82	
    83		# Step #3: Search the correct GRUB module for our background image.
    84		local reader
    85		case "${1}" in
    86			*.jpg|*.JPG|*.jpeg|*.JPEG) reader="jpeg";;
    87			*.png|*.PNG) reader="png";;
    88			*.tga|*.TGA) reader="tga";;
    89			*) return 3;; # Unknown image type.
    90		esac
    91	
    92		# Step #4: Check if the necessary GRUB module is available.
    93		if ! module_available "${reader}"; then
    94			return 4
    95		fi
    96	
    97		# Step #5: Check if GRUB can read the background image directly.
    98		# If so, we can remove the cache file (if any). Otherwise the backgound
    99		# image needs to be cached under /boot/grub/.
   100		if is_path_readable_by_grub "${1}"; then
   101			rm --force "${BACKGROUND_CACHE}.jpeg" \
   102				"${BACKGROUND_CACHE}.png" "${BACKGROUND_CACHE}.tga"
   103		elif cp "${1}" "${BACKGROUND_CACHE}.${reader}"; then
   104			set -- "${BACKGROUND_CACHE}.${reader}" "${2}" "${3}"
   105		else
   106			return 5
   107		fi
   108	
   109		# Step #6: Prepare GRUB to read the background image.
   110		if ! prepare_grub_to_access_device "`${grub_probe} --target=device "${1}"`"; then
   111			return 6
   112		fi
   113	
   114		# Step #7: Everything went fine, print out a message to stderr ...
   115		echo "Found background image: ${1}" >&2
   116	
   117		# ... and write our configuration snippet to stdout. Use the colors
   118		# desktop-base specified. If we're using a user-defined background, use
   119		# the default colors since we've got no idea how the image looks like.
   120		# If loading the background image fails, use the default theme.
   121		echo "insmod ${reader}"
   122		echo "if background_image `make_system_path_relative_to_its_root "${1}"`; then"
   123		if [ -n "${2}" ]; then
   124			echo "  set color_normal=${2}"
   125		fi
   126		if [ -n "${3}" ]; then
   127			echo "  set color_highlight=${3}"
   128		fi
   129		if [ -z "${2}" ] && [ -z "${3}" ]; then
   130			echo "  true"
   131		fi
   132		echo "else"
   133		set_default_theme "  "
   134		echo "fi"
   135	}
   136	
   137	# Earlier versions of grub-pc copied the default background image to /boot/grub
   138	# during postinst. Remove those obsolete images if they haven't been touched by
   139	# the user. They are still available under /usr/share/images/desktop-base/ if
   140	# desktop-base is installed.
   141	while read checksum background; do
   142		if [ -f "${background}" ] && [ "x`sha1sum "${background}"`" = "x${checksum}  ${background}" ]; then
   143			echo "Removing old background image: ${background}" >&2
   144			rm "${background}"
   145		fi
   146	done <<EOF
   147	648ee65dd0c157a69b019a5372cbcfea4fc754a5  debian-blueish-wallpaper-640x480.png
   148	0431e97a6c661084c59676c4baeeb8c2f602edb8  debian-blueish-wallpaper-640x480.png
   149	968ecf6696c5638cfe80e8e70aba239526270864  debian-blueish-wallpaper-640x480.tga
   150	11143e8c92a073401de0b0fd42d0c052af4ccd9b  moreblue-orbit-grub.png
   151	d00d5e505ab63f2d53fa880bfac447e2d3bb197c  moreblue-orbit-grub.png
   152	f5b12c1009ec0a3b029185f6b66cd0d7e5611019  moreblue-orbit-grub.png
   153	EOF
   154	
   155	# Include the configuration of desktop-base if available.
   156	if [ -f "/usr/share/desktop-base/grub_background.sh" ]; then
   157		. "/usr/share/desktop-base/grub_background.sh"
   158	fi
   159	
   160	# First check whether the user has specified a background image explicitly.
   161	# If so, try to use it. Don't try the other possibilities in that case
   162	# (#608263).
   163	if [ -n "${GRUB_BACKGROUND+x}" ]; then
   164		set_background_image "${GRUB_BACKGROUND}" || set_default_theme
   165		exit 0
   166	fi
   167	
   168	# Next search for pictures the user put into /boot/grub/ and use the first one.
   169	for background in *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG *.tga *.TGA; do
   170		if set_background_image "${background}"; then
   171			exit 0
   172		fi
   173	done
   174	
   175	# Next try to use the background image and colors specified by desktop-base.
   176	if set_background_image "${WALLPAPER}" "${COLOR_NORMAL}" "${COLOR_HIGHLIGHT}"; then
   177		exit 0
   178	fi
   179	
   180	# If we haven't found a background image yet, use the default from desktop-base.
   181	case $GRUB_DISTRIBUTOR in
   182		Ubuntu|Kubuntu)
   183			;;
   184		Tanglu)
   185			if set_background_image "/usr/share/images/grub/grub.png"; then
   186				exit 0
   187			fi
   188			;;
   189		*)
   190			if set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then
   191				exit 0
   192			fi
   193			;;
   194	esac
   195	
   196	# Finally, if all of the above fails, use the default theme.
   197	set_default_theme

/etc/grub.d/backup/etc_grub_d/20_linux_xen

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	
    24	. "$pkgdatadir/grub-mkconfig_lib"
    25	
    26	export TEXTDOMAIN=grub
    27	export TEXTDOMAINDIR="${datarootdir}/locale"
    28	
    29	CLASS="--class gnu-linux --class gnu --class os --class xen"
    30	SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"
    31	
    32	if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
    33	  OS=GNU/Linux
    34	else
    35	  OS="${GRUB_DISTRIBUTOR} GNU/Linux"
    36	  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
    37	fi
    38	
    39	# loop-AES arranges things so that /dev/loop/X can be our root device, but
    40	# the initrds that Linux uses don't like that.
    41	case ${GRUB_DEVICE} in
    42	  /dev/loop/*|/dev/loop[0-9])
    43	    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    44	    # We can't cope with devices loop-mounted from files here.
    45	    case ${GRUB_DEVICE} in
    46	      /dev/*) ;;
    47	      *) exit 0 ;;
    48	    esac
    49	  ;;
    50	esac
    51	
    52	# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
    53	# and mounting btrfs requires user space scanning, so force UUID in this case.
    54	if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    55	    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    56	    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
    57	  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
    58	else
    59	  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
    60	fi
    61	
    62	# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
    63	if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
    64	  GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
    65	fi
    66	if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
    67	  GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
    68	fi
    69	
    70	case x"$GRUB_FS" in
    71	    xbtrfs)
    72		rootsubvol="`make_system_path_relative_to_its_root /`"
    73		rootsubvol="${rootsubvol#/}"
    74		if [ "x${rootsubvol}" != x ]; then
    75		    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
    76		fi;;
    77	    xzfs)
    78		rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
    79		bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
    80		LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
    81		;;
    82	esac
    83	
    84	title_correction_code=
    85	
    86	linux_entry ()
    87	{
    88	  os="$1"
    89	  version="$2"
    90	  xen_version="$3"
    91	  type="$4"
    92	  args="$5"
    93	  xen_args="$6"
    94	  if [ -z "$boot_device_id" ]; then
    95	      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
    96	  fi
    97	  if [ x$type != xsimple ] ; then
    98	      if [ x$type = xrecovery ] ; then
    99		  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")"
   100	      elif [ "${type#init-}" != "$type" ] ; then
   101		  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "${type#init-}")"
   102	      else
   103		  title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")"
   104	      fi
   105	      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   106	      if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   107	         quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   108	         title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   109	         grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   110	      fi
   111	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   112	  else
   113	      title="$(gettext_printf "%s, with Xen hypervisor" "${os}")"
   114	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   115	  fi
   116	  if [ x$type != xrecovery ] ; then
   117	      save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/"
   118	  fi
   119	
   120	  if [ -z "${prepare_boot_cache}" ]; then
   121	    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
   122	  fi
   123	  printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   124	  xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
   125	  lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
   126	  sed "s/^/$submenu_indentation/" << EOF
   127		echo	'$(echo "$xmessage" | grub_quote)'
   128	        if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then
   129	            xen_rm_opts=
   130	        else
   131	            xen_rm_opts="no-real-mode edd=off"
   132	        fi
   133		multiboot	${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
   134		echo	'$(echo "$lmessage" | grub_quote)'
   135		module	${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
   136	EOF
   137	  if test -n "${initrd}" ; then
   138	    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
   139	    message="$(gettext_printf "Loading initial ramdisk ...")"
   140	    sed "s/^/$submenu_indentation/" << EOF
   141		echo	'$(echo "$message" | grub_quote)'
   142		module	--nounzip   ${rel_dirname}/${initrd}
   143	EOF
   144	  fi
   145	  sed "s/^/$submenu_indentation/" << EOF
   146	}
   147	EOF
   148	}
   149	
   150	linux_list=
   151	for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
   152	    if grub_file_is_not_garbage "$i"; then
   153	    	basename=$(basename $i)
   154		version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
   155		dirname=$(dirname $i)
   156		config=
   157		for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
   158		    if test -e "${j}" ; then
   159			config="${j}"
   160			break
   161		    fi
   162		done
   163	        if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then linux_list="$linux_list $i" ; fi
   164	    fi
   165	done
   166	if [ "x${linux_list}" = "x" ] ; then
   167	    exit 0
   168	fi
   169	
   170	file_is_not_sym () {
   171	    case "$1" in
   172		*/xen-syms-*)
   173		    return 1;;
   174		*)
   175		    return 0;;
   176	    esac
   177	}
   178	
   179	xen_list=
   180	for i in /boot/xen*; do
   181	    if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then xen_list="$xen_list $i" ; fi
   182	done
   183	prepare_boot_cache=
   184	boot_device_id=
   185	
   186	title_correction_code=
   187	
   188	machine=`uname -m`
   189	
   190	case "$machine" in
   191	    i?86) GENKERNEL_ARCH="x86" ;;
   192	    mips|mips64) GENKERNEL_ARCH="mips" ;;
   193	    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
   194	    arm*) GENKERNEL_ARCH="arm" ;;
   195	    *) GENKERNEL_ARCH="$machine" ;;
   196	esac
   197	
   198	# Extra indentation to add to menu entries in a submenu. We're not in a submenu
   199	# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
   200	submenu_indentation=""
   201	
   202	is_top_level=true
   203	
   204	while [ "x${xen_list}" != "x" ] ; do
   205	    list="${linux_list}"
   206	    current_xen=`version_find_latest $xen_list`
   207	    xen_basename=`basename ${current_xen}`
   208	    xen_dirname=`dirname ${current_xen}`
   209	    rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname`
   210	    xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"`
   211	    if [ -z "$boot_device_id" ]; then
   212		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   213	    fi
   214	    if [ "x$is_top_level" != xtrue ]; then
   215		echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
   216	    fi
   217	    while [ "x$list" != "x" ] ; do
   218		linux=`version_find_latest $list`
   219		gettext_printf "Found linux image: %s\n" "$linux" >&2
   220		basename=`basename $linux`
   221		dirname=`dirname $linux`
   222		rel_dirname=`make_system_path_relative_to_its_root $dirname`
   223		version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   224		alt_version=`echo $version | sed -e "s,\.old$,,g"`
   225		linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
   226	
   227		initrd=
   228		for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
   229		   "initrd-${version}" "initramfs-${version}.img" \
   230		   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
   231		   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
   232		   "initramfs-genkernel-${version}" \
   233		   "initramfs-genkernel-${alt_version}" \
   234		   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
   235		   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do
   236		    if test -e "${dirname}/${i}" ; then
   237			initrd="$i"
   238			break
   239		    fi
   240		done
   241		if test -n "${initrd}" ; then
   242		    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
   243		else
   244	    # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
   245		    linux_root_device_thisversion=${GRUB_DEVICE}
   246		fi
   247	
   248		if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   249		    linux_entry "${OS}" "${version}" "${xen_version}" simple \
   250			"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   251	
   252		    submenu_indentation="$grub_tab$grub_tab"
   253	    
   254		    if [ -z "$boot_device_id" ]; then
   255			boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   256		    fi
   257	            # TRANSLATORS: %s is replaced with an OS name
   258		    echo "submenu '$(gettext_printf "Advanced options for %s (with Xen hypervisor)" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   259		echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
   260		   is_top_level=false
   261		fi
   262	
   263		linux_entry "${OS}" "${version}" "${xen_version}" advanced \
   264		    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   265		for supported_init in ${SUPPORTED_INITS}; do
   266		    init_path="${supported_init#*:}"
   267		    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
   268			linux_entry "${OS}" "${version}" "${xen_version}" "init-${supported_init%%:*}" \
   269			    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   270	
   271		    fi
   272		done
   273		if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
   274		    linux_entry "${OS}" "${version}" "${xen_version}" recovery \
   275			"single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
   276		fi
   277	
   278		list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
   279	    done
   280	    if [ x"$is_top_level" != xtrue ]; then
   281		echo '	}'
   282	    fi
   283	    xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '`
   284	done
   285	
   286	# If at least one kernel was found, then we need to
   287	# add a closing '}' for the submenu command.
   288	if [ x"$is_top_level" != xtrue ]; then
   289	  echo '}'
   290	fi
   291	
   292	echo "$title_correction_code"

/etc/grub.d/backup/etc_grub_d/30_os-prober

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	quick_boot="1"
    24	
    25	export TEXTDOMAIN=grub
    26	export TEXTDOMAINDIR="${datarootdir}/locale"
    27	
    28	. "$pkgdatadir/grub-mkconfig_lib"
    29	
    30	found_other_os=
    31	
    32	adjust_timeout () {
    33	  if [ "$quick_boot" = 1 ] && [ "x${found_other_os}" != "x" ]; then
    34	    cat << EOF
    35	set timeout_style=menu
    36	if [ "\${timeout}" = 0 ]; then
    37	  set timeout=10
    38	fi
    39	EOF
    40	  fi
    41	}
    42	
    43	if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
    44	  exit 0
    45	fi
    46	
    47	if [ -z "`which os-prober 2> /dev/null`" ] || [ -z "`which linux-boot-prober 2> /dev/null`" ] ; then
    48	  # missing os-prober and/or linux-boot-prober
    49	  exit 0
    50	fi
    51	
    52	OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
    53	if [ -z "${OSPROBED}" ] ; then
    54	  # empty os-prober output, nothing doing
    55	  exit 0
    56	fi
    57	
    58	osx_entry() {
    59	    found_other_os=1
    60	    if [ x$2 = x32 ]; then
    61	        # TRANSLATORS: it refers to kernel architecture (32-bit)
    62		bitstr="$(gettext "(32-bit)")"
    63	    else
    64	        # TRANSLATORS: it refers to kernel architecture (64-bit)
    65		bitstr="$(gettext "(64-bit)")"
    66	    fi
    67	    # TRANSLATORS: it refers on the OS residing on device %s
    68	    onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
    69	        cat << EOF
    70	menuentry '$(echo "${LONGNAME} $bitstr $onstr" | grub_quote)' --class osx --class darwin --class os \$menuentry_id_option 'osprober-xnu-$2-$(grub_get_device_id "${DEVICE}")'  {
    71	EOF
    72		save_default_entry | grub_add_tab
    73		prepare_grub_to_access_device ${DEVICE} | grub_add_tab
    74		cat << EOF
    75	        load_video
    76	        set do_resume=0
    77	        if [ /var/vm/sleepimage -nt10 / ]; then
    78	           if xnu_resume /var/vm/sleepimage; then
    79	             set do_resume=1
    80	           fi
    81	        fi
    82	        if [ \$do_resume = 0 ]; then
    83	           xnu_uuid ${OSXUUID} uuid
    84	           if [ -f /Extra/DSDT.aml ]; then
    85	              acpi -e /Extra/DSDT.aml
    86	           fi
    87	           if [ /kernelcache -nt /System/Library/Extensions ]; then
    88	              $1 /kernelcache boot-uuid=\${uuid} rd=*uuid
    89	           elif [ -f /System/Library/Kernels/kernel ]; then
    90	              $1 /System/Library/Kernels/kernel boot-uuid=\${uuid} rd=*uuid
    91	              xnu_kextdir /System/Library/Extensions
    92	           else
    93	              $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
    94	              if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
    95	                xnu_mkext /System/Library/Extensions.mkext
    96	              else
    97	                xnu_kextdir /System/Library/Extensions
    98	              fi
    99	           fi
   100	           if [ -f /Extra/Extensions.mkext ]; then
   101	              xnu_mkext /Extra/Extensions.mkext
   102	           fi
   103	           if [ -d /Extra/Extensions ]; then
   104	              xnu_kextdir /Extra/Extensions
   105	           fi
   106	           if [ -f /Extra/devprop.bin ]; then
   107	              xnu_devprop_load /Extra/devprop.bin
   108	           fi
   109	           if [ -f /Extra/splash.jpg ]; then
   110	              insmod jpeg
   111	              xnu_splash /Extra/splash.jpg
   112	           fi
   113	           if [ -f /Extra/splash.png ]; then
   114	              insmod png
   115	              xnu_splash /Extra/splash.png
   116	           fi
   117	           if [ -f /Extra/splash.tga ]; then
   118	              insmod tga
   119	              xnu_splash /Extra/splash.tga
   120	           fi
   121	        fi
   122	}
   123	EOF
   124	}
   125	
   126	used_osprober_linux_ids=
   127	
   128	wubi=
   129	
   130	for OS in ${OSPROBED} ; do
   131	  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
   132	  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
   133	  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
   134	  BOOT="`echo ${OS} | cut -d ':' -f 4`"
   135	  if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then
   136	    EXPUUID="$UUID"
   137	
   138	    if [ x"${DEVICE#*@}" != x ] ; then
   139	      EXPUUID="${EXPUUID}@${DEVICE#*@}"
   140	    fi
   141	
   142	    if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" ] && [ "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then
   143	      echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2
   144	      continue
   145	    fi
   146	  fi
   147	
   148	  BTRFS="`echo ${OS} | cut -d ':' -f 5`"
   149	  if [ "x$BTRFS" = "xbtrfs" ]; then
   150		BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`"
   151		BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`"
   152	  fi
   153	
   154	  if [ -z "${LONGNAME}" ] ; then
   155	    LONGNAME="${LABEL}"
   156	  fi
   157	
   158	  # os-prober returns text string followed by optional counter
   159	  CLASS="--class $(echo "${LABEL}" | LC_ALL=C sed 's,[[:digit:]]*$,,' | cut -d' ' -f1 | tr 'A-Z' 'a-z' | LC_ALL=C sed 's,[^[:alnum:]_],_,g')"
   160	
   161	  gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2
   162	
   163	  case ${BOOT} in
   164	    chain)
   165	
   166	      case ${LONGNAME} in
   167		Windows*)
   168		  if [ -z "$wubi" ]; then
   169		    if [ -x /usr/share/lupin-support/grub-mkimage ] && \
   170		       /usr/share/lupin-support/grub-mkimage --test; then
   171		      wubi=yes
   172		    else
   173		      wubi=no
   174		    fi
   175		  fi
   176		  if [ "$wubi" = yes ]; then
   177		    echo "Skipping ${LONGNAME} on Wubi system" >&2
   178		    continue
   179		  fi
   180		  ;;
   181	      esac
   182	
   183	      found_other_os=1
   184		  onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   185	      cat << EOF
   186	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' {
   187	EOF
   188	      save_default_entry | grub_add_tab
   189	      prepare_grub_to_access_device ${DEVICE} | grub_add_tab
   190	
   191	      if [ x"`${grub_probe} --device ${DEVICE} --target=partmap`" = xmsdos ]; then
   192		  cat << EOF
   193		parttool \${root} hidden-
   194	EOF
   195	      fi
   196	
   197	      case ${LONGNAME} in
   198		Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*)
   199		;;
   200		*)
   201		  cat << EOF
   202		drivemap -s (hd0) \${root}
   203	EOF
   204		;;
   205	      esac
   206	
   207	      cat <<EOF
   208		chainloader +1
   209	}
   210	EOF
   211	    ;;
   212	    efi)
   213	
   214		found_other_os=1
   215		EFIPATH=${DEVICE#*@}
   216		DEVICE=${DEVICE%@*}
   217		onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   218	      cat << EOF
   219	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-efi-$(grub_get_device_id "${DEVICE}")' {
   220	EOF
   221	      save_default_entry | sed -e "s/^/\t/"
   222	      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
   223	
   224	      cat <<EOF
   225		chainloader ${EFIPATH}
   226	}
   227	EOF
   228	    ;;
   229	    linux)
   230	      if [ "x$BTRFS" = "xbtrfs" ]; then
   231	         LINUXPROBED="`linux-boot-prober btrfs ${BTRFSuuid} ${BTRFSsubvol}  2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
   232	      else
   233	         LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
   234	      fi
   235	      prepare_boot_cache=
   236	      boot_device_id=
   237	      is_top_level=true
   238	      title_correction_code=
   239	      OS="${LONGNAME}"
   240	
   241	      for LINUX in ${LINUXPROBED} ; do
   242	        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
   243	        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
   244	        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
   245	        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
   246	        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
   247	        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"
   248	
   249	        if [ -z "${LLABEL}" ] ; then
   250	          LLABEL="${LONGNAME}"
   251	        fi
   252	
   253		if [ "${LROOT}" != "${LBOOT}" ]; then
   254		  LKERNEL="${LKERNEL#/boot}"
   255		  LINITRD="${LINITRD#/boot}"
   256		fi
   257	
   258		if [ -z "${prepare_boot_cache}" ]; then
   259		  prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | grub_add_tab)"
   260		  [ "${prepare_boot_cache}" ] || continue
   261		fi
   262	
   263		found_other_os=1
   264		onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   265		recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
   266		counter=1
   267		while echo "$used_osprober_linux_ids" | grep 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id' > /dev/null; do
   268		    counter=$((counter+1));
   269		done
   270		if [ -z "$boot_device_id" ]; then
   271		    boot_device_id="$(grub_get_device_id "${DEVICE}")"
   272		fi
   273		used_osprober_linux_ids="$used_osprober_linux_ids 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id'"
   274	
   275		if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   276	            cat << EOF
   277	menuentry '$(echo "$OS $onstr" | grub_quote)' $CLASS --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
   278	EOF
   279		    save_default_entry | grub_add_tab
   280		    printf '%s\n' "${prepare_boot_cache}"
   281		    cat <<  EOF
   282		linux ${LKERNEL} ${LPARAMS}
   283	EOF
   284	            if [ -n "${LINITRD}" ] ; then
   285	          cat << EOF
   286		initrd ${LINITRD}
   287	EOF
   288	            fi
   289	        cat << EOF
   290	}
   291	EOF
   292		    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} $onstr" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {"
   293		    is_top_level=false
   294		fi
   295		title="${LLABEL} $onstr"
   296	        cat << EOF
   297		menuentry '$(echo "$title" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' {
   298	EOF
   299		save_default_entry | sed -e "s/^/$grub_tab$grub_tab/"
   300		printf '%s\n' "${prepare_boot_cache}" | grub_add_tab
   301		cat <<  EOF
   302			linux ${LKERNEL} ${LPARAMS}
   303	EOF
   304	        if [ -n "${LINITRD}" ] ; then
   305	            cat << EOF
   306			initrd ${LINITRD}
   307	EOF
   308	        fi
   309	        cat << EOF
   310		}
   311	EOF
   312		if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   313		    replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   314		    quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   315		    title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   316		    grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   317		fi
   318	      done
   319	      if [ x"$is_top_level" != xtrue ]; then
   320		  echo '}'
   321	      fi
   322	      echo "$title_correction_code"
   323	    ;;
   324	    macosx)
   325	      if [ "${UUID}" ]; then
   326		OSXUUID="${UUID}"
   327		osx_entry xnu_kernel 32
   328		osx_entry xnu_kernel64 64
   329	      fi
   330	    ;;
   331	    hurd)
   332	      found_other_os=1
   333	      onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   334	      cat << EOF
   335	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' {
   336	EOF
   337	      save_default_entry | grub_add_tab
   338	      prepare_grub_to_access_device ${DEVICE} | grub_add_tab
   339	      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
   340	      mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
   341	      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
   342	      case "${grub_fs}" in
   343		*fs)	hurd_fs="${grub_fs}" ;;
   344		*)	hurd_fs="${grub_fs}fs" ;;
   345	      esac
   346	      cat << EOF
   347		multiboot /boot/gnumach.gz root=device:${mach_device}
   348		module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
   349				--multiboot-command-line='\${kernel-command-line}' \\
   350				--host-priv-port='\${host-port}' \\
   351				--device-master-port='\${device-port}' \\
   352				--exec-server-task='\${exec-task}' -T typed '\${root}' \\
   353				'\$(task-create)' '\$(task-resume)'
   354		module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
   355	}
   356	EOF
   357	    ;;
   358	    minix)
   359		  cat << EOF
   360	menuentry "${LONGNAME} (on ${DEVICE}, Multiboot)" {
   361	EOF
   362	         save_default_entry | sed -e "s/^/\t/"
   363	         prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
   364		 cat << EOF
   365		multiboot /boot/image_latest
   366	}
   367	EOF
   368	    ;;
   369	    *)
   370	      # TRANSLATORS: %s is replaced by OS name.
   371	      gettext_printf "%s is not yet supported by grub-mkconfig.\n" "  ${LONGNAME}" >&2
   372	    ;;
   373	  esac
   374	done
   375	
   376	adjust_timeout

/etc/grub.d/backup/etc_grub_d/30_uefi-firmware

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2012  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	
    24	export TEXTDOMAIN=grub
    25	export TEXTDOMAINDIR="${datarootdir}/locale"
    26	
    27	. "${datarootdir}/grub/grub-mkconfig_lib"
    28	
    29	efi_vars_dir=/sys/firmware/efi/vars
    30	EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c
    31	OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data"
    32	
    33	if [ -e "$OsIndications" ] && \
    34	   [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
    35	  LABEL="System setup"
    36	
    37	  gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
    38	
    39	  onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
    40	
    41	  cat << EOF
    42	menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
    43		fwsetup
    44	}
    45	EOF
    46	fi

/etc/grub.d/backup/etc_grub_d/20_memtest86+

     1	#!/bin/sh
     2	set -e
     3	
     4	if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then
     5	  . /usr/lib/grub/grub-mkconfig_lib
     6	  LX=linux16
     7	elif [ -f /usr/lib/grub/update-grub_lib ]; then
     8	  . /usr/lib/grub/update-grub_lib
     9	  LX=linux
    10	else
    11	  # no grub file, so we notify and exit gracefully
    12	  echo "Cannot find grub config file, exiting." >&2
    13	  exit 0
    14	fi
    15	
    16	# We need 16-bit boot, which isn't available on EFI.
    17	if [ -d /sys/firmware/efi ]; then
    18	  exit 0
    19	fi
    20	
    21	# We can't cope with loop-mounted devices here.
    22	case ${GRUB_DEVICE_BOOT} in
    23	  /dev/loop/*|/dev/loop[0-9]) exit 0 ;;
    24	esac
    25	
    26	export TEXTDOMAIN=memtest86+
    27	
    28	prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
    29	
    30	if test -e /boot/memtest86+.elf ; then
    31	  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.elf" )
    32	  echo "Found memtest86+ image: $MEMTESTPATH" >&2
    33	  cat << EOF
    34	menuentry '$(gettext_printf "Memory test (memtest86+)")' {
    35	EOF
    36	  printf '%s\n' "${prepare_boot_cache}"
    37	  cat << EOF
    38		knetbsd	$MEMTESTPATH
    39	}
    40	EOF
    41	fi
    42	
    43	if test -e /boot/memtest86+.bin ; then
    44	  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" )
    45	  echo "Found memtest86+ image: $MEMTESTPATH" >&2
    46	  cat << EOF
    47	menuentry '$(gettext_printf "Memory test (memtest86+, serial console 115200)")' {
    48	EOF
    49	  printf '%s\n' "${prepare_boot_cache}"
    50	  cat << EOF
    51		$LX	$MEMTESTPATH console=ttyS0,115200n8
    52	}
    53	EOF
    54	fi
    55	
    56	#if test -e /boot/memtest86+_multiboot.bin ; then
    57	#  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+_multiboot.bin" )
    58	#  echo "Found memtest86+ multiboot image: $MEMTESTPATH" >&2
    59	#  cat << EOF
    60	#menuentry '$(gettext_printf "Memory test (memtest86+, experimental multiboot)")' {
    61	#EOF
    62	#  printf '%s\n' "${prepare_boot_cache}"
    63	#  cat << EOF
    64	#	multiboot	$MEMTESTPATH
    65	#}
    66	#menuentry '$(gettext_printf "Memory test (memtest86+, serial console 115200, experimental multiboot)")' {
    67	#EOF
    68	#  printf '%s\n' "${prepare_boot_cache}"
    69	#  cat << EOF
    70	#	multiboot	$MEMTESTPATH console=ttyS0,115200n8
    71	#}
    72	#EOF
    73	#fi

/etc/grub.d/backup/etc_grub_d/00_header

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	grub_lang=`echo $LANG | cut -d . -f 1`
    24	grubdir="`echo "/boot/grub" | sed 's,//*,/,g'`"
    25	quick_boot="1"
    26	
    27	export TEXTDOMAIN=grub
    28	export TEXTDOMAINDIR="${datarootdir}/locale"
    29	
    30	. "$pkgdatadir/grub-mkconfig_lib"
    31	
    32	# Do this as early as possible, since other commands might depend on it.
    33	# (e.g. the `loadfont' command might need lvm or raid modules)
    34	for i in ${GRUB_PRELOAD_MODULES} ; do
    35	  echo "insmod $i"
    36	done
    37	
    38	if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
    39	if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
    40	if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
    41	if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=auto ; fi
    42	
    43	if [ "x${GRUB_DEFAULT_BUTTON}" = "x" ] ; then GRUB_DEFAULT_BUTTON="$GRUB_DEFAULT" ; fi
    44	if [ "x${GRUB_DEFAULT_BUTTON}" = "xsaved" ] ; then GRUB_DEFAULT_BUTTON='${saved_entry}' ; fi
    45	if [ "x${GRUB_TIMEOUT_BUTTON}" = "x" ] ; then GRUB_TIMEOUT_BUTTON="$GRUB_TIMEOUT" ; fi
    46	
    47	cat << EOF
    48	if [ -s \$prefix/grubenv ]; then
    49	  set have_grubenv=true
    50	  load_env
    51	fi
    52	EOF
    53	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    54	    cat <<EOF
    55	if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
    56	   set default="${GRUB_DEFAULT_BUTTON}"
    57	elif [ "\${next_entry}" ] ; then
    58	   set default="\${next_entry}"
    59	   set next_entry=
    60	   save_env next_entry
    61	   set boot_once=true
    62	else
    63	   set default="${GRUB_DEFAULT}"
    64	fi
    65	EOF
    66	else
    67	    cat <<EOF
    68	if [ "\${next_entry}" ] ; then
    69	   set default="\${next_entry}"
    70	   set next_entry=
    71	   save_env next_entry
    72	   set boot_once=true
    73	else
    74	   set default="${GRUB_DEFAULT}"
    75	fi
    76	EOF
    77	fi
    78	cat <<EOF
    79	
    80	if [ x"\${feature_menuentry_id}" = xy ]; then
    81	  menuentry_id_option="--id"
    82	else
    83	  menuentry_id_option=""
    84	fi
    85	
    86	export menuentry_id_option
    87	
    88	if [ "\${prev_saved_entry}" ]; then
    89	  set saved_entry="\${prev_saved_entry}"
    90	  save_env saved_entry
    91	  set prev_saved_entry=
    92	  save_env prev_saved_entry
    93	  set boot_once=true
    94	fi
    95	
    96	function savedefault {
    97	  if [ -z "\${boot_once}" ]; then
    98	    saved_entry="\${chosen}"
    99	    save_env saved_entry
   100	  fi
   101	}
   102	EOF
   103	
   104	if [ "$quick_boot" = 1 ]; then
   105	    cat <<EOF
   106	function recordfail {
   107	  set recordfail=1
   108	EOF
   109	
   110	  check_writable () {
   111	    abstractions="$(grub-probe --target=abstraction "${grubdir}")"
   112	    for abstraction in $abstractions; do
   113	      case "$abstraction" in
   114	        diskfilter | lvm)
   115	          cat <<EOF
   116	  # GRUB lacks write support for $abstraction, so recordfail support is disabled.
   117	EOF
   118	          return
   119	          ;;
   120	      esac
   121	    done
   122	
   123	    FS="$(grub-probe --target=fs "${grubdir}")"
   124	    case "$FS" in
   125	      btrfs | cpiofs | newc | odc | romfs | squash4 | tarfs | zfs)
   126		cat <<EOF
   127	  # GRUB lacks write support for $FS, so recordfail support is disabled.
   128	EOF
   129		return
   130		;;
   131	    esac
   132	
   133	    cat <<EOF
   134	  if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
   135	EOF
   136	  }
   137	
   138	  check_writable
   139	
   140	  cat <<EOF
   141	}
   142	EOF
   143	fi
   144	
   145	cat <<EOF
   146	function load_video {
   147	EOF
   148	if [ -n "${GRUB_VIDEO_BACKEND}" ]; then
   149	    cat <<EOF
   150	  insmod ${GRUB_VIDEO_BACKEND}
   151	EOF
   152	else
   153	# If all_video.mod isn't available load all modules available
   154	# with versions prior to introduction of all_video.mod
   155	cat <<EOF
   156	  if [ x\$feature_all_video_module = xy ]; then
   157	    insmod all_video
   158	  else
   159	    insmod efi_gop
   160	    insmod efi_uga
   161	    insmod ieee1275_fb
   162	    insmod vbe
   163	    insmod vga
   164	    insmod video_bochs
   165	    insmod video_cirrus
   166	  fi
   167	EOF
   168	fi
   169	cat <<EOF
   170	}
   171	
   172	EOF
   173	
   174	serial=0;
   175	gfxterm=0;
   176	for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
   177	    if [ xserial = "x$x" ]; then
   178		serial=1;
   179	    fi
   180	    if [ xgfxterm = "x$x" ]; then
   181		gfxterm=1;
   182	    fi
   183	done
   184	
   185	if [ "x$serial" = x1 ]; then
   186	    if [ "x${GRUB_SERIAL_COMMAND}" = "x" ] ; then
   187		grub_warn "$(gettext "Requested serial terminal but GRUB_SERIAL_COMMAND is unspecified. Default parameters will be used.")"
   188		GRUB_SERIAL_COMMAND=serial
   189	    fi
   190	    echo "${GRUB_SERIAL_COMMAND}"
   191	fi
   192	
   193	if [ "x$gfxterm" = x1 ]; then
   194	    if [ -n "$GRUB_FONT" ] ; then
   195	       # Make the font accessible
   196	       prepare_grub_to_access_device `${grub_probe} --target=device "${GRUB_FONT}"`
   197	    cat << EOF
   198	if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT}"` ; then
   199	EOF
   200	    else
   201		for dir in "${pkgdatadir}" "`echo '/boot/grub' | sed "s,//*,/,g"`" /usr/share/grub ; do
   202		    for basename in unicode unifont ascii; do
   203			path="${dir}/${basename}.pf2"
   204			if is_path_readable_by_grub "${path}" > /dev/null ; then
   205			    font_path="${path}"
   206			else
   207			    continue
   208			fi
   209			break 2
   210		    done
   211		done
   212		if [ -n "${font_path}" ] ; then
   213	    cat << EOF
   214	if [ x\$feature_default_font_path = xy ] ; then
   215	   font=unicode
   216	else
   217	EOF
   218	                # Make the font accessible
   219			prepare_grub_to_access_device `${grub_probe} --target=device "${font_path}"`
   220	    cat << EOF
   221	    font="`make_system_path_relative_to_its_root "${font_path}"`"
   222	fi
   223	
   224	if loadfont \$font ; then
   225	EOF
   226		    else
   227	    cat << EOF
   228	if loadfont unicode ; then
   229	EOF
   230		    fi
   231		fi
   232	
   233	    cat << EOF
   234	  set gfxmode=${GRUB_GFXMODE}
   235	  load_video
   236	  insmod gfxterm
   237	EOF
   238	
   239	# Gettext variables and module
   240	if [ "x${LANG}" != "xC" ] &&  [ "x${LANG}" != "x" ]; then
   241	  cat << EOF
   242	  set locale_dir=\$prefix/locale
   243	  set lang=${grub_lang}
   244	  insmod gettext
   245	EOF
   246	fi
   247	
   248	cat <<EOF
   249	fi
   250	EOF
   251	fi
   252	
   253	case x${GRUB_TERMINAL_INPUT} in
   254	  x)
   255	    # Just use the native terminal
   256	  ;;
   257	  x*)
   258	    cat << EOF
   259	terminal_input ${GRUB_TERMINAL_INPUT}
   260	EOF
   261	  ;;
   262	esac
   263	
   264	case x${GRUB_TERMINAL_OUTPUT} in
   265	  x)
   266	    # Just use the native terminal
   267	  ;;
   268	  x*)
   269	    cat << EOF
   270	terminal_output ${GRUB_TERMINAL_OUTPUT}
   271	EOF
   272	  ;;
   273	esac
   274	
   275	if [ "x$gfxterm" = x1 ]; then
   276	    if [ "x$GRUB_THEME" != x ] && [ -f "$GRUB_THEME" ] \
   277		&& is_path_readable_by_grub "$GRUB_THEME"; then
   278		gettext_printf "Found theme: %s\n" "$GRUB_THEME" >&2
   279	
   280		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_THEME"`
   281		cat << EOF
   282	insmod gfxmenu
   283	EOF
   284		themedir="`dirname "$GRUB_THEME"`"
   285		for x in "$themedir"/*.pf2 "$themedir"/f/*.pf2; do
   286		    if [ -f "$x" ]; then
   287			cat << EOF
   288	loadfont (\$root)`make_system_path_relative_to_its_root $x`
   289	EOF
   290		    fi
   291		done
   292		if [ x"`echo "$themedir"/*.jpg`" != x"$themedir/*.jpg" ] || [ x"`echo "$themedir"/*.jpeg`" != x"$themedir/*.jpeg" ]; then
   293		    cat << EOF
   294	insmod jpeg
   295	EOF
   296		fi
   297		if [ x"`echo "$themedir"/*.png`" != x"$themedir/*.png" ]; then
   298		    cat << EOF
   299	insmod png
   300	EOF
   301		fi
   302		if [ x"`echo "$themedir"/*.tga`" != x"$themedir/*.tga" ]; then
   303		    cat << EOF
   304	insmod tga
   305	EOF
   306		fi
   307		    
   308		cat << EOF
   309	set theme=(\$root)`make_system_path_relative_to_its_root $GRUB_THEME`
   310	export theme
   311	EOF
   312	    elif [ "x$GRUB_BACKGROUND" != x ] && [ -f "$GRUB_BACKGROUND" ] \
   313		    && is_path_readable_by_grub "$GRUB_BACKGROUND"; then
   314		gettext_printf "Found background: %s\n" "$GRUB_BACKGROUND" >&2
   315		case "$GRUB_BACKGROUND" in 
   316		    *.png)         reader=png ;;
   317		    *.tga)         reader=tga ;;
   318		    *.jpg|*.jpeg)  reader=jpeg ;;
   319		    *)             gettext "Unsupported image format" >&2; echo >&2; exit 1 ;;
   320		esac
   321		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_BACKGROUND"`
   322		cat << EOF
   323	insmod $reader
   324	background_image -m stretch `make_system_path_relative_to_its_root "$GRUB_BACKGROUND"`
   325	EOF
   326	    fi
   327	fi
   328	
   329	make_timeout ()
   330	{
   331	    cat << EOF
   332	if [ "\${recordfail}" = 1 ] ; then
   333	  set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
   334	else
   335	EOF
   336	    if [ "x${3}" != "x" ] ; then
   337		timeout="${2}"
   338		style="${3}"
   339	    elif [ "x${1}" != "x" ] && \
   340		 ([ "$quick_boot" = 1 ] || [ "x${1}" != "x0" ]) ; then
   341		# Handle the deprecated GRUB_HIDDEN_TIMEOUT scheme.
   342		timeout="${1}"
   343		if [ "x${2}" != "x0" ] ; then
   344		    grub_warn "$(gettext "Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.")"
   345		fi
   346		if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
   347		    style="hidden"
   348		    verbose=
   349		else
   350		    style="countdown"
   351		    verbose=" --verbose"
   352		fi
   353	    else
   354		# No hidden timeout, so treat as GRUB_TIMEOUT_STYLE=menu
   355		timeout="${2}"
   356		style="menu"
   357	    fi
   358	    cat << EOF
   359	  if [ x\$feature_timeout_style = xy ] ; then
   360	    set timeout_style=${style}
   361	    set timeout=${timeout}
   362	EOF
   363	    if [ "x${style}" = "xmenu" ] ; then
   364		cat << EOF
   365	  # Fallback normal timeout code in case the timeout_style feature is
   366	  # unavailable.
   367	  else
   368	    set timeout=${timeout}
   369	EOF
   370	    else
   371		cat << EOF
   372	  # Fallback hidden-timeout code in case the timeout_style feature is
   373	  # unavailable.
   374	  elif sleep${verbose} --interruptible ${timeout} ; then
   375	    set timeout=0
   376	EOF
   377	    fi
   378	    cat << EOF
   379	  fi
   380	fi
   381	EOF
   382	}
   383	
   384	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
   385	    cat <<EOF
   386	if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
   387	EOF
   388	make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_STYLE_BUTTON}"
   389	echo else
   390	make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
   391	echo fi
   392	else
   393	make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
   394	fi
   395	
   396	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then
   397	    cat <<EOF
   398	cmosclean $GRUB_BUTTON_CMOS_ADDRESS
   399	EOF
   400	fi
   401	
   402	# Play an initial tune
   403	if [ "x${GRUB_INIT_TUNE}" != "x" ] ; then
   404	  echo "play ${GRUB_INIT_TUNE}"
   405	fi
   406	
   407	if [ "x${GRUB_BADRAM}" != "x" ] ; then
   408	  echo "badram ${GRUB_BADRAM}"
   409	fi

/etc/grub.d/backup/etc_grub_d/10_linux

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	ubuntu_recovery="1"
    24	quiet_boot="1"
    25	quick_boot="1"
    26	gfxpayload_dynamic="1"
    27	vt_handoff="1"
    28	
    29	. "$pkgdatadir/grub-mkconfig_lib"
    30	
    31	export TEXTDOMAIN=grub
    32	export TEXTDOMAINDIR="${datarootdir}/locale"
    33	
    34	CLASS="--class gnu-linux --class gnu --class os"
    35	SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"
    36	
    37	if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
    38	  OS=GNU/Linux
    39	else
    40	  case ${GRUB_DISTRIBUTOR} in
    41	    Ubuntu|Kubuntu)
    42	      OS="${GRUB_DISTRIBUTOR}"
    43	      ;;
    44	    *)
    45	      OS="${GRUB_DISTRIBUTOR} GNU/Linux"
    46	      ;;
    47	  esac
    48	  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
    49	fi
    50	
    51	# loop-AES arranges things so that /dev/loop/X can be our root device, but
    52	# the initrds that Linux uses don't like that.
    53	case ${GRUB_DEVICE} in
    54	  /dev/loop/*|/dev/loop[0-9])
    55	    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    56	    # We can't cope with devices loop-mounted from files here.
    57	    case ${GRUB_DEVICE} in
    58	      /dev/*) ;;
    59	      *) exit 0 ;;
    60	    esac
    61	  ;;
    62	esac
    63	
    64	# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
    65	# and mounting btrfs requires user space scanning, so force UUID in this case.
    66	if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    67	    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    68	    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
    69	  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
    70	else
    71	  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
    72	fi
    73	
    74	case x"$GRUB_FS" in
    75	    xbtrfs)
    76		rootsubvol="`make_system_path_relative_to_its_root /`"
    77		rootsubvol="${rootsubvol#/}"
    78		if [ "x${rootsubvol}" != x ]; then
    79		    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
    80		fi;;
    81	    xzfs)
    82		rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
    83		bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
    84		LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
    85		;;
    86	esac
    87	
    88	title_correction_code=
    89	
    90	if [ -x /lib/recovery-mode/recovery-menu ]; then
    91	    GRUB_CMDLINE_LINUX_RECOVERY=recovery
    92	else
    93	    GRUB_CMDLINE_LINUX_RECOVERY=single
    94	fi
    95	if [ "$ubuntu_recovery" = 1 ]; then
    96	    GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset"
    97	fi
    98	
    99	if [ "$vt_handoff" = 1 ]; then
   100	  for word in $GRUB_CMDLINE_LINUX_DEFAULT; do
   101	    if [ "$word" = splash ]; then
   102	      GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \$vt_handoff"
   103	    fi
   104	  done
   105	fi
   106	
   107	linux_entry ()
   108	{
   109	  os="$1"
   110	  version="$2"
   111	  type="$3"
   112	  args="$4"
   113	
   114	  if [ -z "$boot_device_id" ]; then
   115	      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   116	  fi
   117	  if [ x$type != xsimple ] ; then
   118	      case $type in
   119		  recovery)
   120		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;;
   121		  init-*)
   122		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;;
   123		  *)
   124		      title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
   125	      esac
   126	      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   127		  replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   128		  quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   129		  title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   130		  grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   131	      fi
   132	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   133	  else
   134	      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   135	  fi      
   136	  if [ "$quick_boot" = 1 ]; then
   137	      echo "	recordfail" | sed "s/^/$submenu_indentation/"
   138	  fi
   139	  if [ x$type != xrecovery ] ; then
   140	      save_default_entry | grub_add_tab
   141	  fi
   142	
   143	  # Use ELILO's generic "efifb" when it's known to be available.
   144	  # FIXME: We need an interface to select vesafb in case efifb can't be used.
   145	  if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
   146	      echo "	load_video" | sed "s/^/$submenu_indentation/"
   147	  else
   148	      if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
   149		  echo "	load_video" | sed "s/^/$submenu_indentation/"
   150	      fi
   151	  fi
   152	  if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
   153	     ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
   154	      echo "	gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
   155	  fi
   156	
   157	  echo "	insmod gzio" | sed "s/^/$submenu_indentation/"
   158	  echo "	if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/"
   159	
   160	  if [ x$dirname = x/ ]; then
   161	    if [ -z "${prepare_root_cache}" ]; then
   162	      prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | grub_add_tab)"
   163	    fi
   164	    printf '%s\n' "${prepare_root_cache}" | sed "s/^/$submenu_indentation/"
   165	  else
   166	    if [ -z "${prepare_boot_cache}" ]; then
   167	      prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
   168	    fi
   169	    printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   170	  fi
   171	  if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   172	    message="$(gettext_printf "Loading Linux %s ..." ${version})"
   173	    sed "s/^/$submenu_indentation/" << EOF
   174		echo	'$(echo "$message" | grub_quote)'
   175	EOF
   176	  fi
   177	  if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
   178	    sed "s/^/$submenu_indentation/" << EOF
   179		linux	${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
   180	EOF
   181	  else
   182	    if [ x"$GRUB_FORCE_PARTUUID" = x ]; then
   183	        sed "s/^/$submenu_indentation/" << EOF
   184	        linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
   185	EOF
   186	    else
   187	        sed "s/^/$submenu_indentation/" << EOF
   188	        linux	${rel_dirname}/${basename} root=PARTUUID=${GRUB_FORCE_PARTUUID} ro ${args}
   189	EOF
   190	    fi
   191	  fi
   192	  if test -n "${initrd}" && [ x"$GRUB_DISABLE_INITRD" != xtrue ]; then
   193	    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
   194	    if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   195	      message="$(gettext_printf "Loading initial ramdisk ...")"
   196	      sed "s/^/$submenu_indentation/" << EOF
   197		echo	'$(echo "$message" | grub_quote)'
   198	EOF
   199	    fi
   200	    sed "s/^/$submenu_indentation/" << EOF
   201		initrd	${rel_dirname}/${initrd}
   202	EOF
   203	  fi
   204	  sed "s/^/$submenu_indentation/" << EOF
   205	}
   206	EOF
   207	}
   208	
   209	machine=`uname -m`
   210	case "x$machine" in
   211	    xi?86 | xx86_64)
   212		list=
   213		for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
   214		    if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   215		done ;;
   216	    *) 
   217		list=
   218		for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
   219	                  if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   220		done ;;
   221	esac
   222	
   223	case "$machine" in
   224	    i?86) GENKERNEL_ARCH="x86" ;;
   225	    mips|mips64) GENKERNEL_ARCH="mips" ;;
   226	    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
   227	    arm*) GENKERNEL_ARCH="arm" ;;
   228	    *) GENKERNEL_ARCH="$machine" ;;
   229	esac
   230	
   231	prepare_boot_cache=
   232	prepare_root_cache=
   233	boot_device_id=
   234	title_correction_code=
   235	
   236	cat << 'EOF'
   237	function gfxmode {
   238		set gfxpayload="${1}"
   239	EOF
   240	if [ "$vt_handoff" = 1 ]; then
   241	  cat << 'EOF'
   242		if [ "${1}" = "keep" ]; then
   243			set vt_handoff=vt.handoff=1
   244		else
   245			set vt_handoff=
   246		fi
   247	EOF
   248	fi
   249	cat << EOF
   250	}
   251	EOF
   252	
   253	# Use ELILO's generic "efifb" when it's known to be available.
   254	# FIXME: We need an interface to select vesafb in case efifb can't be used.
   255	if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 0 ]; then
   256	  echo "set linux_gfx_mode=$GRUB_GFXPAYLOAD_LINUX"
   257	else
   258	  cat << EOF
   259	if [ "\${recordfail}" != 1 ]; then
   260	  if [ -e \${prefix}/gfxblacklist.txt ]; then
   261	    if hwmatch \${prefix}/gfxblacklist.txt 3; then
   262	      if [ \${match} = 0 ]; then
   263	        set linux_gfx_mode=keep
   264	      else
   265	        set linux_gfx_mode=text
   266	      fi
   267	    else
   268	      set linux_gfx_mode=text
   269	    fi
   270	  else
   271	    set linux_gfx_mode=keep
   272	  fi
   273	else
   274	  set linux_gfx_mode=text
   275	fi
   276	EOF
   277	fi
   278	cat << EOF
   279	export linux_gfx_mode
   280	EOF
   281	
   282	# Extra indentation to add to menu entries in a submenu. We're not in a submenu
   283	# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
   284	submenu_indentation=""
   285	
   286	is_top_level=true
   287	while [ "x$list" != "x" ] ; do
   288	  linux=`version_find_latest $list`
   289	  case $linux in
   290	    *.efi.signed)
   291	      # We handle these in linux_entry.
   292	      list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
   293	      continue
   294	      ;;
   295	  esac
   296	  gettext_printf "Found linux image: %s\n" "$linux" >&2
   297	  basename=`basename $linux`
   298	  dirname=`dirname $linux`
   299	  rel_dirname=`make_system_path_relative_to_its_root $dirname`
   300	  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   301	  alt_version=`echo $version | sed -e "s,\.old$,,g"`
   302	  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
   303	
   304	  initrd=
   305	  for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
   306		   "initrd-${version}" "initramfs-${version}.img" \
   307		   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
   308		   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
   309		   "initramfs-genkernel-${version}" \
   310		   "initramfs-genkernel-${alt_version}" \
   311		   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
   312		   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
   313	    if test -e "${dirname}/${i}" ; then
   314	      initrd="$i"
   315	      break
   316	    fi
   317	  done
   318	
   319	  config=
   320	  for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
   321	    if test -e "${i}" ; then
   322	      config="${i}"
   323	      break
   324	    fi
   325	  done
   326	
   327	  initramfs=
   328	  if test -n "${config}" ; then
   329	      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
   330	  fi
   331	
   332	  if test -n "${initrd}" ; then
   333	    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
   334	  elif test -z "${initramfs}" ; then
   335	    # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
   336	    # no initrd or builtin initramfs, it can't work here.
   337	    linux_root_device_thisversion=${GRUB_DEVICE}
   338	  fi
   339	
   340	  if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   341	    linux_entry "${OS}" "${version}" simple \
   342	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   343	
   344	    submenu_indentation="$grub_tab"
   345	    
   346	    if [ -z "$boot_device_id" ]; then
   347		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   348	    fi
   349	    # TRANSLATORS: %s is replaced with an OS name
   350	    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   351	    is_top_level=false
   352	  fi
   353	
   354	  linux_entry "${OS}" "${version}" advanced \
   355	              "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   356	  for supported_init in ${SUPPORTED_INITS}; do
   357	    init_path="${supported_init#*:}"
   358	    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
   359	      linux_entry "${OS}" "${version}" "init-${supported_init%%:*}" \
   360			  "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}"
   361	    fi
   362	  done
   363	  if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
   364	    linux_entry "${OS}" "${version}" recovery \
   365	                "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
   366	  fi
   367	
   368	  list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
   369	done
   370	
   371	# If at least one kernel was found, then we need to
   372	# add a closing '}' for the submenu command.
   373	if [ x"$is_top_level" != xtrue ]; then
   374	  echo '}'
   375	fi
   376	
   377	echo "$title_correction_code"

/etc/grub.d/backup/etc_grub_d/40_custom

     1	#!/bin/sh
     2	exec tail -n +3 $0
     3	# This file provides an easy way to add custom menu entries.  Simply type the
     4	# menu entries you want to add after this comment.  Be careful not to change
     5	# the 'exec tail' line above.

/etc/grub.d/backup/etc_grub_d/41_custom

     1	#!/bin/sh
     2	cat <<EOF
     3	if [ -f  \${config_directory}/custom.cfg ]; then
     4	  source \${config_directory}/custom.cfg
     5	elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
     6	  source \$prefix/custom.cfg;
     7	fi
     8	EOF
     9	

/etc/grub.d/backup/RESTORE_INSTRUCTIONS

     1	How to restore this backup
     2	--------------------------
     3	 * make sure you have root permissions (`gksu nautilus` or `sudo -s` on command line) otherwise you won't be able to copy the files
     4	 * to fix an unbootable configuration, just copy:
     5	     * '/etc/grub.d/backup/boot_grub' to '/boot/grub'
     6	 * to reset the whole configuration (if it cannot be fixed by using grub customizer), also copy these files:
     7	     * '/etc/grub.d/backup/etc_grub_d' to '/etc/grub.d'
     8	     * '/etc/grub.d/backup/default_grub' to '/etc/default/grub'

/etc/grub.d/backup/default_grub

     1	# If you change this file, run 'update-grub' afterwards to update
     2	# /boot/grub/grub.cfg.
     3	# For full documentation of the options in this file, see:
     4	#   info -f grub -n 'Simple configuration'
     5	
     6	GRUB_DEFAULT=0
     7	GRUB_TIMEOUT_STYLE=hidden
     8	GRUB_TIMEOUT=10
     9	GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    10	GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    11	GRUB_CMDLINE_LINUX=""
    12	
    13	# Uncomment to enable BadRAM filtering, modify to suit your needs
    14	# This works with Linux (no patch required) and with any kernel that obtains
    15	# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    16	#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
    17	
    18	# Uncomment to disable graphical terminal (grub-pc only)
    19	#GRUB_TERMINAL=console
    20	
    21	# The resolution used on graphical terminal
    22	# note that you can use only modes which your graphic card supports via VBE
    23	# you can see them in real GRUB with the command `vbeinfo'
    24	#GRUB_GFXMODE=640x480
    25	
    26	# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    27	#GRUB_DISABLE_LINUX_UUID=true
    28	
    29	# Uncomment to disable generation of recovery mode menu entries
    30	#GRUB_DISABLE_RECOVERY="true"
    31	
    32	# Uncomment to get a beep at grub start
    33	#GRUB_INIT_TUNE="480 440 1"

/etc/grub.d/10_linux

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	ubuntu_recovery="1"
    24	quiet_boot="1"
    25	quick_boot="1"
    26	gfxpayload_dynamic="1"
    27	vt_handoff="1"
    28	
    29	. "$pkgdatadir/grub-mkconfig_lib"
    30	
    31	export TEXTDOMAIN=grub
    32	export TEXTDOMAINDIR="${datarootdir}/locale"
    33	
    34	CLASS="--class gnu-linux --class gnu --class os"
    35	SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"
    36	
    37	if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
    38	  OS=GNU/Linux
    39	else
    40	  case ${GRUB_DISTRIBUTOR} in
    41	    Ubuntu|Kubuntu)
    42	      OS="${GRUB_DISTRIBUTOR}"
    43	      ;;
    44	    *)
    45	      OS="${GRUB_DISTRIBUTOR} GNU/Linux"
    46	      ;;
    47	  esac
    48	  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
    49	fi
    50	
    51	# loop-AES arranges things so that /dev/loop/X can be our root device, but
    52	# the initrds that Linux uses don't like that.
    53	case ${GRUB_DEVICE} in
    54	  /dev/loop/*|/dev/loop[0-9])
    55	    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    56	    # We can't cope with devices loop-mounted from files here.
    57	    case ${GRUB_DEVICE} in
    58	      /dev/*) ;;
    59	      *) exit 0 ;;
    60	    esac
    61	  ;;
    62	esac
    63	
    64	# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
    65	# and mounting btrfs requires user space scanning, so force UUID in this case.
    66	if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    67	    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    68	    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
    69	  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
    70	else
    71	  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
    72	fi
    73	
    74	case x"$GRUB_FS" in
    75	    xbtrfs)
    76		rootsubvol="`make_system_path_relative_to_its_root /`"
    77		rootsubvol="${rootsubvol#/}"
    78		if [ "x${rootsubvol}" != x ]; then
    79		    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
    80		fi;;
    81	    xzfs)
    82		rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
    83		bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
    84		LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
    85		;;
    86	esac
    87	
    88	title_correction_code=
    89	
    90	if [ -x /lib/recovery-mode/recovery-menu ]; then
    91	    GRUB_CMDLINE_LINUX_RECOVERY=recovery
    92	else
    93	    GRUB_CMDLINE_LINUX_RECOVERY=single
    94	fi
    95	if [ "$ubuntu_recovery" = 1 ]; then
    96	    GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset"
    97	fi
    98	
    99	if [ "$vt_handoff" = 1 ]; then
   100	  for word in $GRUB_CMDLINE_LINUX_DEFAULT; do
   101	    if [ "$word" = splash ]; then
   102	      GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \$vt_handoff"
   103	    fi
   104	  done
   105	fi
   106	
   107	linux_entry ()
   108	{
   109	  os="$1"
   110	  version="$2"
   111	  type="$3"
   112	  args="$4"
   113	
   114	  if [ -z "$boot_device_id" ]; then
   115	      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   116	  fi
   117	  if [ x$type != xsimple ] ; then
   118	      case $type in
   119		  recovery)
   120		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;;
   121		  init-*)
   122		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;;
   123		  *)
   124		      title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
   125	      esac
   126	      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   127		  replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   128		  quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   129		  title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   130		  grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   131	      fi
   132	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   133	  else
   134	      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   135	  fi      
   136	  if [ "$quick_boot" = 1 ]; then
   137	      echo "	recordfail" | sed "s/^/$submenu_indentation/"
   138	  fi
   139	  if [ x$type != xrecovery ] ; then
   140	      save_default_entry | grub_add_tab
   141	  fi
   142	
   143	  # Use ELILO's generic "efifb" when it's known to be available.
   144	  # FIXME: We need an interface to select vesafb in case efifb can't be used.
   145	  if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
   146	      echo "	load_video" | sed "s/^/$submenu_indentation/"
   147	  else
   148	      if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
   149		  echo "	load_video" | sed "s/^/$submenu_indentation/"
   150	      fi
   151	  fi
   152	  if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
   153	     ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
   154	      echo "	gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
   155	  fi
   156	
   157	  echo "	insmod gzio" | sed "s/^/$submenu_indentation/"
   158	  echo "	if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/"
   159	
   160	  if [ x$dirname = x/ ]; then
   161	    if [ -z "${prepare_root_cache}" ]; then
   162	      prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | grub_add_tab)"
   163	    fi
   164	    printf '%s\n' "${prepare_root_cache}" | sed "s/^/$submenu_indentation/"
   165	  else
   166	    if [ -z "${prepare_boot_cache}" ]; then
   167	      prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
   168	    fi
   169	    printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   170	  fi
   171	  if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   172	    message="$(gettext_printf "Loading Linux %s ..." ${version})"
   173	    sed "s/^/$submenu_indentation/" << EOF
   174		echo	'$(echo "$message" | grub_quote)'
   175	EOF
   176	  fi
   177	  if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
   178	    sed "s/^/$submenu_indentation/" << EOF
   179		linux	${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
   180	EOF
   181	  else
   182	    if [ x"$GRUB_FORCE_PARTUUID" = x ]; then
   183	        sed "s/^/$submenu_indentation/" << EOF
   184	        linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
   185	EOF
   186	    else
   187	        sed "s/^/$submenu_indentation/" << EOF
   188	        linux	${rel_dirname}/${basename} root=PARTUUID=${GRUB_FORCE_PARTUUID} ro ${args}
   189	EOF
   190	    fi
   191	  fi
   192	  if test -n "${initrd}" && [ x"$GRUB_DISABLE_INITRD" != xtrue ]; then
   193	    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
   194	    if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   195	      message="$(gettext_printf "Loading initial ramdisk ...")"
   196	      sed "s/^/$submenu_indentation/" << EOF
   197		echo	'$(echo "$message" | grub_quote)'
   198	EOF
   199	    fi
   200	    sed "s/^/$submenu_indentation/" << EOF
   201		initrd	${rel_dirname}/${initrd}
   202	EOF
   203	  fi
   204	  sed "s/^/$submenu_indentation/" << EOF
   205	}
   206	EOF
   207	}
   208	
   209	machine=`uname -m`
   210	case "x$machine" in
   211	    xi?86 | xx86_64)
   212		list=
   213		for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
   214		    if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   215		done ;;
   216	    *) 
   217		list=
   218		for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
   219	                  if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   220		done ;;
   221	esac
   222	
   223	case "$machine" in
   224	    i?86) GENKERNEL_ARCH="x86" ;;
   225	    mips|mips64) GENKERNEL_ARCH="mips" ;;
   226	    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
   227	    arm*) GENKERNEL_ARCH="arm" ;;
   228	    *) GENKERNEL_ARCH="$machine" ;;
   229	esac
   230	
   231	prepare_boot_cache=
   232	prepare_root_cache=
   233	boot_device_id=
   234	title_correction_code=
   235	
   236	cat << 'EOF'
   237	function gfxmode {
   238		set gfxpayload="${1}"
   239	EOF
   240	if [ "$vt_handoff" = 1 ]; then
   241	  cat << 'EOF'
   242		if [ "${1}" = "keep" ]; then
   243			set vt_handoff=vt.handoff=1
   244		else
   245			set vt_handoff=
   246		fi
   247	EOF
   248	fi
   249	cat << EOF
   250	}
   251	EOF
   252	
   253	# Use ELILO's generic "efifb" when it's known to be available.
   254	# FIXME: We need an interface to select vesafb in case efifb can't be used.
   255	if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 0 ]; then
   256	  echo "set linux_gfx_mode=$GRUB_GFXPAYLOAD_LINUX"
   257	else
   258	  cat << EOF
   259	if [ "\${recordfail}" != 1 ]; then
   260	  if [ -e \${prefix}/gfxblacklist.txt ]; then
   261	    if hwmatch \${prefix}/gfxblacklist.txt 3; then
   262	      if [ \${match} = 0 ]; then
   263	        set linux_gfx_mode=keep
   264	      else
   265	        set linux_gfx_mode=text
   266	      fi
   267	    else
   268	      set linux_gfx_mode=text
   269	    fi
   270	  else
   271	    set linux_gfx_mode=keep
   272	  fi
   273	else
   274	  set linux_gfx_mode=text
   275	fi
   276	EOF
   277	fi
   278	cat << EOF
   279	export linux_gfx_mode
   280	EOF
   281	
   282	# Extra indentation to add to menu entries in a submenu. We're not in a submenu
   283	# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
   284	submenu_indentation=""
   285	
   286	is_top_level=true
   287	while [ "x$list" != "x" ] ; do
   288	  linux=`version_find_latest $list`
   289	  case $linux in
   290	    *.efi.signed)
   291	      # We handle these in linux_entry.
   292	      list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
   293	      continue
   294	      ;;
   295	  esac
   296	  gettext_printf "Found linux image: %s\n" "$linux" >&2
   297	  basename=`basename $linux`
   298	  dirname=`dirname $linux`
   299	  rel_dirname=`make_system_path_relative_to_its_root $dirname`
   300	  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   301	  alt_version=`echo $version | sed -e "s,\.old$,,g"`
   302	  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
   303	
   304	  initrd=
   305	  for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
   306		   "initrd-${version}" "initramfs-${version}.img" \
   307		   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
   308		   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
   309		   "initramfs-genkernel-${version}" \
   310		   "initramfs-genkernel-${alt_version}" \
   311		   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
   312		   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
   313	    if test -e "${dirname}/${i}" ; then
   314	      initrd="$i"
   315	      break
   316	    fi
   317	  done
   318	
   319	  config=
   320	  for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
   321	    if test -e "${i}" ; then
   322	      config="${i}"
   323	      break
   324	    fi
   325	  done
   326	
   327	  initramfs=
   328	  if test -n "${config}" ; then
   329	      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
   330	  fi
   331	
   332	  if test -n "${initrd}" ; then
   333	    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
   334	  elif test -z "${initramfs}" ; then
   335	    # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
   336	    # no initrd or builtin initramfs, it can't work here.
   337	    linux_root_device_thisversion=${GRUB_DEVICE}
   338	  fi
   339	
   340	  if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   341	    linux_entry "${OS}" "${version}" simple \
   342	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   343	
   344	    submenu_indentation="$grub_tab"
   345	    
   346	    if [ -z "$boot_device_id" ]; then
   347		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   348	    fi
   349	    # TRANSLATORS: %s is replaced with an OS name
   350	    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   351	    is_top_level=false
   352	  fi
   353	
   354	  linux_entry "${OS}" "${version}" advanced \
   355	              "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   356	  for supported_init in ${SUPPORTED_INITS}; do
   357	    init_path="${supported_init#*:}"
   358	    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
   359	      linux_entry "${OS}" "${version}" "init-${supported_init%%:*}" \
   360			  "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}"
   361	    fi
   362	  done
   363	  if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
   364	    linux_entry "${OS}" "${version}" recovery \
   365	                "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
   366	  fi
   367	
   368	  list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
   369	done
   370	
   371	# If at least one kernel was found, then we need to
   372	# add a closing '}' for the submenu command.
   373	if [ x"$is_top_level" != xtrue ]; then
   374	  echo '}'
   375	fi
   376	
   377	echo "$title_correction_code"

/etc/grub.d/40_custom

     1	#!/bin/sh
     2	exec tail -n +3 $0
     3	# This file provides an easy way to add custom menu entries.  Simply type the
     4	# menu entries you want to add after this comment.  Be careful not to change
     5	# the 'exec tail' line above.

/etc/grub.d/41_custom

     1	#!/bin/sh
     2	cat <<EOF
     3	if [ -f  \${config_directory}/custom.cfg ]; then
     4	  source \${config_directory}/custom.cfg
     5	elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
     6	  source \$prefix/custom.cfg;
     7	fi
     8	EOF
     9	

Je ne comprends pas tout à ce que je fais, mais ça m'a l'air pas trop bueno vu le nombre d'erreur...

Merci pour votre aide!

Hors ligne

#5 Le 09/12/2018, à 19:38

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour,

MKL31 a écrit :

Je ne comprends pas tout à ce que je fais, mais ça m'a l'air pas trop bueno vu le nombre d'erreur...

Ça se voit et c'est le gros b***l sur ton système : doublon dans les sources (mais y'a pas que ça) et le contenu de grub.d plus que problématique.

Merci pour votre aide!

Ça risque de prendre du temps, d'autant plus que tu n'as pas donné les retours complets de toutes nos commandes, en particulier il me manque celle qui donne le contenu de /etc/default/grub. Donc tu peux déjà me donner :

cat -n /etc/default/grub

Un retour complet doit contenir toutes les lignes depuis celle de la commande jusqu'à la ligne attendant la commande suivante, exemple :

moi@lenovo:~$ uname -a
Linux moi-lenovo 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
moi@lenovo:~$

On va nettoyer le dossier /etc/grub.d/ et je rappelle qu'il faut les retours complets pour qu'on puisse contrôler le bon déroulement

  • Copier tout le contenu du sous-dossier backup dans un nouveau dossier de ton home :

    mkdir ~/backup_grub.d
    cp -R /etc/grub.d/backup/* ~/backup_grub.d

    À ce stade, lance ton gestionnaire de fichiers et vérifie que tu as un nouveau dossier backup_grub.d dans ton home et qu'il contient bien tous les fichiers et dossiers provenant de /etc/grub.d/backup/.

  • Maintenant dans le terminal :
    on se place dans /etc/grub.d/backup/

    cd /etc/grub.d/backup/

    ton invite de commande doit être :

    tonuser@tonpc:/etc/grub.d/backup$ 

    si elle est bonne et seulement dans ce cas sinon tu cours à la catastrophe, on supprime les fichiers qui ont été copiés précédemment :

    sudo rm -R *
  • On remonte d'un cran dans l'arborescence et on supprime le dossier backup :

    cd /etc/grub.d/
    sudo rmdir backup
  • On regarde ce que contient grub.d et le contenu de ses fichiers :

    ls -l /etc/grub.d/
    find /etc/grub.d -name '*_*' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;

J'espère qu'avec ça on va poivoir localiser plus facilemment l'erreur de syntaxe.


cqfd93

Hors ligne

#6 Le 10/12/2018, à 12:36

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour cqfd93,

Merci pour tes retours.

Je pensai, voulais, poster l'ensemble du retour de la commande. Raté.

Voici donc le retour de

cat -n /etc/default/grub
michael@MicaPortable:~$ cat -n /etc/default/grub
     1	# If you change this file, run 'update-grub' afterwards to update
     2	# /boot/grub/grub.cfg.
     3	# For full documentation of the options in this file, see:
     4	#   info -f grub -n 'Simple configuration'
     5	
     6	GRUB_DEFAULT="saved"
     7	GRUB_TIMEOUT_STYLE="hidden"
     8	GRUB_TIMEOUT=10
     9	GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
    10	GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    11	GRUB_CMDLINE_LINUX=""
    12	
    13	# Uncomment to enable BadRAM filtering, modify to suit your needs
    14	# This works with Linux (no patch required) and with any kernel that obtains
    15	# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    16	#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
    17	
    18	# Uncomment to disable graphical terminal (grub-pc only)
    19	#GRUB_TERMINAL="console"
    20	
    21	# The resolution used on graphical terminal
    22	# note that you can use only modes which your graphic card supports via VBE
    23	# you can see them in real GRUB with the command `vbeinfo'
    24	#GRUB_GFXMODE="640x480"
    25	
    26	# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    27	#GRUB_DISABLE_LINUX_UUID="true"
    28	
    29	# Uncomment to disable generation of recovery mode menu entries
    30	#GRUB_DISABLE_RECOVERY="true"
    31	
    32	# Uncomment to get a beep at grub start
    33	#GRUB_INIT_TUNE="480 440 1"
    34	
    35	GRUB_SAVEDEFAULT="true"
    36	export GRUB_COLOR_NORMAL="green/black"
    37	export GRUB_COLOR_HIGHLIGHT="magenta/black"
    38	export GRUB_MENU_PICTURE="/home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg"
michael@MicaPortable:~$

Pour a suite de ton message, j'ai suivis tes indications.

Voici le retour:

michael@MicaPortable:~$ mkdir ~/backup_grub.d
michael@MicaPortable:~$ cp -R /etc/grub.d/backup/* ~/backup_grub.d
michael@MicaPortable:~$ cd /etc/grub.d/backup/
michael@MicaPortable:/etc/grub.d/backup$ sudo rm -R *
[sudo] Mot de passe de michael : 
michael@MicaPortable:/etc/grub.d/backup$ cd /etc/grub.d/
michael@MicaPortable:/etc/grub.d$ sudo rmdir backup
michael@MicaPortable:/etc/grub.d$ ls -l /etc/grub.d/
total 80
-rwxr-xr-x 1 root root  9783 mars   4  2018 00_header
-rwxr-xr-x 1 root root  6258 mars   4  2018 05_debian_theme
-rwxr-xr-x 1 root root 12693 mars   4  2018 10_linux
-rwxr-xr-x 1 root root 11298 mars   4  2018 20_linux_xen
-rwxr-xr-x 1 root root  1992 janv. 28  2016 20_memtest86+
-rwxr-xr-x 1 root root 12059 mars   4  2018 30_os-prober
-rwxr-xr-x 1 root root  1418 mars   4  2018 30_uefi-firmware
-rwxr-xr-x 1 root root   214 mars   4  2018 40_custom
-rwxr-xr-x 1 root root   216 mars   4  2018 41_custom
-rw-r--r-- 1 root root   483 mars   4  2018 README
michael@MicaPortable:/etc/grub.d$ find /etc/grub.d -name '*_*' -exec bash -c 'echo -e "\n$1\n"; nl -ba "$1"' _ '{}' \;

/etc/grub.d/05_debian_theme

     1	#!/bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2010  Alexander Kurtz <kurtz.alex@googlemail.com>
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	# Include the GRUB helper library for grub-mkconfig.
    21	. /usr/share/grub/grub-mkconfig_lib
    22	
    23	# We want to work in /boot/grub/ only.
    24	test -d /boot/grub; cd /boot/grub
    25	
    26	# Set the location of a possibly necessary cache file for the background image.
    27	# NOTE: This MUST BE A DOTFILE to avoid confusing it with user-defined images.
    28	BACKGROUND_CACHE=".background_cache"
    29	
    30	set_default_theme(){
    31		case $GRUB_DISTRIBUTOR in
    32			Tanglu|Ubuntu|Kubuntu)
    33				# Set a monochromatic theme for Tanglu/Ubuntu.
    34				echo "${1}set menu_color_normal=white/black"
    35				echo "${1}set menu_color_highlight=black/light-gray"
    36	
    37				if [ -e /usr/share/plymouth/themes/default.grub ]; then
    38					sed "s/^/${1}/" /usr/share/plymouth/themes/default.grub
    39				fi
    40				# For plymouth backward compatiblity. Can be removed
    41				# after xenial.
    42				if [ -e /lib/plymouth/themes/default.grub ]; then
    43					sed "s/^/${1}/" /lib/plymouth/themes/default.grub
    44				fi
    45				;;
    46			*)
    47				# Set the traditional Debian blue theme.
    48				echo "${1}set menu_color_normal=cyan/blue"
    49				echo "${1}set menu_color_highlight=white/blue"
    50				;;
    51		esac
    52	}
    53	
    54	module_available(){
    55		local module
    56		for module in "${1}.mod" */"${1}.mod"; do
    57			if [ -f "${module}" ]; then
    58				return 0
    59			fi
    60		done
    61		return 1
    62	}
    63	
    64	set_background_image(){
    65		# Step #1: Search all available output modes ...
    66		local output
    67		for output in ${GRUB_TERMINAL_OUTPUT}; do
    68			if [ "x$output" = "xgfxterm" ]; then
    69				break
    70			fi
    71		done
    72	
    73		# ... and check if we are able to display a background image at all.
    74		if ! [ "x${output}" = "xgfxterm" ]; then
    75			return 1
    76		fi
    77	
    78		# Step #2: Check if the specified background image exists.
    79		if ! [ -f "${1}" ]; then
    80			return 2
    81		fi
    82	
    83		# Step #3: Search the correct GRUB module for our background image.
    84		local reader
    85		case "${1}" in
    86			*.jpg|*.JPG|*.jpeg|*.JPEG) reader="jpeg";;
    87			*.png|*.PNG) reader="png";;
    88			*.tga|*.TGA) reader="tga";;
    89			*) return 3;; # Unknown image type.
    90		esac
    91	
    92		# Step #4: Check if the necessary GRUB module is available.
    93		if ! module_available "${reader}"; then
    94			return 4
    95		fi
    96	
    97		# Step #5: Check if GRUB can read the background image directly.
    98		# If so, we can remove the cache file (if any). Otherwise the backgound
    99		# image needs to be cached under /boot/grub/.
   100		if is_path_readable_by_grub "${1}"; then
   101			rm --force "${BACKGROUND_CACHE}.jpeg" \
   102				"${BACKGROUND_CACHE}.png" "${BACKGROUND_CACHE}.tga"
   103		elif cp "${1}" "${BACKGROUND_CACHE}.${reader}"; then
   104			set -- "${BACKGROUND_CACHE}.${reader}" "${2}" "${3}"
   105		else
   106			return 5
   107		fi
   108	
   109		# Step #6: Prepare GRUB to read the background image.
   110		if ! prepare_grub_to_access_device "`${grub_probe} --target=device "${1}"`"; then
   111			return 6
   112		fi
   113	
   114		# Step #7: Everything went fine, print out a message to stderr ...
   115		echo "Found background image: ${1}" >&2
   116	
   117		# ... and write our configuration snippet to stdout. Use the colors
   118		# desktop-base specified. If we're using a user-defined background, use
   119		# the default colors since we've got no idea how the image looks like.
   120		# If loading the background image fails, use the default theme.
   121		echo "insmod ${reader}"
   122		echo "if background_image `make_system_path_relative_to_its_root "${1}"`; then"
   123		if [ -n "${2}" ]; then
   124			echo "  set color_normal=${2}"
   125		fi
   126		if [ -n "${3}" ]; then
   127			echo "  set color_highlight=${3}"
   128		fi
   129		if [ -z "${2}" ] && [ -z "${3}" ]; then
   130			echo "  true"
   131		fi
   132		echo "else"
   133		set_default_theme "  "
   134		echo "fi"
   135	}
   136	
   137	# Earlier versions of grub-pc copied the default background image to /boot/grub
   138	# during postinst. Remove those obsolete images if they haven't been touched by
   139	# the user. They are still available under /usr/share/images/desktop-base/ if
   140	# desktop-base is installed.
   141	while read checksum background; do
   142		if [ -f "${background}" ] && [ "x`sha1sum "${background}"`" = "x${checksum}  ${background}" ]; then
   143			echo "Removing old background image: ${background}" >&2
   144			rm "${background}"
   145		fi
   146	done <<EOF
   147	648ee65dd0c157a69b019a5372cbcfea4fc754a5  debian-blueish-wallpaper-640x480.png
   148	0431e97a6c661084c59676c4baeeb8c2f602edb8  debian-blueish-wallpaper-640x480.png
   149	968ecf6696c5638cfe80e8e70aba239526270864  debian-blueish-wallpaper-640x480.tga
   150	11143e8c92a073401de0b0fd42d0c052af4ccd9b  moreblue-orbit-grub.png
   151	d00d5e505ab63f2d53fa880bfac447e2d3bb197c  moreblue-orbit-grub.png
   152	f5b12c1009ec0a3b029185f6b66cd0d7e5611019  moreblue-orbit-grub.png
   153	EOF
   154	
   155	# Include the configuration of desktop-base if available.
   156	if [ -f "/usr/share/desktop-base/grub_background.sh" ]; then
   157		. "/usr/share/desktop-base/grub_background.sh"
   158	fi
   159	
   160	# First check whether the user has specified a background image explicitly.
   161	# If so, try to use it. Don't try the other possibilities in that case
   162	# (#608263).
   163	if [ -n "${GRUB_BACKGROUND+x}" ]; then
   164		set_background_image "${GRUB_BACKGROUND}" || set_default_theme
   165		exit 0
   166	fi
   167	
   168	# Next search for pictures the user put into /boot/grub/ and use the first one.
   169	for background in *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG *.tga *.TGA; do
   170		if set_background_image "${background}"; then
   171			exit 0
   172		fi
   173	done
   174	
   175	# Next try to use the background image and colors specified by desktop-base.
   176	if set_background_image "${WALLPAPER}" "${COLOR_NORMAL}" "${COLOR_HIGHLIGHT}"; then
   177		exit 0
   178	fi
   179	
   180	# If we haven't found a background image yet, use the default from desktop-base.
   181	case $GRUB_DISTRIBUTOR in
   182		Ubuntu|Kubuntu)
   183			;;
   184		Tanglu)
   185			if set_background_image "/usr/share/images/grub/grub.png"; then
   186				exit 0
   187			fi
   188			;;
   189		*)
   190			if set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then
   191				exit 0
   192			fi
   193			;;
   194	esac
   195	
   196	# Finally, if all of the above fails, use the default theme.
   197	set_default_theme

/etc/grub.d/20_linux_xen

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	
    24	. "$pkgdatadir/grub-mkconfig_lib"
    25	
    26	export TEXTDOMAIN=grub
    27	export TEXTDOMAINDIR="${datarootdir}/locale"
    28	
    29	CLASS="--class gnu-linux --class gnu --class os --class xen"
    30	SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"
    31	
    32	if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
    33	  OS=GNU/Linux
    34	else
    35	  OS="${GRUB_DISTRIBUTOR} GNU/Linux"
    36	  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
    37	fi
    38	
    39	# loop-AES arranges things so that /dev/loop/X can be our root device, but
    40	# the initrds that Linux uses don't like that.
    41	case ${GRUB_DEVICE} in
    42	  /dev/loop/*|/dev/loop[0-9])
    43	    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    44	    # We can't cope with devices loop-mounted from files here.
    45	    case ${GRUB_DEVICE} in
    46	      /dev/*) ;;
    47	      *) exit 0 ;;
    48	    esac
    49	  ;;
    50	esac
    51	
    52	# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
    53	# and mounting btrfs requires user space scanning, so force UUID in this case.
    54	if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    55	    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    56	    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
    57	  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
    58	else
    59	  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
    60	fi
    61	
    62	# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
    63	if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
    64	  GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
    65	fi
    66	if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
    67	  GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
    68	fi
    69	
    70	case x"$GRUB_FS" in
    71	    xbtrfs)
    72		rootsubvol="`make_system_path_relative_to_its_root /`"
    73		rootsubvol="${rootsubvol#/}"
    74		if [ "x${rootsubvol}" != x ]; then
    75		    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
    76		fi;;
    77	    xzfs)
    78		rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
    79		bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
    80		LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
    81		;;
    82	esac
    83	
    84	title_correction_code=
    85	
    86	linux_entry ()
    87	{
    88	  os="$1"
    89	  version="$2"
    90	  xen_version="$3"
    91	  type="$4"
    92	  args="$5"
    93	  xen_args="$6"
    94	  if [ -z "$boot_device_id" ]; then
    95	      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
    96	  fi
    97	  if [ x$type != xsimple ] ; then
    98	      if [ x$type = xrecovery ] ; then
    99		  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")"
   100	      elif [ "${type#init-}" != "$type" ] ; then
   101		  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "${type#init-}")"
   102	      else
   103		  title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")"
   104	      fi
   105	      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   106	      if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   107	         quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   108	         title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   109	         grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   110	      fi
   111	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   112	  else
   113	      title="$(gettext_printf "%s, with Xen hypervisor" "${os}")"
   114	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   115	  fi
   116	  if [ x$type != xrecovery ] ; then
   117	      save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/"
   118	  fi
   119	
   120	  if [ -z "${prepare_boot_cache}" ]; then
   121	    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
   122	  fi
   123	  printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   124	  xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
   125	  lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
   126	  sed "s/^/$submenu_indentation/" << EOF
   127		echo	'$(echo "$xmessage" | grub_quote)'
   128	        if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then
   129	            xen_rm_opts=
   130	        else
   131	            xen_rm_opts="no-real-mode edd=off"
   132	        fi
   133		multiboot	${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
   134		echo	'$(echo "$lmessage" | grub_quote)'
   135		module	${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
   136	EOF
   137	  if test -n "${initrd}" ; then
   138	    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
   139	    message="$(gettext_printf "Loading initial ramdisk ...")"
   140	    sed "s/^/$submenu_indentation/" << EOF
   141		echo	'$(echo "$message" | grub_quote)'
   142		module	--nounzip   ${rel_dirname}/${initrd}
   143	EOF
   144	  fi
   145	  sed "s/^/$submenu_indentation/" << EOF
   146	}
   147	EOF
   148	}
   149	
   150	linux_list=
   151	for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
   152	    if grub_file_is_not_garbage "$i"; then
   153	    	basename=$(basename $i)
   154		version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
   155		dirname=$(dirname $i)
   156		config=
   157		for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
   158		    if test -e "${j}" ; then
   159			config="${j}"
   160			break
   161		    fi
   162		done
   163	        if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then linux_list="$linux_list $i" ; fi
   164	    fi
   165	done
   166	if [ "x${linux_list}" = "x" ] ; then
   167	    exit 0
   168	fi
   169	
   170	file_is_not_sym () {
   171	    case "$1" in
   172		*/xen-syms-*)
   173		    return 1;;
   174		*)
   175		    return 0;;
   176	    esac
   177	}
   178	
   179	xen_list=
   180	for i in /boot/xen*; do
   181	    if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then xen_list="$xen_list $i" ; fi
   182	done
   183	prepare_boot_cache=
   184	boot_device_id=
   185	
   186	title_correction_code=
   187	
   188	machine=`uname -m`
   189	
   190	case "$machine" in
   191	    i?86) GENKERNEL_ARCH="x86" ;;
   192	    mips|mips64) GENKERNEL_ARCH="mips" ;;
   193	    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
   194	    arm*) GENKERNEL_ARCH="arm" ;;
   195	    *) GENKERNEL_ARCH="$machine" ;;
   196	esac
   197	
   198	# Extra indentation to add to menu entries in a submenu. We're not in a submenu
   199	# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
   200	submenu_indentation=""
   201	
   202	is_top_level=true
   203	
   204	while [ "x${xen_list}" != "x" ] ; do
   205	    list="${linux_list}"
   206	    current_xen=`version_find_latest $xen_list`
   207	    xen_basename=`basename ${current_xen}`
   208	    xen_dirname=`dirname ${current_xen}`
   209	    rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname`
   210	    xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"`
   211	    if [ -z "$boot_device_id" ]; then
   212		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   213	    fi
   214	    if [ "x$is_top_level" != xtrue ]; then
   215		echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
   216	    fi
   217	    while [ "x$list" != "x" ] ; do
   218		linux=`version_find_latest $list`
   219		gettext_printf "Found linux image: %s\n" "$linux" >&2
   220		basename=`basename $linux`
   221		dirname=`dirname $linux`
   222		rel_dirname=`make_system_path_relative_to_its_root $dirname`
   223		version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   224		alt_version=`echo $version | sed -e "s,\.old$,,g"`
   225		linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
   226	
   227		initrd=
   228		for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
   229		   "initrd-${version}" "initramfs-${version}.img" \
   230		   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
   231		   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
   232		   "initramfs-genkernel-${version}" \
   233		   "initramfs-genkernel-${alt_version}" \
   234		   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
   235		   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do
   236		    if test -e "${dirname}/${i}" ; then
   237			initrd="$i"
   238			break
   239		    fi
   240		done
   241		if test -n "${initrd}" ; then
   242		    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
   243		else
   244	    # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
   245		    linux_root_device_thisversion=${GRUB_DEVICE}
   246		fi
   247	
   248		if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   249		    linux_entry "${OS}" "${version}" "${xen_version}" simple \
   250			"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   251	
   252		    submenu_indentation="$grub_tab$grub_tab"
   253	    
   254		    if [ -z "$boot_device_id" ]; then
   255			boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   256		    fi
   257	            # TRANSLATORS: %s is replaced with an OS name
   258		    echo "submenu '$(gettext_printf "Advanced options for %s (with Xen hypervisor)" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   259		echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
   260		   is_top_level=false
   261		fi
   262	
   263		linux_entry "${OS}" "${version}" "${xen_version}" advanced \
   264		    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   265		for supported_init in ${SUPPORTED_INITS}; do
   266		    init_path="${supported_init#*:}"
   267		    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
   268			linux_entry "${OS}" "${version}" "${xen_version}" "init-${supported_init%%:*}" \
   269			    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
   270	
   271		    fi
   272		done
   273		if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
   274		    linux_entry "${OS}" "${version}" "${xen_version}" recovery \
   275			"single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
   276		fi
   277	
   278		list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
   279	    done
   280	    if [ x"$is_top_level" != xtrue ]; then
   281		echo '	}'
   282	    fi
   283	    xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '`
   284	done
   285	
   286	# If at least one kernel was found, then we need to
   287	# add a closing '}' for the submenu command.
   288	if [ x"$is_top_level" != xtrue ]; then
   289	  echo '}'
   290	fi
   291	
   292	echo "$title_correction_code"

/etc/grub.d/30_os-prober

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	quick_boot="1"
    24	
    25	export TEXTDOMAIN=grub
    26	export TEXTDOMAINDIR="${datarootdir}/locale"
    27	
    28	. "$pkgdatadir/grub-mkconfig_lib"
    29	
    30	found_other_os=
    31	
    32	adjust_timeout () {
    33	  if [ "$quick_boot" = 1 ] && [ "x${found_other_os}" != "x" ]; then
    34	    cat << EOF
    35	set timeout_style=menu
    36	if [ "\${timeout}" = 0 ]; then
    37	  set timeout=10
    38	fi
    39	EOF
    40	  fi
    41	}
    42	
    43	if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
    44	  exit 0
    45	fi
    46	
    47	if [ -z "`which os-prober 2> /dev/null`" ] || [ -z "`which linux-boot-prober 2> /dev/null`" ] ; then
    48	  # missing os-prober and/or linux-boot-prober
    49	  exit 0
    50	fi
    51	
    52	OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
    53	if [ -z "${OSPROBED}" ] ; then
    54	  # empty os-prober output, nothing doing
    55	  exit 0
    56	fi
    57	
    58	osx_entry() {
    59	    found_other_os=1
    60	    if [ x$2 = x32 ]; then
    61	        # TRANSLATORS: it refers to kernel architecture (32-bit)
    62		bitstr="$(gettext "(32-bit)")"
    63	    else
    64	        # TRANSLATORS: it refers to kernel architecture (64-bit)
    65		bitstr="$(gettext "(64-bit)")"
    66	    fi
    67	    # TRANSLATORS: it refers on the OS residing on device %s
    68	    onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
    69	        cat << EOF
    70	menuentry '$(echo "${LONGNAME} $bitstr $onstr" | grub_quote)' --class osx --class darwin --class os \$menuentry_id_option 'osprober-xnu-$2-$(grub_get_device_id "${DEVICE}")'  {
    71	EOF
    72		save_default_entry | grub_add_tab
    73		prepare_grub_to_access_device ${DEVICE} | grub_add_tab
    74		cat << EOF
    75	        load_video
    76	        set do_resume=0
    77	        if [ /var/vm/sleepimage -nt10 / ]; then
    78	           if xnu_resume /var/vm/sleepimage; then
    79	             set do_resume=1
    80	           fi
    81	        fi
    82	        if [ \$do_resume = 0 ]; then
    83	           xnu_uuid ${OSXUUID} uuid
    84	           if [ -f /Extra/DSDT.aml ]; then
    85	              acpi -e /Extra/DSDT.aml
    86	           fi
    87	           if [ /kernelcache -nt /System/Library/Extensions ]; then
    88	              $1 /kernelcache boot-uuid=\${uuid} rd=*uuid
    89	           elif [ -f /System/Library/Kernels/kernel ]; then
    90	              $1 /System/Library/Kernels/kernel boot-uuid=\${uuid} rd=*uuid
    91	              xnu_kextdir /System/Library/Extensions
    92	           else
    93	              $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
    94	              if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
    95	                xnu_mkext /System/Library/Extensions.mkext
    96	              else
    97	                xnu_kextdir /System/Library/Extensions
    98	              fi
    99	           fi
   100	           if [ -f /Extra/Extensions.mkext ]; then
   101	              xnu_mkext /Extra/Extensions.mkext
   102	           fi
   103	           if [ -d /Extra/Extensions ]; then
   104	              xnu_kextdir /Extra/Extensions
   105	           fi
   106	           if [ -f /Extra/devprop.bin ]; then
   107	              xnu_devprop_load /Extra/devprop.bin
   108	           fi
   109	           if [ -f /Extra/splash.jpg ]; then
   110	              insmod jpeg
   111	              xnu_splash /Extra/splash.jpg
   112	           fi
   113	           if [ -f /Extra/splash.png ]; then
   114	              insmod png
   115	              xnu_splash /Extra/splash.png
   116	           fi
   117	           if [ -f /Extra/splash.tga ]; then
   118	              insmod tga
   119	              xnu_splash /Extra/splash.tga
   120	           fi
   121	        fi
   122	}
   123	EOF
   124	}
   125	
   126	used_osprober_linux_ids=
   127	
   128	wubi=
   129	
   130	for OS in ${OSPROBED} ; do
   131	  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
   132	  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
   133	  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
   134	  BOOT="`echo ${OS} | cut -d ':' -f 4`"
   135	  if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then
   136	    EXPUUID="$UUID"
   137	
   138	    if [ x"${DEVICE#*@}" != x ] ; then
   139	      EXPUUID="${EXPUUID}@${DEVICE#*@}"
   140	    fi
   141	
   142	    if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" ] && [ "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then
   143	      echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2
   144	      continue
   145	    fi
   146	  fi
   147	
   148	  BTRFS="`echo ${OS} | cut -d ':' -f 5`"
   149	  if [ "x$BTRFS" = "xbtrfs" ]; then
   150		BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`"
   151		BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`"
   152	  fi
   153	
   154	  if [ -z "${LONGNAME}" ] ; then
   155	    LONGNAME="${LABEL}"
   156	  fi
   157	
   158	  # os-prober returns text string followed by optional counter
   159	  CLASS="--class $(echo "${LABEL}" | LC_ALL=C sed 's,[[:digit:]]*$,,' | cut -d' ' -f1 | tr 'A-Z' 'a-z' | LC_ALL=C sed 's,[^[:alnum:]_],_,g')"
   160	
   161	  gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2
   162	
   163	  case ${BOOT} in
   164	    chain)
   165	
   166	      case ${LONGNAME} in
   167		Windows*)
   168		  if [ -z "$wubi" ]; then
   169		    if [ -x /usr/share/lupin-support/grub-mkimage ] && \
   170		       /usr/share/lupin-support/grub-mkimage --test; then
   171		      wubi=yes
   172		    else
   173		      wubi=no
   174		    fi
   175		  fi
   176		  if [ "$wubi" = yes ]; then
   177		    echo "Skipping ${LONGNAME} on Wubi system" >&2
   178		    continue
   179		  fi
   180		  ;;
   181	      esac
   182	
   183	      found_other_os=1
   184		  onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   185	      cat << EOF
   186	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' {
   187	EOF
   188	      save_default_entry | grub_add_tab
   189	      prepare_grub_to_access_device ${DEVICE} | grub_add_tab
   190	
   191	      if [ x"`${grub_probe} --device ${DEVICE} --target=partmap`" = xmsdos ]; then
   192		  cat << EOF
   193		parttool \${root} hidden-
   194	EOF
   195	      fi
   196	
   197	      case ${LONGNAME} in
   198		Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*)
   199		;;
   200		*)
   201		  cat << EOF
   202		drivemap -s (hd0) \${root}
   203	EOF
   204		;;
   205	      esac
   206	
   207	      cat <<EOF
   208		chainloader +1
   209	}
   210	EOF
   211	    ;;
   212	    efi)
   213	
   214		found_other_os=1
   215		EFIPATH=${DEVICE#*@}
   216		DEVICE=${DEVICE%@*}
   217		onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   218	      cat << EOF
   219	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-efi-$(grub_get_device_id "${DEVICE}")' {
   220	EOF
   221	      save_default_entry | sed -e "s/^/\t/"
   222	      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
   223	
   224	      cat <<EOF
   225		chainloader ${EFIPATH}
   226	}
   227	EOF
   228	    ;;
   229	    linux)
   230	      if [ "x$BTRFS" = "xbtrfs" ]; then
   231	         LINUXPROBED="`linux-boot-prober btrfs ${BTRFSuuid} ${BTRFSsubvol}  2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
   232	      else
   233	         LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
   234	      fi
   235	      prepare_boot_cache=
   236	      boot_device_id=
   237	      is_top_level=true
   238	      title_correction_code=
   239	      OS="${LONGNAME}"
   240	
   241	      for LINUX in ${LINUXPROBED} ; do
   242	        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
   243	        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
   244	        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
   245	        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
   246	        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
   247	        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"
   248	
   249	        if [ -z "${LLABEL}" ] ; then
   250	          LLABEL="${LONGNAME}"
   251	        fi
   252	
   253		if [ "${LROOT}" != "${LBOOT}" ]; then
   254		  LKERNEL="${LKERNEL#/boot}"
   255		  LINITRD="${LINITRD#/boot}"
   256		fi
   257	
   258		if [ -z "${prepare_boot_cache}" ]; then
   259		  prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | grub_add_tab)"
   260		  [ "${prepare_boot_cache}" ] || continue
   261		fi
   262	
   263		found_other_os=1
   264		onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   265		recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
   266		counter=1
   267		while echo "$used_osprober_linux_ids" | grep 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id' > /dev/null; do
   268		    counter=$((counter+1));
   269		done
   270		if [ -z "$boot_device_id" ]; then
   271		    boot_device_id="$(grub_get_device_id "${DEVICE}")"
   272		fi
   273		used_osprober_linux_ids="$used_osprober_linux_ids 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id'"
   274	
   275		if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   276	            cat << EOF
   277	menuentry '$(echo "$OS $onstr" | grub_quote)' $CLASS --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
   278	EOF
   279		    save_default_entry | grub_add_tab
   280		    printf '%s\n' "${prepare_boot_cache}"
   281		    cat <<  EOF
   282		linux ${LKERNEL} ${LPARAMS}
   283	EOF
   284	            if [ -n "${LINITRD}" ] ; then
   285	          cat << EOF
   286		initrd ${LINITRD}
   287	EOF
   288	            fi
   289	        cat << EOF
   290	}
   291	EOF
   292		    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} $onstr" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {"
   293		    is_top_level=false
   294		fi
   295		title="${LLABEL} $onstr"
   296	        cat << EOF
   297		menuentry '$(echo "$title" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' {
   298	EOF
   299		save_default_entry | sed -e "s/^/$grub_tab$grub_tab/"
   300		printf '%s\n' "${prepare_boot_cache}" | grub_add_tab
   301		cat <<  EOF
   302			linux ${LKERNEL} ${LPARAMS}
   303	EOF
   304	        if [ -n "${LINITRD}" ] ; then
   305	            cat << EOF
   306			initrd ${LINITRD}
   307	EOF
   308	        fi
   309	        cat << EOF
   310		}
   311	EOF
   312		if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   313		    replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   314		    quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   315		    title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   316		    grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   317		fi
   318	      done
   319	      if [ x"$is_top_level" != xtrue ]; then
   320		  echo '}'
   321	      fi
   322	      echo "$title_correction_code"
   323	    ;;
   324	    macosx)
   325	      if [ "${UUID}" ]; then
   326		OSXUUID="${UUID}"
   327		osx_entry xnu_kernel 32
   328		osx_entry xnu_kernel64 64
   329	      fi
   330	    ;;
   331	    hurd)
   332	      found_other_os=1
   333	      onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
   334	      cat << EOF
   335	menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' {
   336	EOF
   337	      save_default_entry | grub_add_tab
   338	      prepare_grub_to_access_device ${DEVICE} | grub_add_tab
   339	      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
   340	      mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
   341	      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
   342	      case "${grub_fs}" in
   343		*fs)	hurd_fs="${grub_fs}" ;;
   344		*)	hurd_fs="${grub_fs}fs" ;;
   345	      esac
   346	      cat << EOF
   347		multiboot /boot/gnumach.gz root=device:${mach_device}
   348		module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
   349				--multiboot-command-line='\${kernel-command-line}' \\
   350				--host-priv-port='\${host-port}' \\
   351				--device-master-port='\${device-port}' \\
   352				--exec-server-task='\${exec-task}' -T typed '\${root}' \\
   353				'\$(task-create)' '\$(task-resume)'
   354		module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
   355	}
   356	EOF
   357	    ;;
   358	    minix)
   359		  cat << EOF
   360	menuentry "${LONGNAME} (on ${DEVICE}, Multiboot)" {
   361	EOF
   362	         save_default_entry | sed -e "s/^/\t/"
   363	         prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
   364		 cat << EOF
   365		multiboot /boot/image_latest
   366	}
   367	EOF
   368	    ;;
   369	    *)
   370	      # TRANSLATORS: %s is replaced by OS name.
   371	      gettext_printf "%s is not yet supported by grub-mkconfig.\n" "  ${LONGNAME}" >&2
   372	    ;;
   373	  esac
   374	done
   375	
   376	adjust_timeout

/etc/grub.d/30_uefi-firmware

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2012  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	
    24	export TEXTDOMAIN=grub
    25	export TEXTDOMAINDIR="${datarootdir}/locale"
    26	
    27	. "${datarootdir}/grub/grub-mkconfig_lib"
    28	
    29	efi_vars_dir=/sys/firmware/efi/vars
    30	EFI_GLOBAL_VARIABLE=8be4df61-93ca-11d2-aa0d-00e098032b8c
    31	OsIndications="$efi_vars_dir/OsIndicationsSupported-$EFI_GLOBAL_VARIABLE/data"
    32	
    33	if [ -e "$OsIndications" ] && \
    34	   [ "$(( $(printf 0x%x \'"$(cat $OsIndications | cut -b1)") & 1 ))" = 1 ]; then
    35	  LABEL="System setup"
    36	
    37	  gettext_printf "Adding boot menu entry for EFI firmware configuration\n" >&2
    38	
    39	  onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
    40	
    41	  cat << EOF
    42	menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
    43		fwsetup
    44	}
    45	EOF
    46	fi

/etc/grub.d/.script_sources.txt


/etc/grub.d/20_memtest86+

     1	#!/bin/sh
     2	set -e
     3	
     4	if [ -f /usr/lib/grub/grub-mkconfig_lib ]; then
     5	  . /usr/lib/grub/grub-mkconfig_lib
     6	  LX=linux16
     7	elif [ -f /usr/lib/grub/update-grub_lib ]; then
     8	  . /usr/lib/grub/update-grub_lib
     9	  LX=linux
    10	else
    11	  # no grub file, so we notify and exit gracefully
    12	  echo "Cannot find grub config file, exiting." >&2
    13	  exit 0
    14	fi
    15	
    16	# We need 16-bit boot, which isn't available on EFI.
    17	if [ -d /sys/firmware/efi ]; then
    18	  exit 0
    19	fi
    20	
    21	# We can't cope with loop-mounted devices here.
    22	case ${GRUB_DEVICE_BOOT} in
    23	  /dev/loop/*|/dev/loop[0-9]) exit 0 ;;
    24	esac
    25	
    26	export TEXTDOMAIN=memtest86+
    27	
    28	prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
    29	
    30	if test -e /boot/memtest86+.elf ; then
    31	  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.elf" )
    32	  echo "Found memtest86+ image: $MEMTESTPATH" >&2
    33	  cat << EOF
    34	menuentry '$(gettext_printf "Memory test (memtest86+)")' {
    35	EOF
    36	  printf '%s\n' "${prepare_boot_cache}"
    37	  cat << EOF
    38		knetbsd	$MEMTESTPATH
    39	}
    40	EOF
    41	fi
    42	
    43	if test -e /boot/memtest86+.bin ; then
    44	  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" )
    45	  echo "Found memtest86+ image: $MEMTESTPATH" >&2
    46	  cat << EOF
    47	menuentry '$(gettext_printf "Memory test (memtest86+, serial console 115200)")' {
    48	EOF
    49	  printf '%s\n' "${prepare_boot_cache}"
    50	  cat << EOF
    51		$LX	$MEMTESTPATH console=ttyS0,115200n8
    52	}
    53	EOF
    54	fi
    55	
    56	#if test -e /boot/memtest86+_multiboot.bin ; then
    57	#  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+_multiboot.bin" )
    58	#  echo "Found memtest86+ multiboot image: $MEMTESTPATH" >&2
    59	#  cat << EOF
    60	#menuentry '$(gettext_printf "Memory test (memtest86+, experimental multiboot)")' {
    61	#EOF
    62	#  printf '%s\n' "${prepare_boot_cache}"
    63	#  cat << EOF
    64	#	multiboot	$MEMTESTPATH
    65	#}
    66	#menuentry '$(gettext_printf "Memory test (memtest86+, serial console 115200, experimental multiboot)")' {
    67	#EOF
    68	#  printf '%s\n' "${prepare_boot_cache}"
    69	#  cat << EOF
    70	#	multiboot	$MEMTESTPATH console=ttyS0,115200n8
    71	#}
    72	#EOF
    73	#fi

/etc/grub.d/00_header

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	grub_lang=`echo $LANG | cut -d . -f 1`
    24	grubdir="`echo "/boot/grub" | sed 's,//*,/,g'`"
    25	quick_boot="1"
    26	
    27	export TEXTDOMAIN=grub
    28	export TEXTDOMAINDIR="${datarootdir}/locale"
    29	
    30	. "$pkgdatadir/grub-mkconfig_lib"
    31	
    32	# Do this as early as possible, since other commands might depend on it.
    33	# (e.g. the `loadfont' command might need lvm or raid modules)
    34	for i in ${GRUB_PRELOAD_MODULES} ; do
    35	  echo "insmod $i"
    36	done
    37	
    38	if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
    39	if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
    40	if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
    41	if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=auto ; fi
    42	
    43	if [ "x${GRUB_DEFAULT_BUTTON}" = "x" ] ; then GRUB_DEFAULT_BUTTON="$GRUB_DEFAULT" ; fi
    44	if [ "x${GRUB_DEFAULT_BUTTON}" = "xsaved" ] ; then GRUB_DEFAULT_BUTTON='${saved_entry}' ; fi
    45	if [ "x${GRUB_TIMEOUT_BUTTON}" = "x" ] ; then GRUB_TIMEOUT_BUTTON="$GRUB_TIMEOUT" ; fi
    46	
    47	cat << EOF
    48	if [ -s \$prefix/grubenv ]; then
    49	  set have_grubenv=true
    50	  load_env
    51	fi
    52	EOF
    53	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    54	    cat <<EOF
    55	if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
    56	   set default="${GRUB_DEFAULT_BUTTON}"
    57	elif [ "\${next_entry}" ] ; then
    58	   set default="\${next_entry}"
    59	   set next_entry=
    60	   save_env next_entry
    61	   set boot_once=true
    62	else
    63	   set default="${GRUB_DEFAULT}"
    64	fi
    65	EOF
    66	else
    67	    cat <<EOF
    68	if [ "\${next_entry}" ] ; then
    69	   set default="\${next_entry}"
    70	   set next_entry=
    71	   save_env next_entry
    72	   set boot_once=true
    73	else
    74	   set default="${GRUB_DEFAULT}"
    75	fi
    76	EOF
    77	fi
    78	cat <<EOF
    79	
    80	if [ x"\${feature_menuentry_id}" = xy ]; then
    81	  menuentry_id_option="--id"
    82	else
    83	  menuentry_id_option=""
    84	fi
    85	
    86	export menuentry_id_option
    87	
    88	if [ "\${prev_saved_entry}" ]; then
    89	  set saved_entry="\${prev_saved_entry}"
    90	  save_env saved_entry
    91	  set prev_saved_entry=
    92	  save_env prev_saved_entry
    93	  set boot_once=true
    94	fi
    95	
    96	function savedefault {
    97	  if [ -z "\${boot_once}" ]; then
    98	    saved_entry="\${chosen}"
    99	    save_env saved_entry
   100	  fi
   101	}
   102	EOF
   103	
   104	if [ "$quick_boot" = 1 ]; then
   105	    cat <<EOF
   106	function recordfail {
   107	  set recordfail=1
   108	EOF
   109	
   110	  check_writable () {
   111	    abstractions="$(grub-probe --target=abstraction "${grubdir}")"
   112	    for abstraction in $abstractions; do
   113	      case "$abstraction" in
   114	        diskfilter | lvm)
   115	          cat <<EOF
   116	  # GRUB lacks write support for $abstraction, so recordfail support is disabled.
   117	EOF
   118	          return
   119	          ;;
   120	      esac
   121	    done
   122	
   123	    FS="$(grub-probe --target=fs "${grubdir}")"
   124	    case "$FS" in
   125	      btrfs | cpiofs | newc | odc | romfs | squash4 | tarfs | zfs)
   126		cat <<EOF
   127	  # GRUB lacks write support for $FS, so recordfail support is disabled.
   128	EOF
   129		return
   130		;;
   131	    esac
   132	
   133	    cat <<EOF
   134	  if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
   135	EOF
   136	  }
   137	
   138	  check_writable
   139	
   140	  cat <<EOF
   141	}
   142	EOF
   143	fi
   144	
   145	cat <<EOF
   146	function load_video {
   147	EOF
   148	if [ -n "${GRUB_VIDEO_BACKEND}" ]; then
   149	    cat <<EOF
   150	  insmod ${GRUB_VIDEO_BACKEND}
   151	EOF
   152	else
   153	# If all_video.mod isn't available load all modules available
   154	# with versions prior to introduction of all_video.mod
   155	cat <<EOF
   156	  if [ x\$feature_all_video_module = xy ]; then
   157	    insmod all_video
   158	  else
   159	    insmod efi_gop
   160	    insmod efi_uga
   161	    insmod ieee1275_fb
   162	    insmod vbe
   163	    insmod vga
   164	    insmod video_bochs
   165	    insmod video_cirrus
   166	  fi
   167	EOF
   168	fi
   169	cat <<EOF
   170	}
   171	
   172	EOF
   173	
   174	serial=0;
   175	gfxterm=0;
   176	for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
   177	    if [ xserial = "x$x" ]; then
   178		serial=1;
   179	    fi
   180	    if [ xgfxterm = "x$x" ]; then
   181		gfxterm=1;
   182	    fi
   183	done
   184	
   185	if [ "x$serial" = x1 ]; then
   186	    if [ "x${GRUB_SERIAL_COMMAND}" = "x" ] ; then
   187		grub_warn "$(gettext "Requested serial terminal but GRUB_SERIAL_COMMAND is unspecified. Default parameters will be used.")"
   188		GRUB_SERIAL_COMMAND=serial
   189	    fi
   190	    echo "${GRUB_SERIAL_COMMAND}"
   191	fi
   192	
   193	if [ "x$gfxterm" = x1 ]; then
   194	    if [ -n "$GRUB_FONT" ] ; then
   195	       # Make the font accessible
   196	       prepare_grub_to_access_device `${grub_probe} --target=device "${GRUB_FONT}"`
   197	    cat << EOF
   198	if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT}"` ; then
   199	EOF
   200	    else
   201		for dir in "${pkgdatadir}" "`echo '/boot/grub' | sed "s,//*,/,g"`" /usr/share/grub ; do
   202		    for basename in unicode unifont ascii; do
   203			path="${dir}/${basename}.pf2"
   204			if is_path_readable_by_grub "${path}" > /dev/null ; then
   205			    font_path="${path}"
   206			else
   207			    continue
   208			fi
   209			break 2
   210		    done
   211		done
   212		if [ -n "${font_path}" ] ; then
   213	    cat << EOF
   214	if [ x\$feature_default_font_path = xy ] ; then
   215	   font=unicode
   216	else
   217	EOF
   218	                # Make the font accessible
   219			prepare_grub_to_access_device `${grub_probe} --target=device "${font_path}"`
   220	    cat << EOF
   221	    font="`make_system_path_relative_to_its_root "${font_path}"`"
   222	fi
   223	
   224	if loadfont \$font ; then
   225	EOF
   226		    else
   227	    cat << EOF
   228	if loadfont unicode ; then
   229	EOF
   230		    fi
   231		fi
   232	
   233	    cat << EOF
   234	  set gfxmode=${GRUB_GFXMODE}
   235	  load_video
   236	  insmod gfxterm
   237	EOF
   238	
   239	# Gettext variables and module
   240	if [ "x${LANG}" != "xC" ] &&  [ "x${LANG}" != "x" ]; then
   241	  cat << EOF
   242	  set locale_dir=\$prefix/locale
   243	  set lang=${grub_lang}
   244	  insmod gettext
   245	EOF
   246	fi
   247	
   248	cat <<EOF
   249	fi
   250	EOF
   251	fi
   252	
   253	case x${GRUB_TERMINAL_INPUT} in
   254	  x)
   255	    # Just use the native terminal
   256	  ;;
   257	  x*)
   258	    cat << EOF
   259	terminal_input ${GRUB_TERMINAL_INPUT}
   260	EOF
   261	  ;;
   262	esac
   263	
   264	case x${GRUB_TERMINAL_OUTPUT} in
   265	  x)
   266	    # Just use the native terminal
   267	  ;;
   268	  x*)
   269	    cat << EOF
   270	terminal_output ${GRUB_TERMINAL_OUTPUT}
   271	EOF
   272	  ;;
   273	esac
   274	
   275	if [ "x$gfxterm" = x1 ]; then
   276	    if [ "x$GRUB_THEME" != x ] && [ -f "$GRUB_THEME" ] \
   277		&& is_path_readable_by_grub "$GRUB_THEME"; then
   278		gettext_printf "Found theme: %s\n" "$GRUB_THEME" >&2
   279	
   280		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_THEME"`
   281		cat << EOF
   282	insmod gfxmenu
   283	EOF
   284		themedir="`dirname "$GRUB_THEME"`"
   285		for x in "$themedir"/*.pf2 "$themedir"/f/*.pf2; do
   286		    if [ -f "$x" ]; then
   287			cat << EOF
   288	loadfont (\$root)`make_system_path_relative_to_its_root $x`
   289	EOF
   290		    fi
   291		done
   292		if [ x"`echo "$themedir"/*.jpg`" != x"$themedir/*.jpg" ] || [ x"`echo "$themedir"/*.jpeg`" != x"$themedir/*.jpeg" ]; then
   293		    cat << EOF
   294	insmod jpeg
   295	EOF
   296		fi
   297		if [ x"`echo "$themedir"/*.png`" != x"$themedir/*.png" ]; then
   298		    cat << EOF
   299	insmod png
   300	EOF
   301		fi
   302		if [ x"`echo "$themedir"/*.tga`" != x"$themedir/*.tga" ]; then
   303		    cat << EOF
   304	insmod tga
   305	EOF
   306		fi
   307		    
   308		cat << EOF
   309	set theme=(\$root)`make_system_path_relative_to_its_root $GRUB_THEME`
   310	export theme
   311	EOF
   312	    elif [ "x$GRUB_BACKGROUND" != x ] && [ -f "$GRUB_BACKGROUND" ] \
   313		    && is_path_readable_by_grub "$GRUB_BACKGROUND"; then
   314		gettext_printf "Found background: %s\n" "$GRUB_BACKGROUND" >&2
   315		case "$GRUB_BACKGROUND" in 
   316		    *.png)         reader=png ;;
   317		    *.tga)         reader=tga ;;
   318		    *.jpg|*.jpeg)  reader=jpeg ;;
   319		    *)             gettext "Unsupported image format" >&2; echo >&2; exit 1 ;;
   320		esac
   321		prepare_grub_to_access_device `${grub_probe} --target=device "$GRUB_BACKGROUND"`
   322		cat << EOF
   323	insmod $reader
   324	background_image -m stretch `make_system_path_relative_to_its_root "$GRUB_BACKGROUND"`
   325	EOF
   326	    fi
   327	fi
   328	
   329	make_timeout ()
   330	{
   331	    cat << EOF
   332	if [ "\${recordfail}" = 1 ] ; then
   333	  set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
   334	else
   335	EOF
   336	    if [ "x${3}" != "x" ] ; then
   337		timeout="${2}"
   338		style="${3}"
   339	    elif [ "x${1}" != "x" ] && \
   340		 ([ "$quick_boot" = 1 ] || [ "x${1}" != "x0" ]) ; then
   341		# Handle the deprecated GRUB_HIDDEN_TIMEOUT scheme.
   342		timeout="${1}"
   343		if [ "x${2}" != "x0" ] ; then
   344		    grub_warn "$(gettext "Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.")"
   345		fi
   346		if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
   347		    style="hidden"
   348		    verbose=
   349		else
   350		    style="countdown"
   351		    verbose=" --verbose"
   352		fi
   353	    else
   354		# No hidden timeout, so treat as GRUB_TIMEOUT_STYLE=menu
   355		timeout="${2}"
   356		style="menu"
   357	    fi
   358	    cat << EOF
   359	  if [ x\$feature_timeout_style = xy ] ; then
   360	    set timeout_style=${style}
   361	    set timeout=${timeout}
   362	EOF
   363	    if [ "x${style}" = "xmenu" ] ; then
   364		cat << EOF
   365	  # Fallback normal timeout code in case the timeout_style feature is
   366	  # unavailable.
   367	  else
   368	    set timeout=${timeout}
   369	EOF
   370	    else
   371		cat << EOF
   372	  # Fallback hidden-timeout code in case the timeout_style feature is
   373	  # unavailable.
   374	  elif sleep${verbose} --interruptible ${timeout} ; then
   375	    set timeout=0
   376	EOF
   377	    fi
   378	    cat << EOF
   379	  fi
   380	fi
   381	EOF
   382	}
   383	
   384	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
   385	    cat <<EOF
   386	if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
   387	EOF
   388	make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_STYLE_BUTTON}"
   389	echo else
   390	make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
   391	echo fi
   392	else
   393	make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}" "${GRUB_TIMEOUT_STYLE}"
   394	fi
   395	
   396	if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ] && [ "x$GRUB_BUTTON_CMOS_CLEAN" = "xyes" ]; then
   397	    cat <<EOF
   398	cmosclean $GRUB_BUTTON_CMOS_ADDRESS
   399	EOF
   400	fi
   401	
   402	# Play an initial tune
   403	if [ "x${GRUB_INIT_TUNE}" != "x" ] ; then
   404	  echo "play ${GRUB_INIT_TUNE}"
   405	fi
   406	
   407	if [ "x${GRUB_BADRAM}" != "x" ] ; then
   408	  echo "badram ${GRUB_BADRAM}"
   409	fi

/etc/grub.d/10_linux

     1	#! /bin/sh
     2	set -e
     3	
     4	# grub-mkconfig helper script.
     5	# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
     6	#
     7	# GRUB is free software: you can redistribute it and/or modify
     8	# it under the terms of the GNU General Public License as published by
     9	# the Free Software Foundation, either version 3 of the License, or
    10	# (at your option) any later version.
    11	#
    12	# GRUB is distributed in the hope that it will be useful,
    13	# but WITHOUT ANY WARRANTY; without even the implied warranty of
    14	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15	# GNU General Public License for more details.
    16	#
    17	# You should have received a copy of the GNU General Public License
    18	# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
    19	
    20	prefix="/usr"
    21	exec_prefix="/usr"
    22	datarootdir="/usr/share"
    23	ubuntu_recovery="1"
    24	quiet_boot="1"
    25	quick_boot="1"
    26	gfxpayload_dynamic="1"
    27	vt_handoff="1"
    28	
    29	. "$pkgdatadir/grub-mkconfig_lib"
    30	
    31	export TEXTDOMAIN=grub
    32	export TEXTDOMAINDIR="${datarootdir}/locale"
    33	
    34	CLASS="--class gnu-linux --class gnu --class os"
    35	SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"
    36	
    37	if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
    38	  OS=GNU/Linux
    39	else
    40	  case ${GRUB_DISTRIBUTOR} in
    41	    Ubuntu|Kubuntu)
    42	      OS="${GRUB_DISTRIBUTOR}"
    43	      ;;
    44	    *)
    45	      OS="${GRUB_DISTRIBUTOR} GNU/Linux"
    46	      ;;
    47	  esac
    48	  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
    49	fi
    50	
    51	# loop-AES arranges things so that /dev/loop/X can be our root device, but
    52	# the initrds that Linux uses don't like that.
    53	case ${GRUB_DEVICE} in
    54	  /dev/loop/*|/dev/loop[0-9])
    55	    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    56	    # We can't cope with devices loop-mounted from files here.
    57	    case ${GRUB_DEVICE} in
    58	      /dev/*) ;;
    59	      *) exit 0 ;;
    60	    esac
    61	  ;;
    62	esac
    63	
    64	# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
    65	# and mounting btrfs requires user space scanning, so force UUID in this case.
    66	if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    67	    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    68	    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
    69	  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
    70	else
    71	  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
    72	fi
    73	
    74	case x"$GRUB_FS" in
    75	    xbtrfs)
    76		rootsubvol="`make_system_path_relative_to_its_root /`"
    77		rootsubvol="${rootsubvol#/}"
    78		if [ "x${rootsubvol}" != x ]; then
    79		    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
    80		fi;;
    81	    xzfs)
    82		rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
    83		bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
    84		LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
    85		;;
    86	esac
    87	
    88	title_correction_code=
    89	
    90	if [ -x /lib/recovery-mode/recovery-menu ]; then
    91	    GRUB_CMDLINE_LINUX_RECOVERY=recovery
    92	else
    93	    GRUB_CMDLINE_LINUX_RECOVERY=single
    94	fi
    95	if [ "$ubuntu_recovery" = 1 ]; then
    96	    GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset"
    97	fi
    98	
    99	if [ "$vt_handoff" = 1 ]; then
   100	  for word in $GRUB_CMDLINE_LINUX_DEFAULT; do
   101	    if [ "$word" = splash ]; then
   102	      GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \$vt_handoff"
   103	    fi
   104	  done
   105	fi
   106	
   107	linux_entry ()
   108	{
   109	  os="$1"
   110	  version="$2"
   111	  type="$3"
   112	  args="$4"
   113	
   114	  if [ -z "$boot_device_id" ]; then
   115	      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   116	  fi
   117	  if [ x$type != xsimple ] ; then
   118	      case $type in
   119		  recovery)
   120		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;;
   121		  init-*)
   122		      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;;
   123		  *)
   124		      title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
   125	      esac
   126	      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
   127		  replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
   128		  quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
   129		  title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
   130		  grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
   131	      fi
   132	      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   133	  else
   134	      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
   135	  fi      
   136	  if [ "$quick_boot" = 1 ]; then
   137	      echo "	recordfail" | sed "s/^/$submenu_indentation/"
   138	  fi
   139	  if [ x$type != xrecovery ] ; then
   140	      save_default_entry | grub_add_tab
   141	  fi
   142	
   143	  # Use ELILO's generic "efifb" when it's known to be available.
   144	  # FIXME: We need an interface to select vesafb in case efifb can't be used.
   145	  if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
   146	      echo "	load_video" | sed "s/^/$submenu_indentation/"
   147	  else
   148	      if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
   149		  echo "	load_video" | sed "s/^/$submenu_indentation/"
   150	      fi
   151	  fi
   152	  if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
   153	     ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
   154	      echo "	gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
   155	  fi
   156	
   157	  echo "	insmod gzio" | sed "s/^/$submenu_indentation/"
   158	  echo "	if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/"
   159	
   160	  if [ x$dirname = x/ ]; then
   161	    if [ -z "${prepare_root_cache}" ]; then
   162	      prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | grub_add_tab)"
   163	    fi
   164	    printf '%s\n' "${prepare_root_cache}" | sed "s/^/$submenu_indentation/"
   165	  else
   166	    if [ -z "${prepare_boot_cache}" ]; then
   167	      prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
   168	    fi
   169	    printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
   170	  fi
   171	  if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   172	    message="$(gettext_printf "Loading Linux %s ..." ${version})"
   173	    sed "s/^/$submenu_indentation/" << EOF
   174		echo	'$(echo "$message" | grub_quote)'
   175	EOF
   176	  fi
   177	  if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
   178	    sed "s/^/$submenu_indentation/" << EOF
   179		linux	${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
   180	EOF
   181	  else
   182	    if [ x"$GRUB_FORCE_PARTUUID" = x ]; then
   183	        sed "s/^/$submenu_indentation/" << EOF
   184	        linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
   185	EOF
   186	    else
   187	        sed "s/^/$submenu_indentation/" << EOF
   188	        linux	${rel_dirname}/${basename} root=PARTUUID=${GRUB_FORCE_PARTUUID} ro ${args}
   189	EOF
   190	    fi
   191	  fi
   192	  if test -n "${initrd}" && [ x"$GRUB_DISABLE_INITRD" != xtrue ]; then
   193	    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
   194	    if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
   195	      message="$(gettext_printf "Loading initial ramdisk ...")"
   196	      sed "s/^/$submenu_indentation/" << EOF
   197		echo	'$(echo "$message" | grub_quote)'
   198	EOF
   199	    fi
   200	    sed "s/^/$submenu_indentation/" << EOF
   201		initrd	${rel_dirname}/${initrd}
   202	EOF
   203	  fi
   204	  sed "s/^/$submenu_indentation/" << EOF
   205	}
   206	EOF
   207	}
   208	
   209	machine=`uname -m`
   210	case "x$machine" in
   211	    xi?86 | xx86_64)
   212		list=
   213		for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
   214		    if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   215		done ;;
   216	    *) 
   217		list=
   218		for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
   219	                  if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
   220		done ;;
   221	esac
   222	
   223	case "$machine" in
   224	    i?86) GENKERNEL_ARCH="x86" ;;
   225	    mips|mips64) GENKERNEL_ARCH="mips" ;;
   226	    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
   227	    arm*) GENKERNEL_ARCH="arm" ;;
   228	    *) GENKERNEL_ARCH="$machine" ;;
   229	esac
   230	
   231	prepare_boot_cache=
   232	prepare_root_cache=
   233	boot_device_id=
   234	title_correction_code=
   235	
   236	cat << 'EOF'
   237	function gfxmode {
   238		set gfxpayload="${1}"
   239	EOF
   240	if [ "$vt_handoff" = 1 ]; then
   241	  cat << 'EOF'
   242		if [ "${1}" = "keep" ]; then
   243			set vt_handoff=vt.handoff=1
   244		else
   245			set vt_handoff=
   246		fi
   247	EOF
   248	fi
   249	cat << EOF
   250	}
   251	EOF
   252	
   253	# Use ELILO's generic "efifb" when it's known to be available.
   254	# FIXME: We need an interface to select vesafb in case efifb can't be used.
   255	if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 0 ]; then
   256	  echo "set linux_gfx_mode=$GRUB_GFXPAYLOAD_LINUX"
   257	else
   258	  cat << EOF
   259	if [ "\${recordfail}" != 1 ]; then
   260	  if [ -e \${prefix}/gfxblacklist.txt ]; then
   261	    if hwmatch \${prefix}/gfxblacklist.txt 3; then
   262	      if [ \${match} = 0 ]; then
   263	        set linux_gfx_mode=keep
   264	      else
   265	        set linux_gfx_mode=text
   266	      fi
   267	    else
   268	      set linux_gfx_mode=text
   269	    fi
   270	  else
   271	    set linux_gfx_mode=keep
   272	  fi
   273	else
   274	  set linux_gfx_mode=text
   275	fi
   276	EOF
   277	fi
   278	cat << EOF
   279	export linux_gfx_mode
   280	EOF
   281	
   282	# Extra indentation to add to menu entries in a submenu. We're not in a submenu
   283	# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
   284	submenu_indentation=""
   285	
   286	is_top_level=true
   287	while [ "x$list" != "x" ] ; do
   288	  linux=`version_find_latest $list`
   289	  case $linux in
   290	    *.efi.signed)
   291	      # We handle these in linux_entry.
   292	      list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
   293	      continue
   294	      ;;
   295	  esac
   296	  gettext_printf "Found linux image: %s\n" "$linux" >&2
   297	  basename=`basename $linux`
   298	  dirname=`dirname $linux`
   299	  rel_dirname=`make_system_path_relative_to_its_root $dirname`
   300	  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   301	  alt_version=`echo $version | sed -e "s,\.old$,,g"`
   302	  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
   303	
   304	  initrd=
   305	  for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
   306		   "initrd-${version}" "initramfs-${version}.img" \
   307		   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
   308		   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
   309		   "initramfs-genkernel-${version}" \
   310		   "initramfs-genkernel-${alt_version}" \
   311		   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
   312		   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
   313	    if test -e "${dirname}/${i}" ; then
   314	      initrd="$i"
   315	      break
   316	    fi
   317	  done
   318	
   319	  config=
   320	  for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
   321	    if test -e "${i}" ; then
   322	      config="${i}"
   323	      break
   324	    fi
   325	  done
   326	
   327	  initramfs=
   328	  if test -n "${config}" ; then
   329	      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
   330	  fi
   331	
   332	  if test -n "${initrd}" ; then
   333	    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
   334	  elif test -z "${initramfs}" ; then
   335	    # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
   336	    # no initrd or builtin initramfs, it can't work here.
   337	    linux_root_device_thisversion=${GRUB_DEVICE}
   338	  fi
   339	
   340	  if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
   341	    linux_entry "${OS}" "${version}" simple \
   342	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   343	
   344	    submenu_indentation="$grub_tab"
   345	    
   346	    if [ -z "$boot_device_id" ]; then
   347		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
   348	    fi
   349	    # TRANSLATORS: %s is replaced with an OS name
   350	    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
   351	    is_top_level=false
   352	  fi
   353	
   354	  linux_entry "${OS}" "${version}" advanced \
   355	              "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
   356	  for supported_init in ${SUPPORTED_INITS}; do
   357	    init_path="${supported_init#*:}"
   358	    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
   359	      linux_entry "${OS}" "${version}" "init-${supported_init%%:*}" \
   360			  "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}"
   361	    fi
   362	  done
   363	  if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
   364	    linux_entry "${OS}" "${version}" recovery \
   365	                "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
   366	  fi
   367	
   368	  list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
   369	done
   370	
   371	# If at least one kernel was found, then we need to
   372	# add a closing '}' for the submenu command.
   373	if [ x"$is_top_level" != xtrue ]; then
   374	  echo '}'
   375	fi
   376	
   377	echo "$title_correction_code"

/etc/grub.d/40_custom

     1	#!/bin/sh
     2	exec tail -n +3 $0
     3	# This file provides an easy way to add custom menu entries.  Simply type the
     4	# menu entries you want to add after this comment.  Be careful not to change
     5	# the 'exec tail' line above.

/etc/grub.d/41_custom

     1	#!/bin/sh
     2	cat <<EOF
     3	if [ -f  \${config_directory}/custom.cfg ]; then
     4	  source \${config_directory}/custom.cfg
     5	elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
     6	  source \$prefix/custom.cfg;
     7	fi
     8	EOF
     9	
michael@MicaPortable:/etc/grub.d$ 

Effectivement je me doutai que j'avais mis le boxon dans mon ordinateur.

Merci de m'aider à y voir plus clair.

Hors ligne

#7 Le 10/12/2018, à 17:52

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Bonjour,

MKL31 a écrit :

Merci pour tes retours.

Je suis toujours heureuse d'aider à remettre un système sur pieds smile

Je pensai, voulais, poster l'ensemble du retour de la commande. Raté.

Le retour était tellement long que tu n'as eu que la fin de la dernière commande.

Voici donc le retour de

Apparemment tout s'est bien passé et tu te retrouve avec un dossier /etc/grub.d/ tout-à-fait normal.

Effectivement je me doutai que j'avais mis le boxon dans mon ordinateur.

Je me demande bien comment tu as pu faire, mais certainement en suivant des tutos plus ou moins pourris à gauche et à droite wink

Maintenant que tes fichiers de configuration de GRUB ont pris une allure plus normale (mais je ne garantis pas qu'il n'y a pas d'erreur dans ceux qui restent, je n'en sais pas assez sur la question), on peut s'occuper de ce qui a motivé ta demande : libérer de la place pour faire les mises à jour.

Donne les retours complets de :

uname -a
df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop"; echo ; df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop"
dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" | sort -k3 | tr -s " " | cut -d" " -s -f1,2,3 | column -s" " -t
ls -AsS1 /boot

cqfd93

Hors ligne

#8 Le 10/12/2018, à 18:24

LukePerp

Re : [RESOLU]Probleme de mise à niveau partielle

Pour ma culture, comment interpréter le retour des Inodes de df ?


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#9 Le 10/12/2018, à 18:50

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Une partition peut être déclarée comme pleine à cause du volume trop important utilisé visible avec df -h ou du trop grand nombre de fichiers visible avec df -i.

Quand il y a une partition /boot séparée, c'est généralement elle qui sature par le volume des fichiers (/boot est généralement toute petite, de 230 Mo à 512 Mo, très rarement plus) et elle ne peut contenir qu'une petite poignée de noyaux.

Quand /boot n'est pas séparée, les deux cas peuvent se produire mais quand il y a beaucoup de vieux noyaux, c'est le dossier /usr/src/ qui contient plein de dossiers, deux par noyau, les deux dossiers de chaque noyau contenant plus de 25 000 fichiers. Si / est plutôt petite, le nombre total d'inodes disponible est plutôt petit et plusieurs dizaines de vieux noyaux ont vite fait de bouffer tout ce qui reste.


cqfd93

Hors ligne

#10 Le 10/12/2018, à 19:27

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Salut,

Voici le retour de la commande:

michael@MicaPortable:~$ uname -a
Linux MicaPortable 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
michael@MicaPortable:~$ df -Th | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop"; echo ; df -Ti | grep -Ev "devpts|none|proc|sys|tmpfs|udev|loop"
Sys. de fichiers Type     Taille Utilisé Dispo Uti% Monté sur
/dev/sda2        ext4        20G     15G  3,8G  80% /
/dev/sda4        ext4       405G    103G  282G  27% /home

Sys. de fichiers Type       Inœuds IUtil.   ILibre IUti% Monté sur
/dev/sda2        ext4      1281120 371370   909750   29% /
/dev/sda4        ext4     26943488 109275 26834213    1% /home
michael@MicaPortable:~$ dpkg -l | grep -Ei "linux-(g|h|i|lo|si|t)" | sort -k3 | tr -s " " | cut -d" " -s -f1,2,3 | column -s" " -t
ii  binutils-x86-64-linux-gnu        2.30-21ubuntu1~18.04
ii  linux-headers-4.15.0-22          4.15.0-22.24
ii  linux-headers-4.15.0-22-generic  4.15.0-22.24
iH  linux-image-4.15.0-22-generic    4.15.0-22.24
pH  linux-image-4.15.0-32-generic    4.15.0-32.35
iH  linux-image-4.15.0-33-generic    4.15.0-33.36
ii  linux-headers-4.15.0-34          4.15.0-34.37
ii  linux-headers-4.15.0-34-generic  4.15.0-34.37
iF  linux-image-4.15.0-34-generic    4.15.0-34.37
ii  linux-generic                    4.15.0.42.44
ii  linux-headers-generic            4.15.0.42.44
ii  linux-image-generic              4.15.0.42.44
ii  linux-headers-4.15.0-42          4.15.0-42.45
ii  linux-headers-4.15.0-42-generic  4.15.0-42.45
iF  linux-image-4.15.0-42-generic    4.15.0-42.45
michael@MicaPortable:~$ ls -AsS1 /boot
total 153456
54212 initrd.img-4.15.0-42-generic
54200 initrd.img-4.15.0-34-generic
 8084 vmlinuz-4.15.0-42-generic
 8076 vmlinuz-4.15.0-34-generic
 3956 System.map-4.15.0-42-generic
 3952 System.map-4.15.0-34-generic
 3948 System.map-4.15.0-32-generic
 3948 System.map-4.15.0-33-generic
 3948 System.map-4.15.0-22-generic
 1504 abi-4.15.0-42-generic
 1504 abi-4.15.0-34-generic
 1504 abi-4.15.0-32-generic
 1504 abi-4.15.0-33-generic
 1504 abi-4.15.0-22-generic
  212 config-4.15.0-42-generic
  212 config-4.15.0-33-generic
  212 config-4.15.0-34-generic
  212 config-4.15.0-32-generic
  212 config-4.15.0-22-generic
  184 memtest86+_multiboot.bin
  184 memtest86+.elf
  180 memtest86+.bin
    4 grub
    0 retpoline-4.15.0-22-generic
    0 retpoline-4.15.0-32-generic
    0 retpoline-4.15.0-33-generic
    0 retpoline-4.15.0-34-generic
    0 retpoline-4.15.0-42-generic
michael@MicaPortable:~$ 

J'ai effectivement suivis plusieurs tuto, mais j'ai aussi récemment réinstallé mon système en conservant le home de l'ancien. Ça peut avoir un lien?

Hors ligne

#11 Le 10/12/2018, à 19:35

LukePerp

Re : [RESOLU]Probleme de mise à niveau partielle

J'ai l'impression qu'il n'y a pas de problème d'espace disque. Si je me trompe, je suis curieux de savoir comment l'identifier.


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#12 Le 10/12/2018, à 19:46

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Merci Luke!

Hors ligne

#13 Le 10/12/2018, à 19:53

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

LukePerp a écrit :

J'ai l'impression qu'il n'y a pas de problème d'espace disque. Si je me trompe, je suis curieux de savoir comment l'identifier.

Non il n'y a pas de problème d'espace disque ni d'inodes, juste des paquets à moitié installés ou configurés. Voir ces lignes :

iH  linux-image-4.15.0-22-generic    4.15.0-22.24
pH  linux-image-4.15.0-32-generic    4.15.0-32.35
iH  linux-image-4.15.0-33-generic    4.15.0-33.36
iF  linux-image-4.15.0-34-generic    4.15.0-34.37
iF  linux-image-4.15.0-42-generic    4.15.0-42.45

i : installé
p : purgé ou à purger
H : à moitié installé (l'installation a échoué)
F : à moitié configuré (la configuration a échoué)


cqfd93

Hors ligne

#14 Le 10/12/2018, à 19:57

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

MKL31 a écrit :

J'ai effectivement suivis plusieurs tuto, mais j'ai aussi récemment réinstallé mon système en conservant le home de l'ancien. Ça peut avoir un lien?

La conservation de l'ancien home ne devrait pas affecter ce qui se passe dans /. Tu as installé en formatant / ou pas ?

Je te propose de commencer par :

sudo dpkg --configure -a
sudo apt install -f

On verra la suite en fonction des erreurs éventuelles.


cqfd93

Hors ligne

#15 Le 10/12/2018, à 20:06

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Oui j'ai formaté en utilisant gparted si je me souviens bien.

Le retour des commandes:

michael@MicaPortable:~$ sudo dpkg --configure -a
[sudo] Mot de passe de michael : 
Paramétrage de linux-image-4.15.0-34-generic (4.15.0-34.37) ...
Paramétrage de grub-pc (2.02-2ubuntu8.9) ...
Installation pour la plate-forme i386-pc.
grub-install : attention : Le système de fichiers « ext2 » ne prend pas en charge l'embarquage.
grub-install : attention : L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée..
Installation terminée, sans erreur.
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet grub-pc (--configure) :
 installed grub-pc package post-installation script subprocess returned error exit status 1
Paramétrage de friendly-recovery (0.2.38ubuntu1) ...
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
dpkg: erreur de traitement du paquet friendly-recovery (--configure) :
 installed friendly-recovery package post-installation script subprocess returned error exit status 1
Paramétrage de linux-image-4.15.0-42-generic (4.15.0-42.45) ...
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-34-generic (4.15.0-34.37) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-34-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-34-generic (--configure) :
 installed linux-image-4.15.0-34-generic package post-installation script subprocess returned error exit status 1
Traitement des actions différées (« triggers ») pour linux-image-4.15.0-42-generic (4.15.0-42.45) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-42-generic
/etc/kernel/postinst.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-42-generic (--configure) :
 installed linux-image-4.15.0-42-generic package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 grub-pc
 friendly-recovery
 linux-image-4.15.0-34-generic
 linux-image-4.15.0-42-generic
michael@MicaPortable:~$ 
michael@MicaPortable:~$ sudo apt install -f
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  linux-modules-4.15.0-22-generic linux-modules-4.15.0-32-generic
  linux-modules-4.15.0-33-generic
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  linux-image-4.15.0-22-generic linux-image-4.15.0-32-generic
  linux-image-4.15.0-33-generic
0 mis à jour, 0 nouvellement installés, 3 à enlever et 0 non mis à jour.
7 partiellement installés ou enlevés.
Après cette opération, 24,9 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
(Lecture de la base de données... 330338 fichiers et répertoires déjà installés.)
Suppression de linux-image-4.15.0-22-generic (4.15.0-22.24) ...
/var/lib/dpkg/info/linux-image-4.15.0-22-generic.postrm ... removing pending trigger
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-22-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-22-generic (--remove) :
 installed linux-image-4.15.0-22-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-32-generic (4.15.0-32.35) ...
/var/lib/dpkg/info/linux-image-4.15.0-32-generic.postrm ... removing pending trigger
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-32-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-32-generic (--remove) :
 installed linux-image-4.15.0-32-generic package post-removal script subprocess returned error exit status 1
Suppression de linux-image-4.15.0-33-generic (4.15.0-33.36) ...
/var/lib/dpkg/info/linux-image-4.15.0-33-generic.postrm ... removing pending trigger
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-33-generic
/etc/kernel/postrm.d/zz-update-grub:
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.15.0-33-generic (--remove) :
 installed linux-image-4.15.0-33-generic package post-removal script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-4.15.0-22-generic
 linux-image-4.15.0-32-generic
 linux-image-4.15.0-33-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
michael@MicaPortable:~$ 

Je vois beaucoup le mot erreur, non? D'habitude c'est le moment où je ferme les yeux wink)

Hors ligne

#16 Le 10/12/2018, à 20:33

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Oui il y a beaucoup d'erreurs mais toutes dues au même problème.

Si erreur de syntaxe il y a vraiment, c'est dans un de ces 3 fichiers : 10_linux, 20_linux_xen et 30_os-prober. Pour les comparer aux miens, j'aurais besoin de leur contenu sans les numéros de lignes :

cd /etc/grub.d/
cat 10_linux
cat 20_linux_xen
cat 30_os-prober

cqfd93

Hors ligne

#17 Le 10/12/2018, à 20:38

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Merci cqfd93!

Voici le retour

michael@MicaPortable:~$ cd /etc/grub.d/
michael@MicaPortable:/etc/grub.d$ cat 10_linux
#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="/usr"
datarootdir="/usr/share"
ubuntu_recovery="1"
quiet_boot="1"
quick_boot="1"
gfxpayload_dynamic="1"
vt_handoff="1"

. "$pkgdatadir/grub-mkconfig_lib"

export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"

CLASS="--class gnu-linux --class gnu --class os"
SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"

if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
  OS=GNU/Linux
else
  case ${GRUB_DISTRIBUTOR} in
    Ubuntu|Kubuntu)
      OS="${GRUB_DISTRIBUTOR}"
      ;;
    *)
      OS="${GRUB_DISTRIBUTOR} GNU/Linux"
      ;;
  esac
  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi

# loop-AES arranges things so that /dev/loop/X can be our root device, but
# the initrds that Linux uses don't like that.
case ${GRUB_DEVICE} in
  /dev/loop/*|/dev/loop[0-9])
    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    # We can't cope with devices loop-mounted from files here.
    case ${GRUB_DEVICE} in
      /dev/*) ;;
      *) exit 0 ;;
    esac
  ;;
esac

# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
# and mounting btrfs requires user space scanning, so force UUID in this case.
if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi

case x"$GRUB_FS" in
    xbtrfs)
	rootsubvol="`make_system_path_relative_to_its_root /`"
	rootsubvol="${rootsubvol#/}"
	if [ "x${rootsubvol}" != x ]; then
	    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
	fi;;
    xzfs)
	rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
	bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
	LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
	;;
esac

title_correction_code=

if [ -x /lib/recovery-mode/recovery-menu ]; then
    GRUB_CMDLINE_LINUX_RECOVERY=recovery
else
    GRUB_CMDLINE_LINUX_RECOVERY=single
fi
if [ "$ubuntu_recovery" = 1 ]; then
    GRUB_CMDLINE_LINUX_RECOVERY="$GRUB_CMDLINE_LINUX_RECOVERY nomodeset"
fi

if [ "$vt_handoff" = 1 ]; then
  for word in $GRUB_CMDLINE_LINUX_DEFAULT; do
    if [ "$word" = splash ]; then
      GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT \$vt_handoff"
    fi
  done
fi

linux_entry ()
{
  os="$1"
  version="$2"
  type="$3"
  args="$4"

  if [ -z "$boot_device_id" ]; then
      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
  fi
  if [ x$type != xsimple ] ; then
      case $type in
	  recovery)
	      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")" ;;
	  init-*)
	      title="$(gettext_printf "%s, with Linux %s (%s)" "${os}" "${version}" "${type#init-}")" ;;
	  *)
	      title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
      esac
      if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
	  replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
	  quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
	  title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
	  grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
      fi
      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  fi      
  if [ "$quick_boot" = 1 ]; then
      echo "	recordfail" | sed "s/^/$submenu_indentation/"
  fi
  if [ x$type != xrecovery ] ; then
      save_default_entry | grub_add_tab
  fi

  # Use ELILO's generic "efifb" when it's known to be available.
  # FIXME: We need an interface to select vesafb in case efifb can't be used.
  if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
      echo "	load_video" | sed "s/^/$submenu_indentation/"
  else
      if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
	  echo "	load_video" | sed "s/^/$submenu_indentation/"
      fi
  fi
  if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
     ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
      echo "	gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
  fi

  echo "	insmod gzio" | sed "s/^/$submenu_indentation/"
  echo "	if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/"

  if [ x$dirname = x/ ]; then
    if [ -z "${prepare_root_cache}" ]; then
      prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | grub_add_tab)"
    fi
    printf '%s\n' "${prepare_root_cache}" | sed "s/^/$submenu_indentation/"
  else
    if [ -z "${prepare_boot_cache}" ]; then
      prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
    fi
    printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
  fi
  if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
    message="$(gettext_printf "Loading Linux %s ..." ${version})"
    sed "s/^/$submenu_indentation/" << EOF
	echo	'$(echo "$message" | grub_quote)'
EOF
  fi
  if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
    sed "s/^/$submenu_indentation/" << EOF
	linux	${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
EOF
  else
    if [ x"$GRUB_FORCE_PARTUUID" = x ]; then
        sed "s/^/$submenu_indentation/" << EOF
        linux	${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
    else
        sed "s/^/$submenu_indentation/" << EOF
        linux	${rel_dirname}/${basename} root=PARTUUID=${GRUB_FORCE_PARTUUID} ro ${args}
EOF
    fi
  fi
  if test -n "${initrd}" && [ x"$GRUB_DISABLE_INITRD" != xtrue ]; then
    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
    if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
      message="$(gettext_printf "Loading initial ramdisk ...")"
      sed "s/^/$submenu_indentation/" << EOF
	echo	'$(echo "$message" | grub_quote)'
EOF
    fi
    sed "s/^/$submenu_indentation/" << EOF
	initrd	${rel_dirname}/${initrd}
EOF
  fi
  sed "s/^/$submenu_indentation/" << EOF
}
EOF
}

machine=`uname -m`
case "x$machine" in
    xi?86 | xx86_64)
	list=
	for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
	    if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
	done ;;
    *) 
	list=
	for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
                  if grub_file_is_not_garbage "$i" ; then list="$list $i" ; fi
	done ;;
esac

case "$machine" in
    i?86) GENKERNEL_ARCH="x86" ;;
    mips|mips64) GENKERNEL_ARCH="mips" ;;
    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
    arm*) GENKERNEL_ARCH="arm" ;;
    *) GENKERNEL_ARCH="$machine" ;;
esac

prepare_boot_cache=
prepare_root_cache=
boot_device_id=
title_correction_code=

cat << 'EOF'
function gfxmode {
	set gfxpayload="${1}"
EOF
if [ "$vt_handoff" = 1 ]; then
  cat << 'EOF'
	if [ "${1}" = "keep" ]; then
		set vt_handoff=vt.handoff=1
	else
		set vt_handoff=
	fi
EOF
fi
cat << EOF
}
EOF

# Use ELILO's generic "efifb" when it's known to be available.
# FIXME: We need an interface to select vesafb in case efifb can't be used.
if [ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 0 ]; then
  echo "set linux_gfx_mode=$GRUB_GFXPAYLOAD_LINUX"
else
  cat << EOF
if [ "\${recordfail}" != 1 ]; then
  if [ -e \${prefix}/gfxblacklist.txt ]; then
    if 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
EOF
fi
cat << EOF
export linux_gfx_mode
EOF

# Extra indentation to add to menu entries in a submenu. We're not in a submenu
# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
submenu_indentation=""

is_top_level=true
while [ "x$list" != "x" ] ; do
  linux=`version_find_latest $list`
  case $linux in
    *.efi.signed)
      # We handle these in linux_entry.
      list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
      continue
      ;;
  esac
  gettext_printf "Found linux image: %s\n" "$linux" >&2
  basename=`basename $linux`
  dirname=`dirname $linux`
  rel_dirname=`make_system_path_relative_to_its_root $dirname`
  version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
  alt_version=`echo $version | sed -e "s,\.old$,,g"`
  linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"

  initrd=
  for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
	   "initrd-${version}" "initramfs-${version}.img" \
	   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
	   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
	   "initramfs-genkernel-${version}" \
	   "initramfs-genkernel-${alt_version}" \
	   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
	   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
    if test -e "${dirname}/${i}" ; then
      initrd="$i"
      break
    fi
  done

  config=
  for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
    if test -e "${i}" ; then
      config="${i}"
      break
    fi
  done

  initramfs=
  if test -n "${config}" ; then
      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
  fi

  if test -n "${initrd}" ; then
    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
  elif test -z "${initramfs}" ; then
    # "UUID=" and "ZFS=" magic is parsed by initrd or initramfs.  Since there's
    # no initrd or builtin initramfs, it can't work here.
    linux_root_device_thisversion=${GRUB_DEVICE}
  fi

  if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
    linux_entry "${OS}" "${version}" simple \
    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"

    submenu_indentation="$grub_tab"
    
    if [ -z "$boot_device_id" ]; then
	boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
    fi
    # TRANSLATORS: %s is replaced with an OS name
    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
    is_top_level=false
  fi

  linux_entry "${OS}" "${version}" advanced \
              "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
  for supported_init in ${SUPPORTED_INITS}; do
    init_path="${supported_init#*:}"
    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
      linux_entry "${OS}" "${version}" "init-${supported_init%%:*}" \
		  "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}"
    fi
  done
  if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
    linux_entry "${OS}" "${version}" recovery \
                "${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
  fi

  list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
done

# If at least one kernel was found, then we need to
# add a closing '}' for the submenu command.
if [ x"$is_top_level" != xtrue ]; then
  echo '}'
fi

echo "$title_correction_code"
michael@MicaPortable:/etc/grub.d$ cat 20_linux_xen
#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="/usr"
datarootdir="/usr/share"

. "$pkgdatadir/grub-mkconfig_lib"

export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"

CLASS="--class gnu-linux --class gnu --class os --class xen"
SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"

if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
  OS=GNU/Linux
else
  OS="${GRUB_DISTRIBUTOR} GNU/Linux"
  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi

# loop-AES arranges things so that /dev/loop/X can be our root device, but
# the initrds that Linux uses don't like that.
case ${GRUB_DEVICE} in
  /dev/loop/*|/dev/loop[0-9])
    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
    # We can't cope with devices loop-mounted from files here.
    case ${GRUB_DEVICE} in
      /dev/*) ;;
      *) exit 0 ;;
    esac
  ;;
esac

# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
# and mounting btrfs requires user space scanning, so force UUID in this case.
if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi

# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
  GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
fi
if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
  GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
fi

case x"$GRUB_FS" in
    xbtrfs)
	rootsubvol="`make_system_path_relative_to_its_root /`"
	rootsubvol="${rootsubvol#/}"
	if [ "x${rootsubvol}" != x ]; then
	    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
	fi;;
    xzfs)
	rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
	bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
	LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
	;;
esac

title_correction_code=

linux_entry ()
{
  os="$1"
  version="$2"
  xen_version="$3"
  type="$4"
  args="$5"
  xen_args="$6"
  if [ -z "$boot_device_id" ]; then
      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
  fi
  if [ x$type != xsimple ] ; then
      if [ x$type = xrecovery ] ; then
	  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "$(gettext "${GRUB_RECOVERY_TITLE}")")"
      elif [ "${type#init-}" != "$type" ] ; then
	  title="$(gettext_printf "%s, with Xen %s and Linux %s (%s)" "${os}" "${xen_version}" "${version}" "${type#init-}")"
      else
	  title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")"
      fi
      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
      if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
         quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
         title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
         grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
      fi
      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      title="$(gettext_printf "%s, with Xen hypervisor" "${os}")"
      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  fi
  if [ x$type != xrecovery ] ; then
      save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/"
  fi

  if [ -z "${prepare_boot_cache}" ]; then
    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
  fi
  printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
  xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
  lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
  sed "s/^/$submenu_indentation/" << EOF
	echo	'$(echo "$xmessage" | grub_quote)'
        if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then
            xen_rm_opts=
        else
            xen_rm_opts="no-real-mode edd=off"
        fi
	multiboot	${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
	echo	'$(echo "$lmessage" | grub_quote)'
	module	${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
EOF
  if test -n "${initrd}" ; then
    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
    message="$(gettext_printf "Loading initial ramdisk ...")"
    sed "s/^/$submenu_indentation/" << EOF
	echo	'$(echo "$message" | grub_quote)'
	module	--nounzip   ${rel_dirname}/${initrd}
EOF
  fi
  sed "s/^/$submenu_indentation/" << EOF
}
EOF
}

linux_list=
for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
    if grub_file_is_not_garbage "$i"; then
    	basename=$(basename $i)
	version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
	dirname=$(dirname $i)
	config=
	for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
	    if test -e "${j}" ; then
		config="${j}"
		break
	    fi
	done
        if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then linux_list="$linux_list $i" ; fi
    fi
done
if [ "x${linux_list}" = "x" ] ; then
    exit 0
fi

file_is_not_sym () {
    case "$1" in
	*/xen-syms-*)
	    return 1;;
	*)
	    return 0;;
    esac
}

xen_list=
for i in /boot/xen*; do
    if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then xen_list="$xen_list $i" ; fi
done
prepare_boot_cache=
boot_device_id=

title_correction_code=

machine=`uname -m`

case "$machine" in
    i?86) GENKERNEL_ARCH="x86" ;;
    mips|mips64) GENKERNEL_ARCH="mips" ;;
    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
    arm*) GENKERNEL_ARCH="arm" ;;
    *) GENKERNEL_ARCH="$machine" ;;
esac

# Extra indentation to add to menu entries in a submenu. We're not in a submenu
# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
submenu_indentation=""

is_top_level=true

while [ "x${xen_list}" != "x" ] ; do
    list="${linux_list}"
    current_xen=`version_find_latest $xen_list`
    xen_basename=`basename ${current_xen}`
    xen_dirname=`dirname ${current_xen}`
    rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname`
    xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"`
    if [ -z "$boot_device_id" ]; then
	boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
    fi
    if [ "x$is_top_level" != xtrue ]; then
	echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
    fi
    while [ "x$list" != "x" ] ; do
	linux=`version_find_latest $list`
	gettext_printf "Found linux image: %s\n" "$linux" >&2
	basename=`basename $linux`
	dirname=`dirname $linux`
	rel_dirname=`make_system_path_relative_to_its_root $dirname`
	version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
	alt_version=`echo $version | sed -e "s,\.old$,,g"`
	linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"

	initrd=
	for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
	   "initrd-${version}" "initramfs-${version}.img" \
	   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
	   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
	   "initramfs-genkernel-${version}" \
	   "initramfs-genkernel-${alt_version}" \
	   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
	   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do
	    if test -e "${dirname}/${i}" ; then
		initrd="$i"
		break
	    fi
	done
	if test -n "${initrd}" ; then
	    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
	else
    # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
	    linux_root_device_thisversion=${GRUB_DEVICE}
	fi

	if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
	    linux_entry "${OS}" "${version}" "${xen_version}" simple \
		"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"

	    submenu_indentation="$grub_tab$grub_tab"
    
	    if [ -z "$boot_device_id" ]; then
		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
	    fi
            # TRANSLATORS: %s is replaced with an OS name
	    echo "submenu '$(gettext_printf "Advanced options for %s (with Xen hypervisor)" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
	echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
	   is_top_level=false
	fi

	linux_entry "${OS}" "${version}" "${xen_version}" advanced \
	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
	for supported_init in ${SUPPORTED_INITS}; do
	    init_path="${supported_init#*:}"
	    if [ -x "${init_path}" ] && [ "$(readlink -f /sbin/init)" != "$(readlink -f "${init_path}")" ]; then
		linux_entry "${OS}" "${version}" "${xen_version}" "init-${supported_init%%:*}" \
		    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} init=${init_path}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"

	    fi
	done
	if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
	    linux_entry "${OS}" "${version}" "${xen_version}" recovery \
		"single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
	fi

	list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
    done
    if [ x"$is_top_level" != xtrue ]; then
	echo '	}'
    fi
    xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '`
done

# If at least one kernel was found, then we need to
# add a closing '}' for the submenu command.
if [ x"$is_top_level" != xtrue ]; then
  echo '}'
fi

echo "$title_correction_code"
michael@MicaPortable:/etc/grub.d$ cat 30_os-prober
#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="/usr"
datarootdir="/usr/share"
quick_boot="1"

export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"

. "$pkgdatadir/grub-mkconfig_lib"

found_other_os=

adjust_timeout () {
  if [ "$quick_boot" = 1 ] && [ "x${found_other_os}" != "x" ]; then
    cat << EOF
set timeout_style=menu
if [ "\${timeout}" = 0 ]; then
  set timeout=10
fi
EOF
  fi
}

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
  exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" ] || [ -z "`which linux-boot-prober 2> /dev/null`" ] ; then
  # missing os-prober and/or linux-boot-prober
  exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
  # empty os-prober output, nothing doing
  exit 0
fi

osx_entry() {
    found_other_os=1
    if [ x$2 = x32 ]; then
        # TRANSLATORS: it refers to kernel architecture (32-bit)
	bitstr="$(gettext "(32-bit)")"
    else
        # TRANSLATORS: it refers to kernel architecture (64-bit)
	bitstr="$(gettext "(64-bit)")"
    fi
    # TRANSLATORS: it refers on the OS residing on device %s
    onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
        cat << EOF
menuentry '$(echo "${LONGNAME} $bitstr $onstr" | grub_quote)' --class osx --class darwin --class os \$menuentry_id_option 'osprober-xnu-$2-$(grub_get_device_id "${DEVICE}")'  {
EOF
	save_default_entry | grub_add_tab
	prepare_grub_to_access_device ${DEVICE} | grub_add_tab
	cat << EOF
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
           fi
        fi
        if [ \$do_resume = 0 ]; then
           xnu_uuid ${OSXUUID} uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           if [ /kernelcache -nt /System/Library/Extensions ]; then
              $1 /kernelcache boot-uuid=\${uuid} rd=*uuid
           elif [ -f /System/Library/Kernels/kernel ]; then
              $1 /System/Library/Kernels/kernel boot-uuid=\${uuid} rd=*uuid
              xnu_kextdir /System/Library/Extensions
           else
              $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
              if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
                xnu_mkext /System/Library/Extensions.mkext
              else
                xnu_kextdir /System/Library/Extensions
              fi
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
EOF
}

used_osprober_linux_ids=

wubi=

for OS in ${OSPROBED} ; do
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"
  if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then
    EXPUUID="$UUID"

    if [ x"${DEVICE#*@}" != x ] ; then
      EXPUUID="${EXPUUID}@${DEVICE#*@}"
    fi

    if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" ] && [ "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then
      echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2
      continue
    fi
  fi

  BTRFS="`echo ${OS} | cut -d ':' -f 5`"
  if [ "x$BTRFS" = "xbtrfs" ]; then
	BTRFSuuid="`echo ${OS} | cut -d ':' -f 6`"
	BTRFSsubvol="`echo ${OS} | cut -d ':' -f 7`"
  fi

  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi

  # os-prober returns text string followed by optional counter
  CLASS="--class $(echo "${LABEL}" | LC_ALL=C sed 's,[[:digit:]]*$,,' | cut -d' ' -f1 | tr 'A-Z' 'a-z' | LC_ALL=C sed 's,[^[:alnum:]_],_,g')"

  gettext_printf "Found %s on %s\n" "${LONGNAME}" "${DEVICE}" >&2

  case ${BOOT} in
    chain)

      case ${LONGNAME} in
	Windows*)
	  if [ -z "$wubi" ]; then
	    if [ -x /usr/share/lupin-support/grub-mkimage ] && \
	       /usr/share/lupin-support/grub-mkimage --test; then
	      wubi=yes
	    else
	      wubi=no
	    fi
	  fi
	  if [ "$wubi" = yes ]; then
	    echo "Skipping ${LONGNAME} on Wubi system" >&2
	    continue
	  fi
	  ;;
      esac

      found_other_os=1
	  onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
      cat << EOF
menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' {
EOF
      save_default_entry | grub_add_tab
      prepare_grub_to_access_device ${DEVICE} | grub_add_tab

      if [ x"`${grub_probe} --device ${DEVICE} --target=partmap`" = xmsdos ]; then
	  cat << EOF
	parttool \${root} hidden-
EOF
      fi

      case ${LONGNAME} in
	Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*)
	;;
	*)
	  cat << EOF
	drivemap -s (hd0) \${root}
EOF
	;;
      esac

      cat <<EOF
	chainloader +1
}
EOF
    ;;
    efi)

	found_other_os=1
	EFIPATH=${DEVICE#*@}
	DEVICE=${DEVICE%@*}
	onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
      cat << EOF
menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' $CLASS --class os \$menuentry_id_option 'osprober-efi-$(grub_get_device_id "${DEVICE}")' {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

      cat <<EOF
	chainloader ${EFIPATH}
}
EOF
    ;;
    linux)
      if [ "x$BTRFS" = "xbtrfs" ]; then
         LINUXPROBED="`linux-boot-prober btrfs ${BTRFSuuid} ${BTRFSsubvol}  2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
      else
         LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
      fi
      prepare_boot_cache=
      boot_device_id=
      is_top_level=true
      title_correction_code=
      OS="${LONGNAME}"

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

	if [ "${LROOT}" != "${LBOOT}" ]; then
	  LKERNEL="${LKERNEL#/boot}"
	  LINITRD="${LINITRD#/boot}"
	fi

	if [ -z "${prepare_boot_cache}" ]; then
	  prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | grub_add_tab)"
	  [ "${prepare_boot_cache}" ] || continue
	fi

	found_other_os=1
	onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
	recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
	counter=1
	while echo "$used_osprober_linux_ids" | grep 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id' > /dev/null; do
	    counter=$((counter+1));
	done
	if [ -z "$boot_device_id" ]; then
	    boot_device_id="$(grub_get_device_id "${DEVICE}")"
	fi
	used_osprober_linux_ids="$used_osprober_linux_ids 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id'"

	if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
            cat << EOF
menuentry '$(echo "$OS $onstr" | grub_quote)' $CLASS --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
EOF
	    save_default_entry | grub_add_tab
	    printf '%s\n' "${prepare_boot_cache}"
	    cat <<  EOF
	linux ${LKERNEL} ${LPARAMS}
EOF
            if [ -n "${LINITRD}" ] ; then
          cat << EOF
	initrd ${LINITRD}
EOF
            fi
        cat << EOF
}
EOF
	    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} $onstr" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {"
	    is_top_level=false
	fi
	title="${LLABEL} $onstr"
        cat << EOF
	menuentry '$(echo "$title" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' {
EOF
	save_default_entry | sed -e "s/^/$grub_tab$grub_tab/"
	printf '%s\n' "${prepare_boot_cache}" | grub_add_tab
	cat <<  EOF
		linux ${LKERNEL} ${LPARAMS}
EOF
        if [ -n "${LINITRD}" ] ; then
            cat << EOF
		initrd ${LINITRD}
EOF
        fi
        cat << EOF
	}
EOF
	if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
	    replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
	    quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
	    title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
	    grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
	fi
      done
      if [ x"$is_top_level" != xtrue ]; then
	  echo '}'
      fi
      echo "$title_correction_code"
    ;;
    macosx)
      if [ "${UUID}" ]; then
	OSXUUID="${UUID}"
	osx_entry xnu_kernel 32
	osx_entry xnu_kernel64 64
      fi
    ;;
    hurd)
      found_other_os=1
      onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
      cat << EOF
menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' {
EOF
      save_default_entry | grub_add_tab
      prepare_grub_to_access_device ${DEVICE} | grub_add_tab
      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
      mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
      case "${grub_fs}" in
	*fs)	hurd_fs="${grub_fs}" ;;
	*)	hurd_fs="${grub_fs}fs" ;;
      esac
      cat << EOF
	multiboot /boot/gnumach.gz root=device:${mach_device}
	module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
			--multiboot-command-line='\${kernel-command-line}' \\
			--host-priv-port='\${host-port}' \\
			--device-master-port='\${device-port}' \\
			--exec-server-task='\${exec-task}' -T typed '\${root}' \\
			'\$(task-create)' '\$(task-resume)'
	module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
    ;;
    minix)
	  cat << EOF
menuentry "${LONGNAME} (on ${DEVICE}, Multiboot)" {
EOF
         save_default_entry | sed -e "s/^/\t/"
         prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
	 cat << EOF
	multiboot /boot/image_latest
}
EOF
    ;;
    *)
      # TRANSLATORS: %s is replaced by OS name.
      gettext_printf "%s is not yet supported by grub-mkconfig.\n" "  ${LONGNAME}" >&2
    ;;
  esac
done

adjust_timeout
michael@MicaPortable:/etc/grub.d$ 

Hors ligne

#18 Le 10/12/2018, à 20:46

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Merci. Tu vas devoir patienter un peu, je m'éloigne du clavier pour aller cuisiner… À plus.


cqfd93

Hors ligne

#19 Le 10/12/2018, à 23:12

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Désolée, je ne trouve pas de différence avec mes fichiers aux environs de la ligne 294 donc là, je sèche.

Essaye :

sudo os-prober
sudo update-grub

cqfd93

Hors ligne

#20 Le 10/12/2018, à 23:23

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Pas de soucis, merci de reprendre du temps pour m'aider.

Voici le retour:

michael@MicaPortable:~$ sudo os-prober
[sudo] Mot de passe de michael : 
michael@MicaPortable:~$ sudo update-grub
Création du fichier de configuration GRUB…
using custom appearance settings
Found background image: /home/mica/Images/Téléchargées/fonds d'ecran/Numériser0001_New1.jpg
Image Linux trouvée : /boot/vmlinuz-4.15.0-42-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-42-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-34-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-34-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
erreur : mémoire épuisée.
erreur : syntax error.
erreur : Incorrect command.
erreur : syntax error.
Erreur de syntaxe à la ligne 294
Des erreurs de syntaxe sont détectées dans le fichier de configuration
de GRUB. Veuillez vérifier qu'il n'y a pas d'erreur dans les fichiers
/etc/default/grub et /etc/grub.d/*. Sinon veuillez signaler un bogue
en joignant le fichier /boot/grub/grub.cfg.new.
michael@MicaPortable:~$

Hors ligne

#21 Le 10/12/2018, à 23:37

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Je sèche toujours autant…

Est-ce que tu peux tenter de changer le nom de ton image de fond et de son dossier pour que ça ne contienne ni espace, ni caractère accentué ni apostrophe ?

Et donne aussi :

df -h
df -i

pour voir s'il s'y cache quelque chose qu'on n'a pas vu jusqu'à maintenant.


cqfd93

Hors ligne

#22 Le 10/12/2018, à 23:43

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

J'ai mis un moment à comprendre pour l'image de fond... Je vais changer son nom.

Voici le retour des commandes:

michael@MicaPortable:~$ df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev               3,9G       0  3,9G   0% /dev
tmpfs              788M    2,1M  786M   1% /run
/dev/sda2           20G     15G  3,8G  80% /
tmpfs              3,9G     41M  3,9G   2% /dev/shm
tmpfs              5,0M    4,0K  5,0M   1% /run/lock
tmpfs              3,9G       0  3,9G   0% /sys/fs/cgroup
/dev/loop0         3,8M    3,8M     0 100% /snap/gnome-system-monitor/51
/dev/loop2         2,3M    2,3M     0 100% /snap/gnome-calculator/238
/dev/loop1         100M    100M     0 100% /snap/organize-my-files/6
/dev/loop3          18M     18M     0 100% /snap/communitheme/1364
/dev/loop5          88M     88M     0 100% /snap/core/5742
/dev/loop6          35M     35M     0 100% /snap/gtk-common-themes/818
/dev/loop7         141M    141M     0 100% /snap/gnome-3-26-1604/70
/dev/loop8         140M    140M     0 100% /snap/gnome-3-26-1604/64
/dev/loop10        107M    107M     0 100% /snap/organize-my-files/9
/dev/loop11         60M     60M     0 100% /snap/kata-containers/18
/dev/loop12        2,3M    2,3M     0 100% /snap/gnome-calculator/222
/dev/loop13         13M     13M     0 100% /snap/gnome-characters/124
/dev/loop15         13M     13M     0 100% /snap/gnome-characters/117
/dev/loop16        2,3M    2,3M     0 100% /snap/gnome-calculator/260
/dev/loop17         13M     13M     0 100% /snap/gnome-characters/139
/dev/loop20        141M    141M     0 100% /snap/gnome-3-26-1604/74
/dev/loop21         43M     43M     0 100% /snap/gtk-common-themes/701
/dev/loop22         35M     35M     0 100% /snap/gtk-common-themes/808
/dev/loop24         98M     98M     0 100% /snap/organize-my-files/5
/dev/loop26         47M     47M     0 100% /snap/kata-containers/6
/dev/loop27        100M    100M     0 100% /snap/simple-scan/34
/dev/loop9         3,8M    3,8M     0 100% /snap/gnome-system-monitor/54
/dev/loop14         15M     15M     0 100% /snap/gnome-logs/43
/dev/loop18         89M     89M     0 100% /snap/core/5897
/dev/loop19         17M     17M     0 100% /snap/communitheme/1226
/dev/loop23         17M     17M     0 100% /snap/communitheme/1273
/dev/loop25        3,8M    3,8M     0 100% /snap/gnome-system-monitor/57
/dev/loop28        101M    101M     0 100% /snap/simple-scan/23
/dev/loop30         15M     15M     0 100% /snap/gnome-logs/40
/dev/loop31         15M     15M     0 100% /snap/gnome-logs/45
/dev/loop29         58M     58M     0 100% /snap/kata-containers/15
/dev/loop32         82M     82M     0 100% /snap/xnsketch/2
/dev/sda4          405G    103G  282G  27% /home
tmpfs              788M     28K  788M   1% /run/user/120
tmpfs              788M    116K  788M   1% /run/user/1000
/dev/loop33         90M     90M     0 100% /snap/core/6034
michael@MicaPortable:~$ df -i
Sys. de fichiers   Inœuds IUtil.   ILibre IUti% Monté sur
udev              1000066    613   999453    1% /dev
tmpfs             1007631   1143  1006488    1% /run
/dev/sda2         1281120 371369   909751   29% /
tmpfs             1007631     92  1007539    1% /dev/shm
tmpfs             1007631      5  1007626    1% /run/lock
tmpfs             1007631     18  1007613    1% /sys/fs/cgroup
/dev/loop0            724    724        0  100% /snap/gnome-system-monitor/51
/dev/loop2           1269   1269        0  100% /snap/gnome-calculator/238
/dev/loop1           9365   9365        0  100% /snap/organize-my-files/6
/dev/loop3           4913   4913        0  100% /snap/communitheme/1364
/dev/loop5          12783  12783        0  100% /snap/core/5742
/dev/loop6          27345  27345        0  100% /snap/gtk-common-themes/818
/dev/loop7          27638  27638        0  100% /snap/gnome-3-26-1604/70
/dev/loop8          27651  27651        0  100% /snap/gnome-3-26-1604/64
/dev/loop10         10112  10112        0  100% /snap/organize-my-files/9
/dev/loop11           138    138        0  100% /snap/kata-containers/18
/dev/loop12          1270   1270        0  100% /snap/gnome-calculator/222
/dev/loop13          1597   1597        0  100% /snap/gnome-characters/124
/dev/loop15          1597   1597        0  100% /snap/gnome-characters/117
/dev/loop16          1269   1269        0  100% /snap/gnome-calculator/260
/dev/loop17          1598   1598        0  100% /snap/gnome-characters/139
/dev/loop20         27631  27631        0  100% /snap/gnome-3-26-1604/74
/dev/loop21         36056  36056        0  100% /snap/gtk-common-themes/701
/dev/loop22         27298  27298        0  100% /snap/gtk-common-themes/808
/dev/loop24          9365   9365        0  100% /snap/organize-my-files/5
/dev/loop26           136    136        0  100% /snap/kata-containers/6
/dev/loop27         25025  25025        0  100% /snap/simple-scan/34
/dev/loop9            724    724        0  100% /snap/gnome-system-monitor/54
/dev/loop14          1721   1721        0  100% /snap/gnome-logs/43
/dev/loop18         12808  12808        0  100% /snap/core/5897
/dev/loop19          4913   4913        0  100% /snap/communitheme/1226
/dev/loop23          4923   4923        0  100% /snap/communitheme/1273
/dev/loop25           747    747        0  100% /snap/gnome-system-monitor/57
/dev/loop28         25037  25037        0  100% /snap/simple-scan/23
/dev/loop30          1720   1720        0  100% /snap/gnome-logs/40
/dev/loop31          1720   1720        0  100% /snap/gnome-logs/45
/dev/loop29           138    138        0  100% /snap/kata-containers/15
/dev/loop32         29506  29506        0  100% /snap/xnsketch/2
/dev/sda4        26943488 108035 26835453    1% /home
tmpfs             1007631     27  1007604    1% /run/user/120
tmpfs             1007631     60  1007571    1% /run/user/1000
/dev/loop33         12810  12810        0  100% /snap/core/6034
michael@MicaPortable:~$ 

Hors ligne

#23 Le 10/12/2018, à 23:59

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

Il faut aussi éditer les fichiers où ce nom est utilisé et faire ensuite un

sudo update-grub

Je suis effarée par le nombre de snaps installés !


cqfd93

Hors ligne

#24 Le 11/12/2018, à 00:03

MKL31

Re : [RESOLU]Probleme de mise à niveau partielle

Je ne sais pas comment faire ça par contre, éditer les fichiers où le nom est utilisé? Je dois le faire avant de lancer la commande que tu donne?

Et c'est quoi des snaps?

Je me sens un peu boulet. Désolé.

Hors ligne

#25 Le 11/12/2018, à 00:27

cqfd93

Re : [RESOLU]Probleme de mise à niveau partielle

MKL31 a écrit :

Je ne sais pas comment faire ça par contre, éditer les fichiers où le nom est utilisé? Je dois le faire avant de lancer la commande que tu donne?

Comment as-tu fait pour mettre un fond d'écran à ton menu grub ? Tu peux utiliser la même procédure mais avec le nom corrigé.

Et c'est quoi des snsnapsaps?

Regarde dans la doc, c'est très bien expliqué et c'est inutile que je paraphrase la doc smile Le problème avec ton installation d'Ubuntu, c'est qu'elle comporte beaucoup de snaps alors que les versions .deb auraient été nettement mieux (mais tu n'es pas responsable de leur installation).

Je me sens un peu boulet. Désolé.

Non, pas du tout, il faut bien que tu apprennes, on est tous passés par là.


cqfd93

Hors ligne