C'est la première question que je pose à la communauté Ubuntu.
Je suis assez nouveau sur Ubuntu, mais je comprends les bases et je sais comment naviguer dans le terminal. Je sais aussi comment rechercher les solutions existantes avant de demander de l'aide. J'ai parcouru Internet haut et bas et appris beaucoup de choses sur le fonctionnement de Grub2. Mais rien ne m'a aidé à résoudre mon problème.
Mon problème est le suivant: j'ai un ordinateur doté de trois disques durs. Auparavant, il disposait de Windows XP, mais j'ai mis à niveau vers Windows 7. J'ai également installé Ubuntu 12.04 LTS (Precise Pangolin).
Lors de l'installation de Windows 7, il y a eu un échec et j'ai dû redémarrer l'installation. Ensuite, j'ai installé Ubuntu. Après quelques problèmes pour supprimer toutes les traces du système d'exploitation XP (Ubuntu l'a détecté automatiquement, mais pas sous Windows 7), les deux systèmes d'exploitation ont parfaitement fonctionné. Ou presque.
Lors du démarrage, Grub2 affichait Ubuntu, Mode de récupération Ubuntu, Autres versions de Linux, memtest, suivi de Windows 7 (loader) on /dev/sda1
et Windows 7 (loader) on /dev/sdb1
.
J'ai finalement supprimé le mode de récupération, les autres versions et Memtest. Maintenant, quand je cours:
Sudo update-grub
Je reçois cette impression:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-26-generic
Found initrd image: /boot/initrd.img-3.2.0-26-generic
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sdb1
Je souhaite supprimer "Windows 7 (chargeur) sur/dev/sda1", car il s'agit d'une entrée cassée qui ne devrait pas exister et qui doit avoir été installée lors de ma première tentative Windows 7.
Je ne parviens pas à trouver une entrée Windows 7 dans le dossier /etc/grub.d
Et je ne sais pas où chercher.
Voici une mise en page de mes disques durs:
/dev/sda1/ (1.82 TiB), NTFS ("Media")
/dev/sdb1/ (100 Mib), NTFS ("System Reserved")
/dev/sdb2/ (149 GiB), NTFS ("Windows 7")
/dev/sdb3/ (149 GiB), Extended (" ")
/dev/sdb4/ (145 GiB), ext4 (" ")
/dev/sdb5/ (4 GiB), linux-swap (" ")
/dev/sdc1/ (488.28 GiB), NTFS ("Downloads")
/dev/sdc2/ (488.28 GiB), NTFS ("AltMedia")
/dev/sdc3/ (886.45 GiB), NTFS ("Personal")
unallocated (2.09 MiB), unallocated
Ce que je pense est arrivé: Windows 7 s’est d'abord et mal installé. Je l'ai réinstallé. Premièrement, il y avait Windows XP pour indiquer où se trouvait le programme d'amorçage afin de le placer sur /dev/sdb1/
. Mais, la deuxième fois, aucun guide de ce type n’existait et la machine mit un autre chargeur de démarrage sur /dev/sda1/
. Sda1, par ailleurs, est la seule partition sur un lecteur de 2 To. Aucune partition d'enregistrement de démarrage ne semble exister selon gedit
. Je ne sais pas d'où Grub2 obtient cette information. Mais voilà.
Y a-t-il quelque chose que quelqu'un puisse faire pour m'aider? Ou, y a-t-il d'autres informations que je devrais ajouter?
Je ne sais pas si votre disque dur /dev/sda
est un lecteur interne ou externe. S'il s'agit d'un lecteur externe, débranchez-le avant d'exécuter la commande update-grub2
. Cela devrait aider rapidement.
Montez le lecteur /dev/sda1
. (je suppose que vous pouvez le faire très facilement). Ensuite, dans ce lecteur, recherchez un dossier nommé Boot
et un fichier nommé bootmgr
. Supprimez le dossier et le fichier. Ensuite, exécutez à nouveau la commande update-grub2
.
Vous voudrez peut-être réinstaller grub2. Comme je vois que votre installation Ubuntu est à /dev/sdb
, les commandes seront
Sudo grub-install /dev/sdb
Sudo update-grub
Grub2 recherche les fichiers de démarrage Windows pour détecter les entrées Windows. Bien que vous ayez supprimé Windows 7, les fichiers de démarrage de Windows 7 ne sont pas supprimés (le dossier "Boot" et le fichier "bootmgr"). Et comme les fichiers de démarrage de Windows 7 sont présents, grub2 suppose simplement qu’il existe également une installation de Windows 7. D'où la double entrée.
Vous devriez trouver ce que vous cherchez dans /boot/grub/grub.cfg
. Ce fichier est généré dynamiquement par update-grub2
. Je suis à double démarrage Ubuntu 32bit et 64bit. Si je voulais en supprimer un, je supprimerais simplement sa section de ce fichier. Voici à quoi ressemble l'une de mes entrées-
menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 94916094-afe9-4b74-9413-a3c54b39eb91
linux /boot/vmlinuz-3.2.0-23-generic root=UUID=94916094-afe9-4b74-9413-a3c54b39eb91 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-23-generic
}
Les modifications doivent prendre effet immédiatement, alors faites une sauvegarde et soyez prudent. En outre, tout ce que vous modifiez dans ce fichier sera complètement écrasé si vous exécutez à nouveau update-grub2
.