web-dev-qa-db-fra.com

Le système ne démarre pas sans clé USB insérée

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 ###
1
agent154

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.

2
ubfan1

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

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:

Disque Super Grub2

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é.

1
Zuul