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 18/11/2009, à 11:32

jean-louis67

[résolu] Grub error après insertion d'une nouvelle partition

Bonjour

J'ai une installation avec double boot Windows XP/Ubuntu 9.10

J'ai créé une nouvelle partition sous Windows, destinée à être utilisée par Ubuntu.
Cette partition se trouvant avant la partition hébergeant /boot/grub, j'ai l'erreur suivante au démarrage:

Grub loading
error: file not found
grube rescue>

En appliquant les conseils suivants trouvés dans un autre post de ce forum (http://forum.ubuntu-fr.org/viewtopic.php?pid=3068453) , je parviens néanmoins à démarrer:

set prefix=(hd0,7)/boot/grub
insmod sh
set root=(hd0,7)/boot/grub
insmod configfile
configfile (hd0,7)/boot/grub/grub.cfg

Une fois dans ubuntu, j'essaye de mettre à jour le MBR de la manière suivante mais n'y parviens pas:

sudo mount /dev/sda7 /mnt
ls /mnt
bin    dev        home        lib32       media  proc  selinux  tmp  vmlinuz
boot   etc        initrd.img  lib64       mnt    root  srv      usr
cdrom  extension  lib         lost+found  opt    sbin  sys      var

sudo grub-install --root-directory=/mnt /dev/sda

Au redémarrage, la situation n'a pas évolué (file not found)
Merci d'avance de votre aide,


Jean-Louis


Pour info, voici ce qu'affiche fdisk -l


$ sudo fdisk -l

Disque /dev/sda: 160.0 Go, 160041885696 octets
240 têtes, 63 secteurs/piste, 20673 cylindres
Unités = cylindres de 15120 * 512 = 7741440 octets
Identifiant de disque : 0x03bd2869

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sda1   *           1        6118    46252048+   7  HPFS/NTFS
/dev/sda2           19319       20673    10243800   1c  Cachée W95 FAT32 (LBA)
/dev/sda3            6119       19318    99786771+   f  W95 Etendue (LBA)
/dev/sda5            6119        6823     5329737+   7  HPFS/NTFS
/dev/sda6           13766       16602    21438711   83  Linux
/dev/sda7           16602       19199    19631398+  83  Linux
/dev/sda8           19199       19318      899608+  82  Linux swap / Solaris

Les entrées de la table de partitions ne sont pas dans l'ordre du disque

Disque /dev/sdb: 500.1 Go, 500107862016 octets
255 têtes, 63 secteurs/piste, 60801 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Identifiant de disque : 0xcb4a53fb

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1               1       60801   488384001    7  HPFS/NTFS

Dernière modification par jean-louis67 (Le 20/11/2009, à 16:18)

Hors ligne

#2 Le 18/11/2009, à 13:37

pipou24

Re : [résolu] Grub error après insertion d'une nouvelle partition

salut.

Dans ton cas, ce n'est pas le MBR qui doit etre réécrit, mais les fichiers de configuration de grub. demarre manuellement ubuntu puis :

sudo update-grub

ensuite :

cat /boot/grub/grub.cfg

doit te donner l'uuid de la partition qui contient /boot que tu peut verifier avec

sudo blkid | grep sda7

Non geek et fier de l'être. ㋡

Hors ligne

#3 Le 18/11/2009, à 14:16

jean-louis67

Re : [résolu] Grub error après insertion d'une nouvelle partition

Bonjour,


Merci d'avoir pris le temps de t'intéresser à mon problème.

L'erreur se produit avant que le menu décrit dans le fichier grub.cfg ne soit affiché. Ce menu s'affiche lorsqu'on rentre la commande

configfile (hd0,7)/boot/grub/grub.cfg

sous le prompt grub rescue>

C'est pourquoi je pensais que le chemin vers la partition contenant grub.cfg dans le MBR était incorrect après l'insertion de la nouvelle partition.
Quoiqu'il en soit, une fois dans ubuntu, La commande sudo update-grub se déroule comme ceci:

Generating grub.cfg ...
Found Debian background: Hengwiller_automne_2008.tga
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sda1
done

la commande sudo blkid
affiche ceci:

/dev/sda1: UUID="4E286AD3286ABA1B" LABEL="WinXP_SP2" TYPE="ntfs"
/dev/sda2: LABEL="IBM_SERVICE" UUID="D76D-7B1B" TYPE="vfat"
/dev/sda5: UUID="509240B02342D504" LABEL="DATA" TYPE="ntfs"
/dev/sda6: LABEL="part1" UUID="854fd9c6-fbd2-40b9-b2c4-a329c1690d26" TYPE="ext4"
/dev/sda7: UUID="4f2da9b5-23d5-4b21-8a49-13c642c7ce86" TYPE="ext4"
/dev/sda8: UUID="6ecaa1c8-45cd-4f30-a116-1882908c3f1b" TYPE="swap"
/dev/sda9: LABEL="part2" UUID="f916cf76-b390-421d-9175-bc56667ea3a5" TYPE="ext4"

/dev/sda6 est une partition rajoutée il y a quelques jours, et /dev/sda9 celle rajoutée ce matin et à l'origine du problème.
/dev/sda7 est bien la partition contenant /boot/grub

Enfin, le contenu du fichier grub.cfg se trouve ci-dessous. Finalement, je ne vois pas quoi faire pour résoudre mon problème (j'ai bien vérifié qu'après update-grub, le problème persistait).

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
  have_grubenv=true
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  saved_entry=${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry=
  save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set 4f2da9b5-23d5-4b21-8a49-13c642c7ce86
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set 4f2da9b5-23d5-4b21-8a49-13c642c7ce86
insmod tga
if background_image /boot/grub/Hengwiller_automne_2008.tga ; then
  set color_normal=yellow/black
  set color_highlight=white/black
else
  set menu_color_normal=black/black
  set menu_color_highlight=magenta/black
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,7)
    search --no-floppy --fs-uuid --set 4f2da9b5-23d5-4b21-8a49-13c642c7ce86
    linux    /boot/vmlinuz-2.6.31-14-generic root=UUID=4f2da9b5-23d5-4b21-8a49-13c642c7ce86 ro  splash vga=786  quiet splash
    initrd    /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    insmod ext2
    set root=(hd0,7)
    search --no-floppy --fs-uuid --set 4f2da9b5-23d5-4b21-8a49-13c642c7ce86
    linux    /boot/vmlinuz-2.6.31-14-generic root=UUID=4f2da9b5-23d5-4b21-8a49-13c642c7ce86 ro single  splash vga=786
    initrd    /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
    insmod ntfs
    set root=(hd0,1)
    search --no-floppy --fs-uuid --set 4e286ad3286aba1b
    drivemap -s (hd0) ${root}
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

Dernière modification par jean-louis67 (Le 19/11/2009, à 16:25)

Hors ligne

#4 Le 18/11/2009, à 15:04

pipou24

Re : [résolu] Grub error après insertion d'une nouvelle partition

ok, je crois avoir compris :

sudo grub-install --root-directory=/mnt /dev/sda

tu inscrit dans le MBR de chercher dans /mnt, mais ce point de montage n'existe plus au redemarrage !

donc :

sudo grub-install /dev/sda

devrait fonctionner, sinon :
sudo grub-install --root-directory=/dev/sda7 /dev/sda ???


Non geek et fier de l'être. ㋡

Hors ligne

#5 Le 18/11/2009, à 15:29

jean-louis67

Re : [résolu] Grub error après insertion d'une nouvelle partition

smile Oui , c'est ça!

Je crois que je suis preneur d'explications supplémentaires...

Tout d'abord, avant de faire la manipulation que tu as indiquée, je venais de constater que sous grub, la commande set indiquait:

root=(hd0,7)/mnt/boot/grub

Cela correspond tout à fait à ta déduction.
Cela venait certainement de ma commande précédente sudo grub-install --root-directory=/mnt /dev/sda. J'avais récupéré cette commande dans le post déjà cité et qui m'avait bien aidé à démarrer ubuntu "à la main".
Je ne sais pas bien pourquoi l'auteur a recommandé de monter /dev/sda7 sur mnt

Sans doute parce que la commande suivante (celle que tu as suggérée) ne fonctionne pas:

sudo grub-install --root-directory=/dev/sda7 /dev/sda
mkdir: ne peut créer le répertoire `/dev/sda7/boot': N'est pas un dossier

C'est bien la suivante qui a résolu le problème;

sudo grub-install /dev/sda

Si je comprends bien, grub-install récupère des informations dans grub.cfg, une fois ce fichier mis à jour par update-grub?

Auquel cas la bonne façon est donc bien:

sudo update-grub
sudo  grub-install /dev/sda

Plutôt celle que j'avais trouvée dans le post

sudo grub-install --root-directory=/mnt /dev/sda
sudo update-grub

En tout cas merci beaucoup de ton aide rapide et efficace!

Hors ligne