GRUB.:: Incohérence

Hello,

Je demande pas souvent de l’aide, mais pourquoi le Gui du Grub au boot ne me dit pas la même version (une beta) que celle apparamment installé 1.99-27+deb7u3 ?

Je mets les infos que je juge importantes pour présenter mon SE et la capture du Gui de Grub

root@debian:/home/angel# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.10 (wheezy)
Release: 7.10
Codename: wheezy
root@debian:/home/angel# grub-install -v
grub-install (GNU GRUB 0.97)
root@debian:/home/angel# dpkg -l | grep grub
ii grub-common 1.99-27+deb7u3 i386 GRand Unified Bootloader (common files)
ii grub-legacy 0.97-67 i386 GRand Unified Bootloader (Legacy version)
rc grub-pc 1.99-27+deb7u3 i386 GRand Unified Bootloader, version 2 (PC/BIOS version)
ii grub-pc-bin 1.99-27+deb7u3 i386 GRand Unified Bootloader, version 2 (PC/BIOS binaries)
root@debian:/home/angel# apt-get install grub
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Note : sélection de « grub-legacy » au lieu de « grub »
grub-legacy est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
root@debian:/home/angel# aptitude install grub
Aucun paquet ne va être installé, mis à jour ou enlevé.
0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o d’archives. Après dépaquetage, 0 o seront utilisés.

un sources.list de base .::

angel@debian:~$ cat /etc/apt/sources.list

[code]
deb http://ftp.fr.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main

wheezy-updates, previously known as ‘volatile’

deb http://ftp.fr.debian.org/debian/ wheezy-updates main[/code]

et voici la capture du boot grub beta Oo

Merci pour votre lecture \o

salut,
Verifie par

apt-cache policy grub-common

grub-common:
Installé : 2.02~beta2-36
Candidat : 2.02~beta2-36
Table de version :
*** 2.02~beta2-36 500
500 http://httpredir.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
2.02~beta2-22+deb8u1 500
500 http://security.debian.org/debian-security jessie/updates/main amd64 Packages

Généralement, parce le chargeur GRUB qui est exécuté au démarrage n’est pas celui qui est installé par le paquet grub-*.

1.99-27+deb7u3 est la version de Wheezy (oldstable).
2.02~beta2-36 est la version de Stretch (testing). Néanmoins la forme du menu est celle produite par l’update-grub de Wheezy donc il y a des chances que les fichiers des deux chargeurs partagent le même répertoire de base /boot/grub.
Peux-tu regarder le contenu de /boot/grub ?

Tu peux aussi installer le paquet boot-info-script et exécuter bootinfoscript pour analyser les chargeurs d’amorçage du disque.

Edit : Je n’avais pas fait attention, le paquet grub-pc (GRUB 2) a été désinstallé et c’est le paquet grub-legacy (GRUB 1) qui est actuellement installé. Mais en tout cas ce n’est pas le menu de GRUB 1 qui s’affiche.

grandtoubab pour te répondre :

[code]root@debian:/home/angel# apt-cache policy grub-common
grub-common:
Installé : 1.99-27+deb7u3
Candidat : 1.99-27+deb7u3
Table de version :
*** 1.99-27+deb7u3 0
500 http://ftp.fr.debian.org/debian/ wheezy/main i386 Packages
500 http://security.debian.org/ wheezy/updates/main i386 Packages
100 /var/lib/dpkg/status

[/code]

PascalHambourg pour te répondre:

[code] Boot Info Script 0.61 [1 April 2012]

============================= Boot Info Summary: ===============================

=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of
the same hard drive for core.img. core.img is at this location and looks
in partition 114 for .

sda1: __________________________________________________________________________

File system:       ext4
Boot sector type:  Grub2 (v1.99)
Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1 
                   and looks at sector 13462984 of the same hard drive 
                   for core.img. core.img is at this location and looks 
                   for (,msdos1)/boot/grub on this drive.
