Je dois réinstaller /boot et grub avec du lvm - Etapes ?

Hello!

J’avais une machine qui tournait sous squeeze et je n’ai pas voulu faire de dist-upgrade car je voulais également faire le ménage des paquets sans perdre mes données (données conséquentes car +de 300G.o). Donc mon installation est une wheezy et je n’ai pas perdu mes données, c’est déjà un bon point.

De ce fait, à partir d’un live-cd, j’ai réalisé mon install avec debootstrap mais j’ai “merdé” car la configuration comportait une partition /boot séparée en ext2 et le reste (à savoir la racine, le home et la swap) était sur du lvm.

Mon install s’est bien déroulée mais au reboot, c’était pas la même chose. Au début je pensais que c’était qu’une histoire de grub qui n’était pas bien fixé mais la réalité est tout autre car ça va pas.

Quels point dois-je vérifier pour faire redémarrer machine ?

-le grub
-le /boot (vérifier si y a bien mon noyau)
-le /etc/fstab

y a t’il d’autres points à vérifier ?

par ailleurs, je ne suis pas sûr du tout que le module lvm soit chargé dans grub2 (ce qui peut-être serait la cause de mon problème); Comment je peux le vérifier / l’intégrer si c’est pas le cas ?

Je ne sais pas si c’est pcq c’est le matin ou si c’est pcq c’est vendredi mais en une ligne c’est quoi ton pb ? ^^
Tu ne boot plus ?

c’est clairement ça, je ne boote plus (mais ce qui serait intéressant ce serait que j’évite de me retaper l’install…).

Salut,

Ma recette (issue de mon pense-bête)
Ne pas copier/coller mais à interpréter :slightly_smiling:

[code]#!/usr/bin/env bash

Progname chrooter

chrooter

Ne peut-être utilisé que par root

echo "Nom de la machine à simuler"
read clef
mount /dev/vg_$clef/lv_root /media &&
mount /dev/vg_$clef/lv_home /media/home &&
mount /dev/vg_$clef/lv_usr /media/usr &&
mount /dev/vg_$clef/lv_var /media/var &&
#mount /dev/vg_$clef/lv_boot /media/boot &&

mount -o bind /dev/ /media/dev &&
mount -o bind /dev/pts /media/dev/pts &&
mount -o bind /proc /media/proc &&
mount -o bind /sys /media/sys &&

#chroot /media
#aptitude purge grub2 grub-pc grub-common
#aptitude install grub-pc
#grub-install /dev/sda
#update-grub

Ne pas oublier de faire un dpkg-reconfigure grub-pc après redémarrage :)[/code]

Ok j’essaie la manip et je te dis. Merci (pourvu que mon /boot ne soit pas naze…)

Et non j’étais arrivé au même résultat avec mes manipulations (hélas). Au reboot j’ai bien un grub mais il s’en suit d’un kernel panic avec call trace.

Je suis presque sûr que ce sont mes partitions lvm qui ne sont pas trouvées et je ne sais pas comment résoudre cela

Tu peux mettre le détail de tes entrées de ton grub ?

[quote]root@debian-live-amd64:/# cat /etc/default/grub

If you change this file, run ‘update-grub’ afterwards to update

/boot/grub/grub.cfg.

For full documentation of the options in this file, see:

info -f grub -n ‘Simple configuration’

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet"
GRUB_CMDLINE_LINUX=”"
GRUB_PRELOAD_MODULES=“part_msdos ext2 lvm video” <-- ça c’est moi qui l’ai rajouté mais chu sûr de rien !

Uncomment to enable BadRAM filtering, modify to suit your needs

This works with Linux (no patch required) and with any kernel that obtains

the memory map information from GRUB (GNU Mach, kernel of FreeBSD …)

#GRUB_BADRAM=“0x01234567,0xfefefefe,0x89abcdef,0xefefefef”

Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console

The resolution used on graphical terminal

note that you can use only modes which your graphic card supports via VBE

