Forum Linux.général Comment récuperer le fichier de config d'un grub installé sur le mbr mais plus sur le disque dur?

Posté par  .
Étiquettes :
-1
16
juin
2012

Bonjour,

j'ai un pc avec grub (v1) d'installé sur le MBR. Le problème est que il n'y a plus de trace de grub sur le disque dur, pas de /boot/grub, /etc/default/grub… rien.

Le problème est que maintenant j'aimerais faire des modifs sur le menu.lst pour rajouter des paramètres à l'init mais comment faire? Est ce qu'il est possible de génerer le fichier de config qu'utilise le grub installé uniquement sur le mbr?

Si quelqu'un aurait une solution…

Merci d'avance

p.s : je tourne sous ArchLinux noyau 3.3.7

Nico

  • # .

    Posté par  . Évalué à 5. Dernière modification le 16 juin 2012 à 19:14.

    1) S'il n'y a pas de fichier grub.conf/menu.lst, comment peux-tu démarrer ta machine ? Lorsque grub se lance, il a besoin de trouver ce fichier… As-tu oublié de monter /boot ?

    2) Pour lire le MBR tu peux faire un dd sur ton disque : dd if=/dev/sda of=mbr.bin bs=512 count=1. Tu y trouveras la table de partitions. Source

    3) Quand le menu de grub apparait, tu peux appuyer sur e (éditer), choisir une des lignes de ta config puis e à nouveau. Là tu peux lire les lignes que grub va exécuter (elles viennent de grub.conf), les noter sur un papier et recréer le fichier à ta convenance. Tu peux même tester directement tes paramètres d'init en éditant les lignes lors de l'exécution de grub puis faire b pour booter (mais les nouveaux paramètres ne seront pas sauvés sur le disque).

    • [^] # Re: .

      Posté par  . Évalué à 0.

      hello,

      1) non justement il n'y a pas de fichier grub.conf/menu.lst et je peux quand même démarrer la machine sans probleme, je me demande bien quel fichier il utilise justement

      3) je sais mais je veux sauvegarder la config sur le disque dur et forcer grub à booter dessus, mais quand je me créer un grub.conf/menu.lst il n'a pas l'air de le prendre en compte… Du coup je me demande vraiment sur quel fichier il boot…

      • [^] # Re: .

        Posté par  . Évalué à 3.

        je me demande bien quel fichier il utilise justement

        As-tu oublié de monter /boot ?

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: .

          Posté par  . Évalué à 0.

          non il est monté

          • [^] # Re: .

            Posté par  . Évalué à 2. Dernière modification le 16 juin 2012 à 19:44.

            Quel est le contenu de /boot/grub/ ?

            • [^] # Re: .

              Posté par  . Évalué à 0.

              il n'y a pas de repertoire grub dans /boot

              • [^] # Re: .

                Posté par  . Évalué à 2.

                Alors boot est ailleurs …
                Tu dis que /boot est monté, il est donc sur une partition séparée (mount|grep boot pour voir laquelle).
                Et si la partition montée cachait des fichiers sur le point de montage? Essaie de démonter /boot (umount /boot), puis "ls /boot".

                Autre idées: fdisk -l pour trouver la partition active.
                Au menu de grub, taper "c" pour entrer dans le shell (ex de grub2, je n'ai plus de grub sous la main)
                grub> root
                (hd0,msdos1): Filesystem is ext2
                grub> ls (hd0,msdos1)/

                dans la liste de directories, il y a soit "boot" et ça boute sur la partition root, soit "grub" et la partition /boot est distincte.

                • [^] # Re: .

                  Posté par  . Évalué à 0.

                  un mount | grep boot ne me donne rien du tout
                  donc j'imagine que boot n'est pas une partition à part de la partition racine.

                  Pour grub, ds la liste de directories, j'ai /boot, donc oui ça boot sur la partition root

                  • [^] # Re: .

                    Posté par  . Évalué à 3.

                    Il est donc possible que le /boot utilisé au démarrage soit sur une autre partition qui n'est pas montée une fois linux démarré.

                    Il faudrait que tu regarde sur les autres partitions si tu n'en trouve pas une avec /boot/grub.

                    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                    • [^] # Re: .

                      Posté par  . Évalué à 0.

                      le problème c'est que les autres partition, c'est juste des partitions de données (une partition /home et une partition /music) et une partition windows

                      • [^] # Re: .

                        Posté par  . Évalué à 3.

                        Du coup, je te conseille de faire ce qui est décrit plus haut. Au démarrage de grub, tu appuie sur c et d'afficher la partition root actuellement utilisé. Il faut sans doute taper la commande root pour ça.

                        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                        • [^] # Re: .

                          Posté par  . Évalué à 1.

                          ma partition racine est sda4 qui est en ext4.
                          Sous grub, lorsque je tapes la commande root, il me sort (hd0,msdos5) : Filesystem is ext2

                          Ce qui est un peu bizarre car quand je liste mes partitions via cfdisk, je n'ai aucune partition formaté en ext2.

                          • [^] # Re: .

                            Posté par  . Évalué à 1.

                            probleme résolu.

                            Il utilisait un fichier de config d'une partition sda5 (:

                            Merci pour tout !

              • [^] # Re: .

                Posté par  . Évalué à 3.

                Le répertoire /boot/grub contient les binaires de grub, ça ne booterait pas sans lui. Peut-être que tu as copié des fichiers dans le répertoire /boot de ta partition racine, ce qui te fait croire que /boot est monté ? Tu as bien /dev/sda1 on /boot type ext4 (rw,noatime) (ou équivalent) quand tu tapes mount ?

                Pour info, ce répertoire est mentionné dans le wiki d'Arch linux https://wiki.archlinux.org/index.php/Official_Installation_Guide#Install_Bootloader

                • [^] # Re: .

                  Posté par  . Évalué à -1.

                  non mount | grep boot ne me renvoie rien

  • # Installation du système Windows après Linux ?

    Posté par  (site web personnel) . Évalué à 1.

    Est-ce que ta partition Windows est (now) la partition active !? cfdisk /dev/sda
    En clair, as tu installé Windows après avoir installer Linux (ou est-ce simplement une partition NTFS (sans système) ?). Si tu as installé Win apres ton Linux, je pense que c'est windows qui a récupéré/gère le bootloader.

    Je ne peut pas t'en dire plus (comme où se trouve le bootloader etc.. sous Win :/ )

    Cordialement…

    Free 4 Linux

  • # reinstaller grub

    Posté par  . Évalué à 3.

    reinstall grub, il va faire tout ce qu'il faut pour remettre les dossiers qu'il faut, là ou il faut

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.