Mounting failed:   mount : /dev/sda1 est déjà monté ou sda1 est occupé

sda2: __________________________________________________________________________

File system:       Extended Partition
Boot sector type:  -
Boot sector info: 

sda5: __________________________________________________________________________

File system:       swap
Boot sector type:  -
Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________
GNU Fdisk 1.2.4
Copyright © 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful,

Partition Boot Start Sector End Sector # of Sectors Id System

/dev/sda1 * 2,048 153,507,839 153,505,792 83 Linux
/dev/sda2 153,509,886 160,086,015 6,576,130 5 Extended
/dev/sda5 153,509,888 160,086,015 6,576,128 82 Linux swap / Solaris

“blkid” output: ________________________________________________________________

Device UUID TYPE LABEL

/dev/sda1 f3270b15-b4d1-44a9-a8b1-467615003a32 ext4
/dev/sda5 5dfa222c-fa94-4dfb-abd6-a3d4381fdef1 swap

================================ Mount points: =================================

Device Mount_Point Type Options

/dev/disk/by-uuid/f3270b15-b4d1-44a9-a8b1-467615003a32 / ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)

=============================== StdErr Messages: ===============================

xz : (stdin): Les données compressées sont corrompues

[/code]

je te donne le contenu de /boot/grub ne sachant pas quoi trop regarder dedans

[code]root@debian:/boot/grub# ls -a
. lsacpi.mod
… lsapm.mod
915resolution.mod lsmmap.mod
acpi.mod ls.mod
adler32.mod lspci.mod
affs.mod lvm.mod
afs_be.mod lzopio.mod
afs.mod mdraid09.mod
aout.mod mdraid1x.mod
ata.mod memdisk.mod
ata_pthru.mod memrw.mod
at_keyboard.mod menu.lst
befs_be.mod menu.lst~
befs.mod menu.lst_backup_by_grub2_prerm
biosdisk.mod minicmd.mod
bitmap.mod minix2.mod
bitmap_scale.mod minix.mod
blocklist.mod mmap.mod
boot.img moddep.lst
boot.mod msdospart.mod
bsd.mod multiboot2.mod
btrfs.mod multiboot.mod
bufio.mod nilfs2.mod
cat.mod normal.mod
cdboot.img ntfscomp.mod
chain.mod ntfs.mod
cmostest.mod ntldr.mod
cmp.mod ohci.mod
command.lst part_acorn.mod
configfile.mod part_amiga.mod
core.img part_apple.mod
cpio.mod part_bsd.mod
cpuid.mod part_gpt.mod
crypto.lst partmap.lst
crypto.mod part_msdos.mod
cs5536.mod part_sun.mod
datehook.mod part_sunpc.mod
date.mod parttool.lst
datetime.mod parttool.mod
default password.mod
device.map password_pbkdf2.mod
diskboot.img pbkdf2.mod
dm_nv.mod pci.mod
drivemap.mod play.mod
echo.mod png.mod
efiemu32.o probe.mod
efiemu64.o pxeboot.img
efiemu.mod pxecmd.mod
elf.mod pxe.mod
example_functional_test.mod raid5rec.mod
ext2.mod raid6rec.mod
extcmd.mod raid.mod
fat.mod read.mod
font.mod reboot.mod
fonts regexp.mod
fshelp.mod reiserfs.mod
fs.lst relocator.mod
functional_test.mod scsi.mod
g2hdr.img search_fs_file.mod
gcry_arcfour.mod search_fs_uuid.mod
gcry_blowfish.mod search_label.mod
gcry_camellia.mod search.mod
gcry_cast5.mod sendkey.mod
gcry_crc.mod serial.mod
gcry_des.mod setjmp.mod
gcry_md4.mod setpci.mod
gcry_md5.mod setup_left_core_image_in_filesystem
gcry_rfc2268.mod sfs.mod
gcry_rijndael.mod sleep.mod
gcry_rmd160.mod squash4.mod
gcry_seed.mod tar.mod
gcry_serpent.mod terminal.lst
gcry_sha1.mod terminal.mod
gcry_sha256.mod terminfo.mod
gcry_sha512.mod test_blockarg.mod
gcry_tiger.mod testload.mod
gcry_twofish.mod test.mod
gcry_whirlpool.mod tga.mod
gettext.mod trig.mod
gfxmenu.mod true.mod
gfxterm.mod udf.mod
gptsync.mod ufs1.mod
grldr.img ufs2.mod
grub.cfg uhci.mod
grubenv unicode.pf2
gzio.mod usb_keyboard.mod
halt.mod usb.mod
hashsum.mod usbms.mod
hdparm.mod usbserial_common.mod
hello.mod usbserial_ftdi.mod
help.mod usbserial_pl2303.mod
hexdump.mod usbtest.mod
hfs.mod vbe.mod
hfsplus.mod vga.mod
i386-pc vga_text.mod
iorw.mod video_bochs.mod
iso9660.mod video_cirrus.mod
jfs.mod video_fb.mod
jpeg.mod videoinfo.mod
kernel.img video.lst
keylayouts.mod video.mod
keystatus.mod videotest.mod
legacycfg.mod xfs.mod
linux16.mod xnu.mod
linux.mod xnu_uuid.mod
lnxboot.img xzio.mod
loadenv.mod zfsinfo.mod
locale zfs.mod
loopback.mod
root@debian:/boot/grub#

