réinstaller grub2 avec chroot et LVM

Bonjour,
Bon voilà il y a un tuto très bien fait sur le wiki :
http://www.isalo.org/wiki.debian-fr/index.php?title=R%C3%A9installer_Grub2

Seulement pour la systèmes dont la partition racine est sur LVM (logical volume manager) on ne peut pas la monter comme un périphérique simple.
Seul le début de ce T&A concerne LVM, la fin est identique au tuto du wiki (à partir du chroot) :

  • Démarrer sur le live-cd (debian sur une clé, knoppix, ubuntu etc.)

  • Se connecter en root :

ou

suivant ce qui est disponible sur votre live-cd

Si vous faites fdisk -l vous obtenez quelque chose qui doit ressembler à ceci :

[code]# fdisk -l

Device Boot Start End Blocks Id System
/dev/sdb1 1 2432 19530752 b W95 FAT32
/dev/sdb2 2432 30402 224665601 5 Extended
/dev/sdb5 2432 30402 224665600 8e Linux LVM
[/code]

On voit bien que les partitions “/”, “/home” ainsi que les éventuelles autres sont sur /dev/sdb5 et donc non accessible pour le chroot sans lancer LVM

ou

suivant ce qui est disponible sur votre live-cd

# lvm lvm>
taper help pour une liste des commandes disponibles :

[code]lvm> help
Available lvm commands:
Use 'lvm help ’ for more information

dumpconfig Dump active configuration
formats List available metadata formats
help Display help for commands
lvchange Change the attributes of logical volume(s)
lvconvert Change logical volume layout
lvcreate Create a logical volume
lvdisplay Display information about a logical volume
lvextend Add space to a logical volume
lvmchange With the device mapper, this is obsolete and does nothing.
lvmdiskscan List devices that may be used as physical volumes
lvmsadc Collect activity data
lvmsar Create activity report
lvreduce Reduce the size of a logical volume
lvremove Remove logical volume(s) from the system
lvrename Rename a logical volume
lvresize Resize a logical volume
lvs Display information about logical volumes
lvscan List all logical volumes in all volume groups
pvchange Change attributes of physical volume(s)
pvresize Resize physical volume(s)
pvck Check the consistency of physical volume(s)
pvcreate Initialize physical volume(s) for use by LVM
pvdata Display the on-disk metadata for physical volume(s)
pvdisplay Display various attributes of physical volume(s)
pvmove Move extents from one physical volume to another
pvremove Remove LVM label(s) from physical volume(s)
pvs Display information about physical volumes
pvscan List all physical volumes
segtypes List available segment types
vgcfgbackup Backup volume group configuration(s)
vgcfgrestore Restore volume group configuration
vgchange Change volume group attributes
vgck Check the consistency of volume group(s)
vgconvert Change volume group metadata format
vgcreate Create a volume group
vgdisplay Display volume group information
vgexport Unregister volume group(s) from the system
vgextend Add physical volumes to a volume group
vgimport Register exported volume group with system
vgmerge Merge volume groups
vgmknodes Create the special files for volume group devices in /dev
vgreduce Remove physical volume(s) from a volume group
vgremove Remove volume group(s)
vgrename Rename a volume group
vgs Display information about volume groups
vgscan Search for all volume groups
vgsplit Move physical volumes into a new or existing volume group
version Display software and driver version information
[/code]

On va lancer un scan pour trouver les groupes de volumes présents sur le(s) disque(s) :

lvm> vgscan Reading all physical volumes. This may take a while... Found volume group "GV-panolis" using metadata type lvm2
Votre ou vos groupes de volumes sont normalement trouvés.

lvdisplay va maintenant nous renseigner sur les volumes logiques présents :

[code]lvm> lvdisplay
— Logical volume —
LV Name /dev/GV-panolis/VL-swap
VG Name GV-panolis
LV UUID KwaNpT-xQhs-pOdf-otzJ-pTh0-ucs4-TPoj7Q
LV Write Access read/write
LV Status NOT available

open 1

LV Size 1,86 GiB
Current LE 476
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:1

— Logical volume —
LV Name /dev/GV-panolis/VL-racine
VG Name GV-panolis
LV UUID 33nDCs-I2ia-Kyej-xHC3-NRH4-kZfx-BMa0iI
LV Write Access read/write
LV Status NOT available

open 1

LV Size 13,97 GiB
Current LE 3576
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:0

— Logical volume —
LV Name /dev/GV-panolis/VL-var
VG Name GV-panolis
LV UUID xn5pvz-nYME-ZmQK-wgYA-s45v-GIYR-r7NejU
LV Write Access read/write
LV Status NOT available

open 1

LV Size 4,86 GiB
Current LE 1244
Segments 2
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:2

