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 15/10/2010, à 09:44

malbo

wubi install Ubuntu 10.10 error file not found no suitable mode found

Après une mise à jour impliquant une mise à jour de grub (c'est le cas pour une mise à jour du noyau), au redémarrage du PC, on choisit ubuntu et au lieu du menu Grub, on voit ça à l'écran :

error : file not found.
error : file not found.
error : no suitable mode found 

A noter que chez moi, j'ai deux lignes "file not found" mais que parfois je n'en ai qu'une toute seule (sans le "no suitable mode found "), parfois je n'ai que la ligne "no suitable mode found " qui apparait un quart de seconde et le PC redémarre tout seul. 
La raison de cette mauvaise blague ? La raison de fond pour moi, c'est que Wubi n'est pas fiable. Wubi, c'est de la démo, de la frime pour s'essayer à Linux. En ce moment, Wubi est un peu plus merdique qu'en "temps normal" (il faudrait définir ce que veut dire cette expression s'agissant de Wubi...). En effet, Ubuntu 10.10 vient de sortir et je pense que pour l'heure la priorité c'est que Ubuntu - installé classiquement sur partitions Linux - fonctionne le mieux possible dans tous les PC du monde, en bonne intelligence avec les autres OS préinstallés dans les PC. Et moi je suis bien d'accord avec ça. Wubi passe derrière.

Ce petit épanchement étant enfin terminé, passons à la réparation.
C'est l'expert "bcbc" du forum anglais de Ubuntu qui donne cette solution :
http://ubuntuforums.org/showpost.php?p= … ostcount=5
Moi, je l'ai pompée (la solution, donc ça s'accorde hein?), validée dans mes PC et je la détaille à ma façon ci-dessous.

ATTENTION : LA SOLUTION SUIVANTE NE S'APPLIQUE QU'A UNE INSTALLATION DANS WINDOWS AVEC WUBI (si vous avez fait une installation classique de Ubuntu sur partitions Linux, cette solution ne fonctionne pas)

1) démarrez le PC sur le live-CD (ou une clé live-USB) Ubuntu 10.10 (ou si vous n'avez pas, Ubuntu 10.04), choix "essayer sans installer"

2) montez la partition sur laquelle se trouve le dossier ubuntu
Tapez la ligne suivante dans un Terminal (Applications > Accessoires > Terminal) :

sudo mkdir /win

validez par la touche Entrée
Tapez ensuite cette ligne en remplaçant sdxy par le repère de la partition sur laquelle se trouve le dossier ubuntu. Cela veut dire pour les novices que si vous n'avez qu'un seul disque dur comportant une seule partition qui est votre disque C: suivant l'appellation windows, et que vous avez installé Ubuntu par Wubi dans C: , vous remplacerez sdxy par sda1 dans la ligne suivante (sda1 veut dire : première partition du disque dur sda) :

sudo mount /dev/sdxy /win

validez par la touche Entrée

3) montez la partition virtuelle ubuntu

sudo mkdir /vdisk

validez par la touche Entrée

sudo mount -o loop /win/ubuntu/disks/root.disk /vdisk

validez par la touche Entrée

4) modifier avec pouvoir administrateur le fichier grub.cfg qui se trouve dans /vdisk
Tapez la ligne suivante dans le Terminal

gksudo gedit /vdisk/boot/grub/grub.cfg

validez par la touche Entrée
Une fenêtre doit apparaitre, c'est l'éditeur de texte gedit qui affiche le contenu du fichier grub.cfg
On supprime tout le début jusqu'à la ligne (comprise dans la suppression) :

### BEGIN /etc/grub.d/10_lupin ###

ce qui reste commence par la première entrée du menu grub qui commence par le mot "menuentry". A ce jour, chez moi, c'est la ligne suivante qui se retrouve donc en première ligne :

menuentry "Ubuntu, Linux 2.6.35-22-generic" {

Enregistrez le fichier depuis gedit  (fichier> enregistrer) puis fermez gedit.

5) démontage
Dans le terminal, tapez la ligne suivante

sudo umount /vdisk

validez par la touche Entrée
Puis

sudo umount /win

validez par la touche Entrée
Fermez le terminal et redémarrez le PC sur Ubuntu installé par Wubi. Youpi ça marche ! (je vous le souhaite)