[/code]

Conclusion de mon analyse de la situation (si tu veux les détails n’hésite pas à demander):

  • Le paquet grub-pc (GRUB 2) 1.99 de Wheezy a été installé puis désinstallé. Sa configuration reste.
  • Le paquet grub-legacy (GRUB 1) est actuellement installé.
  • Le chargeur GRUB 2 (2.02) de Stretch est installé dans le secteur d’amorce du disque /dev/sda (MBR) et ses modules sont installés dans /boot/grub/i386-pc/ sur la partition /dev/sda1.
  • Le chargeur GRUB 2 (1.99) de Wheezy est installé dans le secteur d’amorce de la partition /dev/sda1 et ses modules sont installés dans /boot/grub/ sur cette même partition.

Je suppose que le paquet grub-pc de Wheezy était initialement installé puis a été remplacé par le paquet grub-legacy. Il n’y a que toi qui sache pourquoi, et comment le chargeur GRUB 2 de Stretch a été installé.

Note : ne pas confondre paquet grub-* et chargeur GRUB. Le paquet ne contient pas le chargeur lui-même mais les programmes qui servent à installer et configurer le chargeur. Un chargeur peut donc être présent sans le paquet correspondant et vice versa.

Logiquement, c’est le le chargeur installé dans le MBR, donc GRUB 2.02 de Stretch, qui est actif.
Il utilise un fichier de configuration qui a été généré par le paquet grub-pc de Wheezy pour le chargeur GRUB 1.99 de Wheezy. Ça fonctionne car les syntaxes des deux versions sont en grande partie compatibles (mais il y a de petites différences dans certains cas). Mais comme aucune version du paquet grub-pc n’est actuellement installée, ce fichier ne peut plus être regénéré en cas d’installation/suppression d’un noyau ou de modification des paramètres de démarrage.

La remise en ordre de la situation consisterait à

  • installer le paquet grub-pc et désinstaller le paquet grub-legacy
  • reconfigurer le paquet grub-pc pour installer le chargeur dans le MBR à la place du chargeur de Stretch.

Bonne question ! est ce possible alors que je n’ai qu’un sources.list de base wheezy !!

Le fait de restaurer un ghost avec clonezilla ? je doute …

Je peux desinstaller tout ça via le gestionnaire de paquet synaptic?

ii grub-common 1.99-27+deb7u3 i386 GRand Unified Bootloader (common files)
ii
grub-legacy 0.97-67
i386 GRand Unified Bootloader (Legacy version)
rc grub-pc
1.99-27+deb7u3 i386
GRand Unified Bootloader, version 2 (PC/BIOS version)
ii
grub-pc-bin 1.99-27+deb7u3
i386 GRand Unified Bootloader, version 2 (PC/BIOS binaries)

