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 21/01/2014, à 18:52

tuxmarc

Grub.cfg obèse 14 mo !!!

Bonjour à tous.

Je viens de récupérer l'usage de mon multiboot après en avoir bien sué !

En 2009 quand j'ai eu une tour flambante neuve et sans système dedans, je me suis amusé comme un petit fou à ajouter des distributions à gogo.
Je me suis rendu compte qu'on ne peut pas tout mélanger, surtout quand grub2 est apparu, c'est là que les ennuis ont commencé.
Prudence !
J'ai décidé de n'y mettre que des .deb et devinez quoi une flopée d'Ubuntus et dérivés.

Tout se passait assez bien, une nouvelle version de repérée, hop je télécharge l'iso, je lance en livecd ou maintenant via Multisystem, mon matériel est reconnu, la distri est chouette, j'installe smile
Il y en a un bonne quinzaine actuellement.
Un beau jour, une MAJ de je ne sais plus quelle saveur et que vois je ?
Eh ! Mint où il est passé ???
La tête du grub.cfg est devenue bizarre.
Il y a une quantité de memtest incroyable pour diverses distris, entre autres une 9.04 qui avait été cassée en installant une Mandriva !
Linstall de Mandriva s'est carrément invitée dans une partition qui n'était pas la sienne !!!
Dommage, mais je n'en mourrai pas.

A force de voir cette 9.04 inexploitable, j'ai formaté la partition.
Et bien à la MAJ suivante du grub le memtest de la 9.04 était toujours là roll

Au fil des MAJ, les choses ont empiré, l'écran d'acceuil arrivait de plus en plus tard.
Je regarde la taille : 1,2 Mo !
Houla ! c'est énorme !

Hier j'ai osé mettre le nez dedans en l'éditant pour faire le ménage, bien qu'il soit écrit "do not edit".

Une fois débarrassé des memtest en trop, le fichier était revenu à 58 Ko.
C'est là que j'ai fait un update-grub pour régénérer quelque chose de propre.
Horreur ! Il double de volume yikes
Un coup de livecd Bootrepair !
Il a tourné 4 heures le bougre et m'a fabriqué un monstre de 14 Mo.
Autant dire que l'écran d'acceuil ne s'affichait plus même pas au bout de 20 minutes.
Une install fraiche de Voyager ne fait qu'empirer les choses, de plus en plus gras le grub.cfg !

Ah ! la la ! Il faut faire quelque chose !
Premièrement, sauver les meubles sur un disque externe.
Deuxièmement, je lance Voyager en livecd car je me souviens qu'il y a les utilitaires pour désinstaller une distri.
Résultat après une hyper longue attente, même punition, même motif.
Pas moyen d'aller modifier le grub.cfg avec Voyager, alors je sors l'increvable Toutou linux.

Là, j'ai pu éditer le grub.cfg, j'ai viré je ne sais pas combien de milliers de lignes, enregistrement et on redémarre !

Youpie smile Je vois le menu jaillir instantannément, je peux profiter de ma bécane.

Ce que je n'arrive pas à m'expliquer, c'est pourquoi le update-grub est allé me générer autant de memtests et dénicher un memtest d'une distri que j'avais virée et pourquoi il ignore d'autres distris ????

Résultat de os-prober

/dev/sda11:Ubuntu 12.04.3 LTS (12.04):Ubuntu:linux
/dev/sda12:unknown Linux distribution:Linux:linux
/dev/sda13:Ubuntu precise (development branch) (12.04):Ubuntu1:linux
/dev/sda14:Ubuntu 11.10 (11.10):Ubuntu2:linux
/dev/sda16:Ubuntu 12.04 LTS (12.04):Ubuntu3:linux
/dev/sda17:Ubuntu 12.04.1 LTS (12.04):Ubuntu4:linux
/dev/sda19:Ubuntu 12.04.1 LTS (12.04):Ubuntu5:linux
/dev/sda2:Ubuntu 12.04.4 LTS (12.04):Ubuntu6:linux
/dev/sda20:Ubuntu 13.04 (13.04):Ubuntu7:linux
/dev/sda21:ubuntu 13.04 (13.04):Ubuntu8:linux
/dev/sda22:Ubuntu 13.04 (13.04):Ubuntu9:linux
/dev/sda6:Ubuntu 12.04.1 LTS (12.04):Ubuntu10:linux
/dev/sda7:Ubuntu 12.10 (12.10):Ubuntu11:linux
/dev/sda9:Ubuntu 10.04.4 LTS (10.04):Ubuntu12:linux

