J'ai déjà rencontré ce problème lors de l'essai de Linux Mint, mais je n'ai pas pu obtenir d'aide. J'ai alors été amené à croire que c'était un problème lié à la menthe, et non à la bouffe.
J'ai installé Ubuntu 12.04 ce soir sur une deuxième partition aux côtés de Windows 7. J'ai installé à partir d'une clé USB, et tout s'est passé comme un pêche jusqu'à ce que je redémarre sans la clé dans ma tour. Il dit maintenant:
error: no such device: 20cec6ca-4024-4237-84c3-2dba3c851497
grub rescue >
J'ai vérifié via ls -l /dev/disk/by-uuid
que mon lecteur sur lequel Ubuntu est installé correspond à l'UUID qui n'existe pas. L'UUID de ma clé USB une fois insérée se trouve être 06B3-9C68.
Il n'y a aucune mention de l'UUID de ma clé USB dans /boot/grub/grub.cfg
J'ai également essayé de réinstaller GRUB après avoir démarré mon système, retiré le stick et exécuté grub-install /dev/sda
. Cela se produit toujours et je ne peux pas démarrer sans le lecteur USB inséré dans l'ordinateur. Et ce qui m'intéresse vraiment, c'est que l'ordre de démarrage de mon système est CDROM> Disque dur> USB. Il n'atteint même pas l'USB pour essayer de démarrer à partir de celui-ci, alors pourquoi est-ce important qu'il ne soit pas là?
Edit: Aussi, j'ai exécuté grub-config sans le bâton, suivi d'une autre installation de grub. Toujours pas.
FWIW, voici mon fichier grub.cfg:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
set locale_dir=($root)/boot/grub/locale
set lang=en_CA
insmod gettext
fi
terminal_output gfxterm
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 ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="$1"
if [ "$1" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ ${recordfail} != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
linux /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-25-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-25-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
echo 'Loading Linux 3.2.0-25-generic-pae ...'
linux /boot/vmlinuz-3.2.0-25-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-25-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
echo 'Loading Linux 3.2.0-23-generic-pae ...'
linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=20cec6ca-4024-4237-84c3-d2ba3c851497 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-23-generic-pae
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos5)'
search --no-floppy --fs-uuid --set=root 20cec6ca-4024-4237-84c3-d2ba3c851497
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9014706714705268
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 ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Votre problème semble être le hd1 apparaissant dans votre grub.cfg. Pour un système à disque unique, je m'attendrais à ce que ce soit hd0. En supposant que vos UUID sont corrects, démarrez avec le stick, modifiez les autorisations sur /boot/grub/grub.cfg pour inclure w (Sudo chmod + w grub.cfg), modifiez le fichier (Sudo vi grub.cfg) et modifiez chaque hd1 à hd0. enregistrez-le, arrêtez, retirez le stick et redémarrez. Dans le menu grub, vous pouvez vérifier les disques disponibles - entrez c pour la ligne de commande grub, puis tapez "set root =" puis l'onglet pour la saisie semi-automatique. Plusieurs choix seront proposés s'ils sont disponibles, mais si seul hd0 est disponible, il sera rempli pour "set root = hd0", un autre onglet proposera les choix de partition, qui devraient inclure ceux que vous voulez. Peut-être que la correction de l'édition du hd1 en hd0 fonctionnerait directement à partir du menu grub, tapez e pour modifier et changez les hd1 puis F10 (ou ctrl X) pour redémarrer. Si cela fonctionne, corrigez les problèmes de façon permanente avec Sudo update-grub.
Votre chargeur de démarrage semble pointer vers l'adresse où se trouvait votre lecteur USD au moment de l'installation.
J'ai dû faire face à cela dans le passé et j'ai pu résoudre le problème en utilisant:
Boot-Repair est un outil simple pour réparer les problèmes de démarrage fréquents que vous pouvez rencontrer dans Ubuntu comme lorsque vous ne pouvez pas démarrer Ubuntu après avoir installé Windows ou une autre distribution Linux, ou lorsque vous ne pouvez pas démarrer Windows après avoir installé Ubuntu, ou lorsque GRUB n'est plus affiché, certaines mises à niveau interrompent GRUB, etc.
Une autre méthode que j'ai utilisée pour résoudre ce type de situations était d'utiliser Super Grub2 Disk pour me permettre de démarrer à l'intérieur de la partition Linux, puis d'utiliser les outils d'administration pour corriger mon chargeur de démarrage:
Le but principal de Super GRUB2 Disk est de vous aider à démarrer dans un système d'exploitation dont le chargeur de démarrage est cassé.