Ma configuration de partition est:
[Win7] [Ubuntu] [extended [logical partition]]
(dans cet ordre exact)
Le chargeur de démarrage installé dans le MBR est un système non standard qui vous permet de charger en chaîne un chargeur de démarrage secondaire sur une autre partition. J'utilise cette option, sinon je lance Ubuntu via GRUB installé sur/dev/sda1. Cette configuration a toujours fonctionné pour moi, mais après la mise à niveau de mon disque dur, il semble impossible de restaurer GRUB dans un état opérationnel. J'ai mis à niveau en restaurant les images de sauvegarde récentes sur le lecteur (cela a déjà fonctionné pour moi)
Mais, cette fois, je viens de recevoir:
Error: no such partition. Grub rescue>
Je peux démarrer l'installation Ubuntu avec ceci à l'invite de secours:
set root=(hd0,1)
set prefix=(hd0,1)/boot/grub
insmod normal
normal
Mais c'est assez bête de taper ça à chaque fois.
Voici la structure de mon disque selon fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 122896725 146336084 11719680 83 Linux
/dev/sda2 178053120 976773119 399360000 5 Extended
/dev/sda3 * 929 122881184 61440128 7 HPFS/NTFS/exFAT
/dev/sda5 178055168 976773119 399358976 7 HPFS/NTFS/exFAT
Partition table entries are not in disk order
J'ai essayé grub-setup
, grub-install
, boot-repair
(qui ne fonctionne pas car il n'offre que l'option d'installation sur MBR), aucun n'a fonctionné.
J'ai une clé USB avec GRUB installé (qui fonctionne lorsque je l'utilise pour démarrer l'installation Ubuntu sur l'ordinateur portable à/dev/sda1) et son fichier grub.cfg est identique à celui de/dev/sda1.
Si je devais deviner, le fait que l'ordre des partitions répertoriées dans fdisk -l
ne corresponde pas à l'ordre dans lequel elles ont été organisées sur le disque a-t-il un effet?
Quand je tape set
à l'invite de commande, je reçois
prefix=(hd0,msdos2)/boot/grub
root=hd0,msdos2
Problème résolu avec la commande:
Sudo grub-install /dev/sda1 --force
--force
était la pièce essentielle manquante du puzzle.