— Logical volume —
LV Name /dev/GV-panolis/VL-tmp
VG Name GV-panolis
LV UUID 6SEOkz-0oqu-WAGS-2fUC-xeul-2aq5-N7U7k8
LV Write Access read/write
LV Status NOT available

open 1

LV Size 1,86 GiB
Current LE 476
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:3

— Logical volume —
LV Name /dev/GV-panolis/VL-home
VG Name GV-panolis
LV UUID WXHlvQ-yLJR-05Vn-b9H7-EiGz-SMcy-CbsJgH
LV Write Access read/write
LV Status NOT available

open 1

LV Size 12,66 GiB
Current LE 3240
Segments 2
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:4

— Logical volume —
LV Name /dev/GV-panolis/VL-data
VG Name GV-panolis
LV UUID T2VwMo-ZElG-xfcS-5ozg-8VL2-oPEy-BTcWnm
LV Write Access read/write
LV Status NOT available

open 1

LV Size 175,00 GiB
Current LE 44800
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:5[/code]
    On retrouve bien no volumes logiques qui contiennent les partitions “/”, “/tmp”, “/var”, “/home”, “/data” ainsi que la swap, mais elles ne sont pas disponibles pour le système
lvm> exit[/code]
[code]# ls /dev/mapper/
control[/code]

Pour rendre le périphérique spécial accessible il faut lancer la commande suivante :
[code]# blockdev --rereadpt /dev/sdb[/code]

[code]# ls /dev/mapper/
control  data  GV--panolis-VL--data  GV--panolis-VL--home  GV--panolis-VL--racine  GV--panolis-VL--swap  GV--panolis-VL--tmp  GV--panolis-VL--var[/code]
Nos périphériques spéciaux sont maintenant bel et bien là, il n'y a plus qu'à suivre les étapes du wiki :

[code]# mkdir /mnt/chroot
# mount /dev/mapper/GV--panolis--VL--racine /mnt/chroot

Si vous aviez /boot à part (il est préférable je crois de la laisser en dehors du LVM mais ce n’est pas mon cas) il convient également de la monter dans /mnt/chroot/boot

[code]# mkdir /mnt/chroot/boot

mount /dev/_votre _partition_ou_votre_volume_logique_boot /mnt/chroot/boot[/code]

montage des périphériques trouvés par le live-cd :

[code]# mount --bind /dev/ /mnt/chroot/dev

mount -t proc /proc /mnt/chroot/proc

mount -t sysfs /sys /mnt/chroot/sys

[/code]

On peut chrooter le système :

# chroot /mnt/chroot

Il peut parfois être nécessaire, en fonction de votre système ou du LiveCD à partir dusquel vous avez démarré d’ajouter /bin/bash à la commande

# chroot /mnt/chroot /bin/bash

Éditez le fichier /etc/default/grub (uniquement si vous savez ce que vous faites!) selon vos besoin, et lancez ensuite la commande :

# update-grub

Une fois le fichier /etc/grub/grub.cfg “réparé”, tapez :

# grub-install /dev/sdb

Normalement votre grub est réinstallé, vous pouvez redémarrer votre machine.

Salut,

Ton truc mériterait amplement sa place dans le wiki. Son manque de concision est au contraire un plus pour ceux qui cherchent à comprendre. Bravo :slightly_smiling:

Je ne suis malheureusement pas inscrit sur le wiki et je ne sais pas vraiment comment ça fonctionne, mais je peux me pencher là dessus…
Par contre se serait idiot de rajouter une deuxième rubrique sur réinstaller grub2, je pense qu’il vaudrait mieux intégrer un chapitre concernant lvm, que ceux que ça n’intéresse pas pourront zapper…

Salut,
Tout à fait d’accord avec Ggoodluck47, il faut mettre ça sur le Wiki.

Il y a un sous rubrique divers dans logiciels qui contient 2 pages (réinstaller grub et réinstaller grub2).
Il faut changer la rubrique divers en “réinstaller grub” et y ajouter réinstaller grub2 sur LVM.

Si tu le souhaite je peux le faire (c’est facile, copier/coller et un peu de mise en page). Si tu as envie de le faire toi même tu es le bienvenue. MP si as besoin d’un peu d’aide.

Salut,

Le gros avantage quand tu rédiges c’est que tu ne tiens pas pour acquis les choses qui nous semblent naturelles. C’est la grande difficulté que je rencontre : j’ai peur de jouer au prof en expliquant les choses acquises pour moi depuis longtemps et je passe à côté de ce qui est indispensable à celui qui cherche à évoluer.
Et pourtant j’ai tout à apprendre de ce truc que tu connais :slightly_smiling:

Bon je mpe suis inscrit sur le wiki :smiley:
Je me familiarise un peu avec et j’essaye de mettre en forme l’article (en complément de ceux existants), il y a une syntaxe particulière à apprendre pour ça je crois…
Je vous demande si nécessaire