et faire juste un apt-get install grub-pc grub-common ???

il restera pas des fichiers de config ?

@PascalHambourg
Une question me vient à l’esprit… On avait discuté un peu de tout celà dans un autre sujet, mais par exemple comme dans le cas ici présent, et étant donné que le où les chargeurs peuvent ếtre présents même si les paquets ne le sont pas, comment fait-on pour désinstaller un chargeur donné si le paquet correspondant qui l’installe et le configure n’est plus présent et/ou ne le désinstalle pas lors de sa propre désinstallation?

Si je devais formuler une hypothèse, je dirais que le chargeur GRUB 2.02 de Stretch n’a pas été installé depuis le système Wheezy installé sur ce disque. Mais tout ce à quoi je pense implique une action volontaire, donc tu le saurais à moins que quelqu’un d’autre utilise cette machine. Pas d’installation ou tentative d’installation ou reparation avec l’installateur de Stretch ?

Pas besoin de désinstaller quoi que ce soit.

  1. Purge de l’ancienne configuration du paquet grub-pc avec dpkg --purge grub-pc.
  2. Installation du paquet grub-pc qui va automatiquement désinstaller grub-legacy et remplacer le chargeur de Stretch (en sélectionnant le MBR du disque comme emplacement).

On fait manuellement. La désinstallation d’un chargeur n’est pas prévue.

Et comment ça se passe manuellement? :stuck_out_tongue:

Ça dépend du chargeur, de sa version, de l’emplacement et de la façon dont il a été installé.

Disons dans les deux cas les plus fréquents :

  • le chargeur est installé dans le MBR
  • le chargeur est installé sur une partition

Quel chargeur ? Quelle version ?

Il n’y a pas une commande générique en CLI à adapter au cas en fonction des options (chargeur, version…)?

Si une telle commande existe, je ne la connais pas.

Je demande ces précisions parce que rien que pour GRUB 2 sur PC x86, il peut y avoir des différences dans les endroits où sont installés les éléments du chargeur en fonction de :

  • la version exacte de GRUB : jusqu’à Wheezy ou à partir de Jessie
  • le mode d’amorçage BIOS : UEFI 32 bits, UEFI 64 bits
  • le format de table de partition : MSDOS ou GPT

Et j’en oublie sûrement. Alors s’il faut ajouter GRUB 1, LILO, SysLinux…

Bon aux nouvelles, j’ai tout viré comme dit par synaptic grub-pc-bin grub-common grub-legacy + dpkg --purge grub-pc mais synaptic l’avais déja fait.

j’ai à la volée car faut être balo de redémarrer avant lol réinstallé grub-pc grub-common car ca va avec et bingo résultat en image PJ

je restaure le ghost lol 2’55

pratique.

je ne vais pas forcement me prendre la tête vu que cela n’est pas handicapant !

Manifestement le chargeur GRUB 2.02 n’a pas été remplacé lors de l’installation de grub-pc comme cela aurait dû.
Qu’as-tu choisi lors de la configuration du paquet ?

j’ai tout viré via synaptic, tout grub-pc-bin grub-common,grub-legacy (suppression complete) mais grub-legacy est revenu tout seul lol comme sur la capture.

voir capt:

et j’ai tjrs en résidu après restauration du ghost clonezilla ça et ça reste !

je veux pas trop t’embêter PascalHambourg vu que ça fonctionne quand même.

c’est une machine de 10 ans d’age, je jongle avec les disque dur qui petent au fil du temps, et je restaure un ghost vérifié clonezilla.

En fait c’est bon tu as répondu à ma question avec ce qui est en gras. Je ne m’attachais qu’à GRUB (donc pas de LILO, SysLinux…) mais je voulais savoir s’il existait une commande à passer en CLI ou pas.