unknown linux distribution, c'est Toutou 4.3.1

Je suppute des versions différentes de grub2 selon la distribution, il va falloir que je les démarre toutes les unes après les autres.

Qui a déjà connu ça ?

Amicalement.
Tuxmarc


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne

#2 Le 21/01/2014, à 19:32

Compte anonymisé

Re : Grub.cfg obèse 14 mo !!!

Salut

Tu peux commencer par supprimer la détection des memtest :

sudo chmod -x /etc/grub.d/20_memtest86+

Un solution, mais qui risque d'être lourde à gérer serait d'empêcher grub de détecter les systèmes externes :
sudo  gedit  /etc/default/grub
et d'ajouter la ligne :
GRUB_DISABLE_OS_PROBER=true

Ensuite récupérer dans le fichier /boot/grub/grub.cfg les paragraphes des systèmes externes et de les copier dans le fichier /etc/grub.d/40_custom.
Il faudrait remplacer dans ces paragraphes les lignes :
linux   /boot/vmlinuz....  options
initrd  /boot/initrd.img....
par
linux  /vmlinuz  options
initrd  /initrd.img

afin d'être indépendant des mises à jour du kernel des # versions installées.

Bien entendu il faudrait gérer ce fichier "à la main" en cas d'ajout/suppression de systèmes.

Après toutes ces modifs il faut faire un :
sudo  apt-get  update
pour régénérer le fichier grub.cfg. 
Attention de faire une sauvegarde du grub.cfg actuel avant de tout casser.


Il est à noter que la modif actuelle (modif directe du fichier grub.cfg) sera détruite dès l'install d'un nouveau kernel. Le minimun serait de sauvegarder ce fichier au cas où.

#3 Le 21/01/2014, à 20:11

tuxmarc

Re : Grub.cfg obèse 14 mo !!!

Merci pour les pistes jeanjd63.

En matière de Grub tu touches ta bille smile

J'avais lu que de modifier le grub.cfg ne peut pas durer dans le temps et qu'une nouvelle installation d'un noyau refait tout et ça je l'ai vu plus d'une fois.

J'ai cuisiné ma bécane : les grub-install et setup sont des 1.99 mais 12 ou 21.
Les conséquences, ça j'ignore.

Supprimer les memtest OK.
J'ai regardé le help de chmod et pas de commentaire sur une option -x :

dad@dad-OEM:~$ chmod --help
Utilisation : chmod [OPTION]... MODE[,MODE]... FILE...
         ou : chmod [OPTION]... OCTAL-MODE FILE
         ou : chmod [OPTION]... --reference=RFILE FILE
Change le mode de chaque FILE en MODE.

  -c, --changes           comme « verbose » mais affiche seulements les
                          changements réalisés
      --no-preserve-root  ne traite pas « / » de manière spéciale (par défaut)
      --preserve-root     bloque le traitement récursif sur « / »
  -f, --silent, --quiet   supprime la plupart des messages d'erreur
  -v, --verbose           produit un diagnostic pour chaque fichier traité
      --reference=RFILE   utilise le mode RFILE au lieu des valeurs MODE
  -R, --recursive         modifie récursivement les fichiers et les répertoires
      --help     affiche l'aide et quitte
      --version  affiche des informations de version et quitte

Chaque MODE est de la forme « [ugoa]*([-+=]([rwxXst]*|[ugo]))+ ».

Signalez les anomalies de « chmod » à <bug-coreutils@gnu.org>
Page d'accueil de « GNU coreutils » : http://www.gnu.org/software/coreutils/
Aide globale sur les logiciels GNU : <http://www.gnu.org/help/gethelp>
Signalez les problèmes de traduction de « chmod » à : <traduc@traduc.org>
Utilisez « info coreutils 'chmod invocation' » pour toute la documentation

Chapeau pour la commande !

