Restaurer Grub sur le MBR avec des partitions en LVM
Transcription
Restaurer Grub sur le MBR avec des partitions en LVM
RAHME.FR Restaurer Grub sur le MBR avec des partitions en LVM Soumis par Johnny RAHME Difficulté (Administrateur Système confirmé) 1. Introduction Dans cet article, j'expliquerai comment j'ai réussi (après de longues heures de dur labeur, que je compte vous épargner), à restaurer mon Grub sur le MBR de mon disque, suite à une installation de Microsoft Windows XP, qui a eu pour effet de crasher mon MBR, avec des partitions en LVM {mospagebreak title=2. Conditions de réalisation}2. Conditions de réalisation Ben... avoir pété son MBR en installant par exemple le système windows, qui a toujours la gentillesse et l'obligeance de s'installer sans en demander la permission dans le MBR, sans avoir détecté les autres OS qui tournent sur la même bécane.Résultat: au démarrage de la machine, on n'est plus présenté avec un choix d'OS, et on se retrouve sans accès au système Linux (ou autre).De plus, pour pouvoir réaliser cette manipulation, il vous faudra vous munir d'un CD/DVD bootable Debian GNU/Linux d'installation. A noter, ceci n'est pas la seule manip possible dans ce cas de figure. Il existe une multitude de solutions ! Ici je n'en expose qu'une seule, fruit de mes recherches (et galères) personnelles. {mospagebreak title=3. Etat des lieux} 3. Etat des lieux La partition de mon disque est pareille que celle exposée dans mon article Implémenter LVM (LVM2) sur des partitions déjà existantes .En gros, je possède une partiton de 50 Go en NTFS, et le reste en ext3, dont /usr, /var, /tmp et /home en ext3 sur du LVM.Ayant eu un problème avec mon windows, j'ai dû le réinstaller, sur la partition ntfs. Ce qui a fait que je n'ai plus eu l'invite de grub au boot, me demandant poliment de choisir l'OS sur lequel je souhaitais booter. {mospagebreak title=4. Manipulation} 4. Manipulation 4.1 Montage des partitions sans LVM Ayant un CD d'installation de Debian, j'ai booté dessus.J'ai laissé l'installateur me demander la langue et la disposition du clavier.A ce stade, j'ai arrêté l'installation ("Revenir en arrière"), et j'ai donc été présenté avec la liste des tâches séquentielles de l'installateur.C'est l'avant dernière tâche qui nous intéresse. "Obtenir un shell".Je choisis donc cette option, et je me retrouve en possession d'un shell, qui va s'avérer fort utile.Je commence par monter ma partition / sous tmp (la partition / n'est pas sous lvm) # mkdir -p /target && mount -t ext3 /dev/sda5 /target Pareil pour la partition /boot (également hors lvm) # mount -t ext3 /dev/sda2 /target/boot N.B: Pour ceux à qui le montage du /boot pose un problème, vous pouvez différer cette étape jusqu'à juste après la commande chroot (voir ci-dessous). 4.2 Activer le LVMVient le tour aux partitions /usr, /var, /tmp et /home, qui elles, sont en lvm.il faut commencer par charger le module device-mapper dmmod # modprobe dm-mod Si vous ratez cette étape, et que donc vous ne chargez pas ce module, vous vous retrouverez en face de l'erreur tragique suivante (ou une variante proche): /proc/misc: No entry for device-mapper found Is device-mapper driver missing from kernel? Failure to communicate with kernel device-mapper driver. Incompatible libdevmapper 1.01.00-ioctl (2005-01-17)(compat) md kernel driver Prochaine étape, activer le vg (Volume Group) # vgchange -a y Vous pouvez visualiser votre VG (puor en connaître le nom par exemple, avec la commande suivante:# vgscan Pour vérifier que toutes les LV (logical volumes) sont désormais active, la commande suivante suffit: #lvscan 4.3 Monter le système Commence alors la partie simple de la manipulation.Pour monter les partitions manquantes (celles en LVM), procéder comme suit) : # mount -t ext3 /dev/mapper/monvg-usr /target/usr # mount -t ext3 /dev/mapper/monvg-var /target/var # mount -t ext3 /dev/mapper/monvg-tmp /target/tmp # mount -t ext3 /dev/mapper/monvg-home /target/home 4.4 Changer de root Il faut désormais se placer dans le système de fichies "cassé", et ce avec la commande suivante :# chroot /target 4.5 Monter /proc et /boot Le montage de /proc me semble utile, bien que pas indispensable, car ceci permet au noyau d'avoir les infos sur l'environnement chrooté. ~# mount /proc Quant à la partition /boot, si vous ne l'avez pas montée au §5.1, c'est le moment ou jamais (en utilisant la même commande utilisée au §5.1). 4.6 Rétablir le MBRVoici donc le moment crucial, où le grub va être réinstallé sur le MBR.Il serait utile de jeter un coup d'oeil sur /boot/grub/menu.lst pour s'assurer que tous les OS sont bien présents.Ensuite, c'est d'une facilité déconcertante: ~# grub install /dev/sda (remplacer, cela va de soi, comme dans l'ensemble de l'article, /dev/sda par votre disque). 4.7 Préparer le reboot et rebooter Une fois le MBR restauré, il faut démonter /proc, sortir de l'environnement chrooté, à la limite démonter également les autres partitions et rebooter: ~# umount /proc ~# exit # umount /target/usr # umount /target/var http://hercule.rahme.fr Propulsé par Joomla! Généré: 22 February, 2017, 11:07 RAHME.FR # umount /target/tmp # umount /target/home # umount /target/boot # umount /target # reboot {mospagebreak title=5. Conclusion} 5. ConclusionAu reboot, si tout s'est bien déroulé, vous devez vous retrouver en face de l'écran grub, vous demandant de choisir le système d'exploitation que vous souhaitez démarrer.Si vous rencontrez des problèmes, n'hésitez pas à m'en faire part (en cliquant sur "Me contacter", dans la colonne gauche). http://hercule.rahme.fr Propulsé par Joomla! Généré: 22 February, 2017, 11:07