you can see them in real GRUB with the command `vbeinfo’

#GRUB_GFXMODE=640x480

Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux

#GRUB_DISABLE_LINUX_UUID=true

Uncomment to disable generation of recovery mode menu entries

#GRUB_DISABLE_RECOVERY=“true”

Uncomment to get a beep at grub start

#GRUB_INIT_TUNE=“480 440 1”
[/quote]

[quote]root@debian-live-amd64:/boot/grub# cat 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

insmod part_msdos
insmod ext2
insmod lvm
insmod video
if [ -s $prefix/grubenv ]; then
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 load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}

insmod lvm
insmod part_msdos
insmod ext2
set root=’(debian-racine)‘
search --no-floppy --fs-uuid --set=root a6e89512-769e-446a-9c77-23bb2fa38de5
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root=’(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 37cdc1df-4413-4db8-9cfe-eff443ae5e93
set locale_dir=($root)/grub/locale
set lang=fr_FR
insmod gettext
fi
terminal_output gfxterm
set timeout=5

END /etc/grub.d/00_header

BEGIN /etc/grub.d/05_debian_theme

insmod lvm
insmod part_msdos
insmod ext2
set root=’(debian-racine)'
search --no-floppy --fs-uuid --set=root a6e89512-769e-446a-9c77-23bb2fa38de5
insmod png
if background_image /usr/share/images/desktop-base/joy-grub.png; then
set color_normal=white/black
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi

END /etc/grub.d/05_debian_theme

BEGIN /etc/grub.d/10_linux

menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root=’(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 37cdc1df-4413-4db8-9cfe-eff443ae5e93
echo 'Chargement de Linux 3.2.0-4-amd64 …‘
linux /vmlinuz-3.2.0-4-amd64 root=/dev/mapper/debian-racine ro quiet
}
menuentry ‘Debian GNU/Linux, avec Linux 3.2.0-4-amd64 (mode de dépannage)’ --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root=’(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 37cdc1df-4413-4db8-9cfe-eff443ae5e93
echo 'Chargement de Linux 3.2.0-4-amd64 …'
linux /vmlinuz-3.2.0-4-amd64 root=/dev/mapper/debian-racine ro single
}

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/20_linux_xen

END /etc/grub.d/20_linux_xen

BEGIN /etc/grub.d/30_os-prober

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

[/quote]

mon /etc/fstab :

[quote]root@debian-live-amd64:/boot/grub# cat /etc/fstab
#/dev/sda1 /boot ext2 defaults 0 1
UUID=37cdc1df-4413-4db8-9cfe-eff443ae5e93 /boot ext2 defaults 0 1

#/dev/mapper/debian-racine / ext3 defaults,errors=remount-ro 0 1

UUID=a6e89512-769e-446a-9c77-23bb2fa38de5 / ext3 defaults,errors=remount-ro 0 1

#/dev/mapper/debian-home /home ext3 defaults 0 2

UUID=1870caa3-30a1-4667-836e-254e9934c590 /home ext3 defaults 0 2

#/dev/mapper/debian-swap none swap sw 0 0

#: UUID=“18a5bfc6-8389-4e22-9278-b6a3ef92df6d” TYPE=“swap”
[/quote]

j’ai procédé par les UUID mais c’est peut-être pas une bonne idée… ?

Le groupe de volume :

[quote] — Volume group —
VG Name debian
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 16
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 698,39 GiB
PE Size 4,00 MiB
Total PE 178789
Alloc PE / Size 155149 / 606,05 GiB
Free PE / Size 23640 / 92,34 GiB
VG UUID uXirMV-PHjn-2hyM-4KSl-teS3-amtQ-Qj0mqE[/quote]

— Les volumes logiques —

y a un truc qui m’interpelle c’est les UUID; Ceux fournis avec blkid sont différents de ceux établis avec les commandes vgdisplay et lvdisplay.

En théorie c’est celle de blkid qu’on applique dans le fstab ?

Oui ce sont bien les UUID de blkid qu’il faut.

je pige pas, pourtant j’avais bien reconstitué l’organisation du grub avec grub-mkconfig et grub-mkdevicemap.

pour l’install de grub j’avais saisi les options boot=/dev/sda1 , idem pour --root-directory=…

Re,

Et si simplement tu faisais # grub-install /dev/sda :slightly_smiling:

juste après le kernel panic il indique qu’il ne trouve pas rootfs… le grub est bien installé. A mon sens c’est un pb de config

Re,

Avec l’avantage que grub-install ne tiendra pas compte de tes erreurs et va réinstaller, s’il y arrive, quelque chose qui fonctionne :laughing:
Vive mon chroot !

Il faut en premier démarrer un liveCD afin de monter ta racine ainsi que la partitions /boot.

En deuxième tu vérifie que LVM2 soit bel et bien installé (ce serait ballot mais sait-on jamais).

En troisième tu vérifie que tes partitions soient bien renseigné dans ton fstab (profite en pour bien noté ce qu’il y a dedans).

En quatrième tu redémarre et tu édite ton grub (la touche ‘e’) et tu renseigne ta racine.

Si cela ne démarre pas c’est que ton installation par debootstrap à foirer quelques part au niveau de la création de l’initrd.

Pour t’inspirer : https://linuxfr.org/forums/linux-general/posts/debian-debootstrap-lvm-grub2

Maintenant si tes données ne sont pas sur /home il auraient mieux fallu les rapatrier sur cette partition ou même une autre et simplement réinstallé en mode expert et en demandant à conserver les données de la dites partition /home, il sera bien temps après coup de transférer tes données sur ton nouveau compte tout propre et remettre tes éventuels fichiers de configuration personnel.

:arrow_right: Merci Clochette pour ta réponse; ça me donne des pistes. Je verrai ça mercredi au bureau

j’ai laissé tomber. J’ai pris une netinstall, j’ai réinstallé par dessus … non mais franchement y a des cas de figures, c’est limite incompréhensible, parfois on perd moins de temps à écraser l’install et repartir avec du neuf (pourtant j’ai cherché !)