Il est possible de gérer à la main, mais j'avoue que j'ai des gammes à faire avant d'arriver à ne pas faire de fausses notes.
Le vieux grub, j'avais réussi à le maitriser, c'était même rigolo et je me suis étonné de réussir mon coup en modifiant le vieux grub sur un autre multiboot de .rpm. Seule Fedora manque à l'appel.
Jusqu'à une période toute récente, j'ajoutais une distri sans aucun problème et compter sur une bonne procédure automatique, ça me plaisait.

En parcourant la doc, je me rends compte qu'il faut beaucoup apprendre et surtout respecter la bonne logique.


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne

#4 Le 21/01/2014, à 20:16

Compte anonymisé

Re : Grub.cfg obèse 14 mo !!!

La commande chmod -x  va supprimer le flag "eXécutable" du fichier donné en paramètre. Pour les scripts grub si ce fichier n'est pas exécutable,  il ne sera plus pris en charge.

#5 Le 21/01/2014, à 20:25

tuxmarc

Re : Grub.cfg obèse 14 mo !!!

Merci pour les explications, plus fort que --help et man smile


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne

#6 Le 21/01/2014, à 20:27

Compte anonymisé

Re : Grub.cfg obèse 14 mo !!!

Non ce sont les bases lol

#7 Le 22/01/2014, à 09:38

tuxmarc

Re : Grub.cfg obèse 14 mo !!!

Et oui, ce sont les bases, mais bien que j'ai trituré ça depuis 10 ans maintenant, ça se bouscule encore dans ma tête.
Il faut voir me gratter le crâne devant une console vide.
"Et zut ! j'ai oublié comment on fait !" roll
Heureusement la roue de secours est là : 2-3 lettres + tab + tab
Bon sang, mais c'est bien sûr !
C'est génial GNU/Linux smile


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne

#8 Le 22/01/2014, à 21:10

tuxmarc

Re : Grub.cfg obèse 14 mo !!!

Bonsoir

Suite des opérations.
Tout remarchait et perfectionniste .... ou plutôt Professeur Shadoko, je remarque que je me traine des vieux kernels sur une 12.04, donc allons faire le ménage via le gestionnaire de paquets Synaptic.
Je coche ce qu'il y a à supprimer définitivement y compris les fichiers associés et "appliquer".
Je vais faire le ménage et en plus je sais que ma bécane va re-générer un grub.cfg et sans memtests à gogo.

Ça a mis comme dans le sketch de Fernand Raynaud "un certain temps".
Je suis passé voir de temps en temps et enfer ! le grub.cfg gagne des mégas et des mégas sad

Résultat des courses :
158.224 lignes
14.342.669 octets
et encore une pléthore de "memtest86"

Dommage, jeanjd63, la manip n'a pas eu l'air de marcher.
J'avais validé un peu vite en omettant "-v" pour que la bécane me cause.
Merci encore pour ton aide.
Tranquillement, je vais relancer la procédure et n'oubliant pas ce coup là de faire parler la machine.

Comme j'avais gardé une copie du grub.cfg qui marchait, ça a été une formalité de tout remettre d'aplomb et tout marche !!

J'ai toujours du mal à expliquer pourquoi je ne trouve pas dans le grub des distris qui ont été vues par le système.
J'ai eu .... largement le temps de capturer ce qui sortait en console

