#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