La procédure qui vient d'être décrite permet de retrouver Ubuntu 10.10. C'est déjà bien mais la panne pourra se reproduire à chaque mise à jour du noyau. Pour dépanner plus durablement, j'indique une solution tout en bas du post #2

Dernière modification par malbo (Le 18/10/2010, à 12:33)

Hors ligne

#2 Le 15/10/2010, à 16:54

malbo

Re : wubi install Ubuntu 10.10 error file not found no suitable mode found

Ce post #2 décrit le mécanisme de dégradation de l'install Ubuntu 10.10 par Wubi qui amène cette panne

1) install toute neuve dans C: sous Win7 (Ubuntu et le système Win7 sont dans la même partition)
Le dossier /boot/grub contient seulement deux fichiers : grub.cfg et grubenv.
Ci-dessous l'entête du fichier grub.cfg (jusqu'à la première "menuentry"). Il y a 52 lignes :

#
# 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 {
}

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
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###

2) commande d'installation de grub dans le MBR de sda :

sudo grub-install /dev/sda

normalement, cette commande ne devrait pas être passée à ma connaissance dans une install avec Wubi mais il arrive qu'elle soit passée sur des suggestions de contributeurs du forum qui ne savent pas qu'il s'agit d'une install par Wubi.
Après cette commande, le dossier /boot/grub a énormément grossi : il compte 190 éléments (sous-dossiers et fichiers) dont les 2 fichiers déjà mentionnés plus haut : grub.cfg et grubenv :

$ dir /boot/grub
915resolution.mod         gcry_serpent.mod     part_sunpc.mod
acpi.mod             gcry_sha1.mod     parttool.lst
affs.mod             gcry_sha256.mod     parttool.mod
afs_be.mod             gcry_sha512.mod     password.mod
afs.mod                 gcry_tiger.mod     password_pbkdf2.mod
aout.mod             gcry_twofish.mod     pbkdf2.mod
ata.mod                 gcry_whirlpool.mod  pci.mod
ata_pthru.mod             gettext.mod     play.mod
at_keyboard.mod             gfxmenu.mod     png.mod
befs_be.mod             gfxterm.mod     probe.mod
befs.mod             gptsync.mod     pxeboot.img
biosdisk.mod             grldr.img         pxecmd.mod
bitmap.mod             grub.cfg         pxe.mod
bitmap_scale.mod         grubenv         raid5rec.mod
blocklist.mod             gzio.mod         raid6rec.mod
boot.img             halt.mod         raid.mod
boot.mod             handler.lst     read.mod
bsd.mod                 hashsum.mod     reboot.mod
bufio.mod             hdparm.mod         regexp.mod
cat.mod                 hello.mod         reiserfs.mod
cdboot.img             help.mod         relocator.mod
chain.mod             hexdump.mod     scsi.mod
cmostest.mod             hfs.mod         search_fs_file.mod
cmp.mod                 hfsplus.mod     search_fs_uuid.mod
command.lst             iorw.mod         search_label.mod
configfile.mod             iso9660.mod     search.mod
cpio.mod             jfs.mod         serial.mod
cpuid.mod             jpeg.mod         setjmp.mod
crc.mod                 kernel.img         setpci.mod
crypto.lst             keystatus.mod     sfs.mod
crypto.mod             linux16.mod     sleep.mod
cs5536.mod             linux.mod         tar.mod
datehook.mod             lnxboot.img     terminal.lst
date.mod             loadenv.mod     terminal.mod
datetime.mod             locale         terminfo.mod
diskboot.img             loopback.mod     test.mod
dm_nv.mod             lsmmap.mod         tga.mod
drivemap.mod             ls.mod         trig.mod
echo.mod             lspci.mod         true.mod
efiemu32.o             lvm.mod         udf.mod
efiemu64.o             mdraid.mod         ufs1.mod
efiemu.mod             memdisk.mod     ufs2.mod
elf.mod                 memrw.mod         uhci.mod
example_functional_test.mod  minicmd.mod     usb_keyboard.mod
ext2.mod             minix.mod         usb.mod
extcmd.mod             mmap.mod         usbms.mod
fat.mod                 moddep.lst         usbtest.mod
font.mod             msdospart.mod     vbeinfo.mod
fshelp.mod             multiboot2.mod     vbe.mod
fs.lst                 multiboot.mod     vbetest.mod
functional_test.mod         nilfs2.mod         vga.mod
gcry_arcfour.mod         normal.mod         vga_text.mod
gcry_blowfish.mod         ntfscomp.mod     video_bochs.mod
gcry_camellia.mod         ntfs.mod         video_cirrus.mod
gcry_cast5.mod             ohci.mod         video_fb.mod
gcry_crc.mod             part_acorn.mod     video.lst
gcry_des.mod             part_amiga.mod     video.mod
gcry_md4.mod             part_apple.mod     videotest.mod
gcry_md5.mod             part_bsd.mod     xfs.mod
gcry_rfc2268.mod         part_gpt.mod     xnu.mod
gcry_rijndael.mod         partmap.lst     xnu_uuid.mod
gcry_rmd160.mod             part_msdos.mod     zfsinfo.mod
gcry_seed.mod             part_sun.mod     zfs.mod