(Lecture de la base de données... 378068 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-48-generic-pae ...
Suppression de linux-headers-3.2.0-48 ...
(Lecture de la base de données... 355746 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-49-generic-pae ...
(Lecture de la base de données... 347304 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-52-generic-pae ...
(Lecture de la base de données... 338861 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-52 ...
(Lecture de la base de données... 324981 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-55-generic-pae ...
(Lecture de la base de données... 316538 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-55 ...
(Lecture de la base de données... 302658 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-56-generic-pae ...
(Lecture de la base de données... 294215 fichiers et répertoires déjà installés.)
Suppression de linux-headers-3.2.0-56 ...
Suppression de linux-image-3.2.0-48-generic-pae ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-48-generic-pae /boot/vmlinuz-3.2.0-48-generic-pae
update-initramfs: Deleting /boot/initrd.img-3.2.0-48-generic-pae
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-48-generic-pae /boot/vmlinuz-3.2.0-48-generic-pae
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-58-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-58-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-57-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-57-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-56-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-56-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-55-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-55-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-52-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-52-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-49-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-49-generic-pae
Found Ubuntu 10.04.4 LTS (10.04) on /dev/sda10
Found Ubuntu 12.04.3 LTS (12.04) on /dev/sda11
Found unknown Linux distribution on /dev/sda12
Found Ubuntu precise (development branch) (12.04) on /dev/sda13
Found Ubuntu 11.10 (11.10) on /dev/sda14
Found Ubuntu 12.04 LTS (12.04) on /dev/sda16
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda17
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda19
Found Ubuntu 13.04 (13.04) on /dev/sda20
Found ubuntu 13.04 (13.04) on /dev/sda21
Found Ubuntu 13.04 (13.04) on /dev/sda22
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda6
Found Ubuntu 12.10 (12.10) on /dev/sda7
Found Ubuntu 10.04.4 LTS (10.04) on /dev/sda9
done
Purge des fichiers de configuration de linux-image-3.2.0-48-generic-pae ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-48-generic-pae /boot/vmlinuz-3.2.0-48-generic-pae
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-48-generic-pae /boot/vmlinuz-3.2.0-48-generic-pae
Suppression de linux-image-3.2.0-49-generic-pae ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-49-generic-pae /boot/vmlinuz-3.2.0-49-generic-pae
update-initramfs: Deleting /boot/initrd.img-3.2.0-49-generic-pae
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-49-generic-pae /boot/vmlinuz-3.2.0-49-generic-pae
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-58-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-58-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-57-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-57-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-56-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-56-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-55-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-55-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-52-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-52-generic-pae
Found Ubuntu 10.04.4 LTS (10.04) on /dev/sda10
Found Ubuntu 12.04.3 LTS (12.04) on /dev/sda11
Found unknown Linux distribution on /dev/sda12
Found Ubuntu precise (development branch) (12.04) on /dev/sda13
Found Ubuntu 11.10 (11.10) on /dev/sda14
Found Ubuntu 12.04 LTS (12.04) on /dev/sda16
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda17
Found Ubuntu 12.04.1 LTS (12.04) on /dev/sda19

Le grub ne donne pas accès aux sda22, sda6, sda7 et sda9 ?

En prime, les vieux kernels

Found linux image: /boot/vmlinuz-3.2.0-55-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-55-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-52-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-52-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-49-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-49-generic-p

figurent dans le grub mais ont bien dégagé, car en tentant de lancer sur un vieux kernel, ça se termine en eau de boudin.

Je sens qu'il va falloir pas mal élaguer dans certaines distris, ce qui permettra d'agrandir les partitions pleines, trop pleines, de photos.
Ensuite, je réinstallerai une Hybryde, une Voyager au moins.


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne

#9 Le 10/05/2014, à 15:22

tuxmarc

Re : Grub.cfg obèse 14 mo !!!

Un up !

J'ai pris le taureau par les cornes !
J'ai deux grosses installations pour les photos et les vidéos et j'avais aussi beaucoup d'autres installations qui avaient l'air de créer le souk.
Je me suis décidé à faire un grand ménage !!

Gparted lancé en livecd et c'est parti pour le grand nettoyage.
J'ai effacé une douzaine de partitions.

Redémarrage pour voir ....... les dégâts roll
Le grub, plus rien à en tirer, oups !

Mais ce n'est pas un problème, je vais m'installer à nouveau Hybryde Fusion qui est sur la clé Multisystem.
Donc installation, à part le débit de la livebox qui baissait méchamment, pas d'autre appréhension.
Au moment du update-grub, miracle, ça passe à toute vitesse smile
Redémarrage et .............. tout baigne lol
Le grub a eu droit à une sérieuse cure d'amaigrissement et court le 100 m dans des temps de record du monde !
Reste à passer le message en RÉSOLU et installer à nouveau ............ en étant raisonnable smile
Raisonnable ? Avec toutes les merveilles que nous avons à notre disposition, ça va être très dur lol
edit : et zut ! pas moyen de passer en résolu ????

Dernière modification par tuxmarc (Le 10/05/2014, à 17:36)


Vive Richard Stalmann, Linus Torvalds, et tous les fondus de Linux.
De l'Ordinosaure fait à 90% de récup, à deux portables LDLC,  neufs sans système et une carte mère sans boitier, tous libres !!
Parrain Linux sur www.parrain-linux.com et www.parrains.linux.free.fr

Hors ligne