Gros probleme avec grub

Résolu
Salut à tous. Je suis nouveau sur ce forum, et aussi novice. Voila mon problème.
Suite à une mauvaise manipulation, j'ai du réinstaller Windows xp. Ensuite j'ai installé Ubuntu, avec un multiboot, puis réinstallé windows. J'avais perdu le multiboot au démarrage. Pour résoudre le problème j'ai démarré sur le cd Ubuntu et tapé la commande pour réinstaller Grub.
En apparence tout marchait, j'ai pu choisir Ubuntu au démarrage, mais lorsque je lance Windows, ca ne marche pas. Il me dit qu'il y a une erreur.
J'espere que vous pourrez m'aider, je suis dans un sacré pétrain AU SECOURS !!!!
Merci beaucoup
Alex-9094
Configuration: Linux
Firefox 2.0.0.11

39 réponses

Résumé de la discussion

Dans un système en multiboot avec Windows XP et Ubuntu, la réinstallation de Windows puis la réinstallation de grub ont mené à un démarrage problématique de Windows malgré l’accès à Ubuntu. Les éléments de réponse essentiels passent par la vérification de la partition Windows et du root dans grub, puis la modification du fichier grub pour lancer Windows via chainloader et l'ajustement du boot flag. D'autres conseils recommandent d'éditer menu.lst, ou d'utiliser fdisk pour basculer le flag boot sur la partition Windows (par exemple sda2), puis de réécrire la table et redémarrer. Une étape pratique montre que créer le répertoire de montage et monter la partition Windows peut être nécessaire lorsque l'on travaille en chroot.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut,

    et tapé la commande pour réinstaller Grub.
    Laquelle ?

    Affiches le résultat des commandes suivantes (en root) :
    /sbin/fdisk -l
    egrep -v "^(#|$)" /boot/grub/menu.lst
    ;-))
    1. Salut,
      la commande c'est grub-install.
      Voila le resultat affiché quand je tape ce que tu m'as dit:

      default 0
      timeout 10
      title Ubuntu 7.10, kernel 2.6.22-14-generic
      root (hd0,2)
      kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro quiet splash
      initrd /boot/initrd.img-2.6.22-14-generic
      quiet
      title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
      root (hd0,2)
      kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro single
      initrd /boot/initrd.img-2.6.22-14-generic
      title Ubuntu 7.10, memtest86+
      root (hd0,2)
      kernel /boot/memtest86+.bin
      quiet
      title Other operating systems:
      root
      title Windows XP Media Center Edition
      root (hd0,0)
      savedefault
      makeactive
      chainloader +1

      Merci
      Alex-9094
      1. Au fait, je ne sais pas si il fallait mettre les 2 commandes ensemble ou separement, mais quand je ne mets que la première ça ne fait rien. C'est quand je met la 2eme que ca donne le résultat.
        A+
        1. Modérateur
          Salut,

          essaie comme ça
          title Windows XP Media Center Edition
          root (hd0,0)
          savedefault
          makeactive
          chainloader +1 
          boot
          pour la 1ère commande essaie plutôt
          sudo fdisk -l

          1. pas de probleme mais je ne comprend pas comment je met ça. Peux-tu m'expliquer stp ?
            Alex-9094
            1. Modérateur
              Salut,

              tu ouvres le fichier avec un editeur de texte, par exemple
              sudo gedit /boot/grub/menu.lst
              1. Salut
                quand je tape la ligne dans le terminal, ça m'ouvre gedit et donne ça:

                # menu.lst - See: grub(8), info grub, update-grub(8)
                # grub-install(8), grub-floppy(8),
                # grub-md5-crypt, /usr/share/doc/grub
                # and /usr/share/doc/grub-doc/.

                ## default num
                # Set the default entry to the entry number NUM. Numbering starts from 0, and
                # the entry number 0 is the default if the command is not used.
                #
                # You can specify 'saved' instead of a number. In this case, the default entry
                # is the entry saved with the command 'savedefault'.
                # WARNING: If you are using dmraid do not use 'savedefault' or your
                # array will desync and will not let you boot your system.
                default 0

                ## timeout sec
                # Set a timeout, in SEC seconds, before automatically booting the default entry
                # (normally the first entry defined).
                timeout 10

                ## hiddenmenu
                # Hides the menu by default (press ESC to see the menu)
                #hiddenmenu

                # Pretty colours
                #color cyan/blue white/blue

                ## password ['--md5'] passwd
                # If used in the first section of a menu file, disable all interactive editing
                # control (menu entry editor and command-line) and entries protected by the
                # command 'lock'
                # e.g. password topsecret
                # password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
                # password topsecret

                #
                # examples
                #
                # title Windows 95/98/NT/2000
                # root (hd0,0)
                # makeactive
                # chainloader +1
                #
                # title Linux
                # root (hd0,1)
                # kernel /vmlinuz root=/dev/hda2 ro
                #

                #
                # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

                ### BEGIN AUTOMAGIC KERNELS LIST
                ## lines between the AUTOMAGIC KERNELS LIST markers will be modified
                ## by the debian update-grub script except for the default options below

                ## DO NOT UNCOMMENT THEM, Just edit them to your needs

                ## ## Start Default Options ##
                ## default kernel options
                ## default kernel options for automagic boot options
                ## If you want special options for specific kernels use kopt_x_y_z
                ## where x.y.z is kernel version. Minor versions can be omitted.
                ## e.g. kopt=root=/dev/hda1 ro
                ## kopt_2_6_8=root=/dev/hdc1 ro
                ## kopt_2_6_8_2_686=root=/dev/hdc2 ro
                # kopt=root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro

                ## Setup crashdump menu entries
                ## e.g. crashdump=1
                # crashdump=0

                ## default grub root device
                ## e.g. groot=(hd0,0)
                # groot=(hd0,2)

                ## should update-grub create alternative automagic boot options
                ## e.g. alternative=true
                ## alternative=false
                # alternative=true

                ## should update-grub lock alternative automagic boot options
                ## e.g. lockalternative=true
                ## lockalternative=false
                # lockalternative=false

                ## additional options to use with the default boot option, but not with the
                ## alternatives
                ## e.g. defoptions=vga=791 resume=/dev/hda5
                # defoptions=quiet splash

                ## should update-grub lock old automagic boot options
                ## e.g. lockold=false
                ## lockold=true
                # lockold=false

                ## Xen hypervisor options to use with the default Xen boot option
                # xenhopt=

                ## Xen Linux kernel options to use with the default Xen boot option
                # xenkopt=console=tty0

                ## altoption boot targets option
                ## multiple altoptions lines are allowed
                ## e.g. altoptions=(extra menu suffix) extra boot options
                ## altoptions=(recovery) single
                # altoptions=(recovery mode) single

                ## controls how many kernels should be put into the menu.lst
                ## only counts the first occurence of a kernel, not the
                ## alternative kernel options
                ## e.g. howmany=all
                ## howmany=7
                # howmany=all

                ## should update-grub create memtest86 boot option
                ## e.g. memtest86=true
                ## memtest86=false
                # memtest86=true

                ## should update-grub adjust the value of the default booted system
                ## can be true or false
                # updatedefaultentry=false

                ## should update-grub add savedefault to the default options
                ## can be true or false
                # savedefault=false

                ## ## End Default Options ##

                title Ubuntu 7.10, kernel 2.6.22-14-generic
                root (hd0,2)
                kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro quiet splash
                initrd /boot/initrd.img-2.6.22-14-generic
                quiet

                title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
                root (hd0,2)
                kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro single
                initrd /boot/initrd.img-2.6.22-14-generic

                title Ubuntu 7.10, memtest86+
                root (hd0,2)
                kernel /boot/memtest86+.bin
                quiet

                ### END DEBIAN AUTOMAGIC KERNELS LIST

                # This is a divider, added to separate the menu items below from the Debian
                # ones.
                title Other operating systems:
                root

                # This entry automatically added by the Debian installer for a non-linux OS
                # on /dev/sda1
                title Windows XP Media Center Edition
                root (hd0,0)
                savedefault
                makeactive
                chainloader +1

                pour moi ce n'est pas très clair, et je ne sais pas ce que ca veut dire. J'espere que tu peux m'aider.
                Merci
                A+
                1. Modérateur
                  Bon, on va faire simple.
                  Ferme gedit sans rien écrire et enregistrer.
                  Ensuite tape les 3 commandes une après l'autre
                  sudo -s 
                  cp -v /boot/grub/menu.lst /boot/grub/menu.lst.bak
                  echo boot >> /boot/grub/menu.lst
                  exit
                  et ensuite affiche le résultat de
                  egrep -v "^(#|$)" /boot/grub/menu.lst
                  1. voila le resultat:

                    default 0
                    timeout 10
                    title Ubuntu 7.10, kernel 2.6.22-14-generic
                    root (hd0,2)
                    kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro quiet splash
                    initrd /boot/initrd.img-2.6.22-14-generic
                    quiet
                    title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
                    root (hd0,2)
                    kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9ac84557-ecc4-45b1-bae6-6ef10b5d9777 ro single
                    initrd /boot/initrd.img-2.6.22-14-generic
                    title Ubuntu 7.10, memtest86+
                    root (hd0,2)
                    kernel /boot/memtest86+.bin
                    quiet
                    title Other operating systems:
                    root
                    title Windows XP Media Center Edition
                    root (hd0,0)
                    savedefault
                    makeactive
                    chainloader +1
                    boot

                    Alex-9094
                    1. J'ai essayé de démarrer, mais ça ne marche toujours pas. Quand je choisis Windows, Il me met "error 13:invalid or unsupported executable format".
                      Il se fait tard je vais me coucher. Merci beaucoup pour ton aide, c'est très simpa ce que tu as fait.
                      Bonne soirée
                      Alex-9094
                      1. salut

                        il faudrai savoir si < root (hd0,0) > corresspond bien à ta partition windows
                        1. Modérateur
                          Salut,

                          c'est la raison pour laquelle jipicy a demandé ça Message 1
                          ;-))
                      2. Modérateur
                        13 : Invalid or unsupported executable format
                            Cette erreur est retournée si l'image du noyau à charger n'est pas reconnue comme Multiboot ou n'est pas un des formats natifs (Linux zImage ou bzImage, FreeBSD, NetBSD). 
                        Par contre affiches-nous impérativement la sortie de :
                        sudo fdisk -l
                        1. oui et attention c'est un L minuscule (l): pas un 1

                          sudo fdisk -l
                          d 'une manière générale copie/colle quand tu fais confiance
                          1. Modérateur
                            Salut,

                            quand tu fais confiance
                            Oui, tu peux faire confiance à jipicy ;-)
                            1. Modérateur
                              Si tu le dis, alors je te fais confiance ;-)))
                          2. Merci de votre aide, pour l'instant je ne peux rien faire mais mercredi c'est bon. Je vous tiens au courant.
                            A+
                            Alex-9094
                            1. Salut tout le monde, me revoila.
                              jipicy m'a demandé que j'entre ça : sudo fdisk -l
                              Il me renvoi ça : Disque /dev/sda: 250.0 Go, 250059350016 octets
                              255 heads, 63 sectors/track, 30401 cylinders
                              Units = cylindres of 16065 * 512 = 8225280 bytes
                              Disk identifier: 0xbe08d558

                              Périphérique Amorce Début Fin Blocs Id Système
                              /dev/sda1 * 1 116 931738+ 82 Linux swap / Solaris
                              /dev/sda2 117 8880 70396798+ 7 HPFS/NTFS
                              /dev/sda3 8881 15776 55392120 83 Linux
                              /dev/sda4 15777 30401 117475312+ f W95 Etendu (LBA)
                              /dev/sda5 15777 30401 117475281 b W95 FAT32

                              J'espère que vous allez pouvoir m'aider. Merci
                              Alex-9094
                              1. C'était peut être mal collé :

                                Disque /dev/sda: 250.0 Go, 250059350016 octets
                                255 heads, 63 sectors/track, 30401 cylinders
                                Units = cylindres of 16065 * 512 = 8225280 bytes
                                Disk identifier: 0xbe08d558

                                Périphérique Amorce Début Fin Blocs Id Système
                                /dev/sda1 * 1 116 931738+ 82 Linux swap / Solaris
                                /dev/sda2 117 8880 70396798+ 7 HPFS/NTFS
                                /dev/sda3 8881 15776 55392120 83 Linux
                                /dev/sda4 15777 30401 117475312+ f W95 Etendu (LBA)
                                /dev/sda5 15777 30401 117475281 b W95 FAT32
                                1. Modérateur
                                  Ok, modifies ton fichier grub comme suit, la partie en "gras"(enfin la partie concernant Windows) :
                                  title Windows XP Media Center Edition
                                  root (hd0,1)
                                  savedefault
                                  makeactive
                                  chainloader +1
                                  boot 
                                  Par contre il va te falloir éditer ta table des partitions et modifier le "flag" qui définit la partition "boutable"...
                                  Actuellement c'est la partition de "swap" (sda1) qui a le flag de boot et il faudrait le passer sur la partition d'XP (sda2).

                                  Tu te le sens ?
                                  • 1
                                  • 2