Par contre, le contenu de grub.cfg est inchangé.
A noter que le fichier wubildr que se trouve à la racine de C: (vu sous Win7) est modifié mais ce n'est pas lui qui va faire exploser le truc.

3) mise à jour de Grub :

sudo update-grub

Le fichier grub.cfg a son entête qui a gonflé. Il y a maintenant 75 lignes (au lieu des 52 du départ) :

#
# 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 part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set fe743d36743cf34f
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set fe743d36743cf34f
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
set locale_dir=($root)/boot/grub/locale
set lang=fr
insmod gettext
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
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###

Ce sont ces 23 lignes en plus qui foutent le bazar et qui obligent à faire la manip décrite dans le post #1 (couper toute l'entête). S'il n'y avait pas eu de commande grub-install (que j'ai passée volontairement pour montrer le mécanisme), on n'aurait pas cette réaction en chaine.

SOLUTION UN PEU PLUS DURABLE (que la solution du post #1):
Pour appliquer cette solution, il faut déjà avoir réparé le démarrage de Ubuntu en suivant la procédure détaillée dans le post #1. Cela étant fait, on peut démarrer sur Ubuntu et appliquer ce qui suit.
Puisque ce sont les dossiers qui ont été ajoutés dans /boot/grub qui ont entrainé l'ajout des 23 lignes dans l'entête du fichier grub.cfg, il suffit de supprimer tous les éléments (dossiers et fichiers) dans /boot/grub sauf les deux fichiers grub.cfg et grubenv. Pour ce faire, il faut ouvrir le navigateur de fichiers avec pouvoir administrateur. Taper dans un terminal :

gksudo nautilus

Dans le navigateur nautilus qui s'ouvre, naviguer jusqu'à /boot/grub
Edition > Tout sélectionner ; on appuie sur la touche Ctrl et on maintient l'appui pendant qu'on clique sur les fichiers grub.cfg et grubenv pour les désélectionner, on relâche la touche Ctrl, on appuie ensuite sur les touches Majuscules et Suppr (pour faire une suppression définitive des fichiers indésirables),un message demande "souhaitez vous vraiment...", cliquez sur supprimer. ça y est, il ne reste plus que grub.cfg et grubenv dans /boot/grub. Fermez le navigateur.
Après cela, on peut passer la commande de mise à jour de Grub :

sudo update-grub

Le fichier grub.cfg est mis à jour et on le retrouve identique à ce qu'il était à l'installation (paragraphe1), c'est à dire à 52 lignes. Là, si on redémarre le PC, la panne ne se produit plus. C'est une solution intéressante pour que la panne ne se reproduise plus à chaque mise à jour de grub.cfg

En conclusion :
C'est l'utilisation de la commande grub-install - qu'on ne devrait jamais passer dans le cas d'un Ubuntu installé par Wubi - qui déclenche la maladie cachée. Rien ne se passe apparemment et on peut rester des jours et des jours sans que le problème soit révélé. C'est seulement à l'occasion d'une mise à jour du noyau que le grub.cfg sera mis à jour et que le problème surgira au redémarrage du PC.

Dernière modification par malbo (Le 19/10/2010, à 05:08)

Hors ligne