Menu

Recover (recreate) grub loader on Fedora 20 linux with LVM2 partition

0 Comments

logo
How to write linux loader (grub) when reinstalled Windows deleted it?

How to recreate grub loader on linux placed at LVM2 volume??

How to repair linux loader and write it again to disk?


001. Introduction

 

I re-installed Windows 7 on disk where exists my home linux installation – Fedora 20 .

After windows reinstall process linux bootloader are removed.

Of course all partition arrangement are not touched – they are stored, none of them are destroyed – just linux now are hidden…

Linux loader (grub) has been removed during Windows install.

To repair my linux and recreate a grub i used a live fedora 20, run from usb stick because my motherboard don’t have a IDE cable – i have a converter USB-2-DVD but, anyway, my dvd drive are broken and mostly don’t work correctly.
Process to create bootable pendrive with linux i described here: make a bootable linux pendrive

Of course you can boot any live-linux distro from CD / DVD drive if you have one…


 

002. Overview

Partitions

Partitions

 

Upper you see partitions layout.

When i install Windows on /dev/sda1, linux bootloader has been destroyed.

On /deb/sda7 i have /boot partition

On /dev/sda8 i have lvm2 partition (root + swap)

Time to repair this…


 

003. Bootloader recovery process – linux with LVM2 partition

  •  Scan for volumes
# pvscan
 PV /dev/sda8 VG fedora lvm2 [19.68 GiB / 0 free]
 Total: 1 [19.68 GiB] / in use: 1 [19.68 GiB] / in no VG: 0 [0 ]

– one lv2 volume found

 

  • Scan for volume groups
# vgscan
 Reading all physical volumes. This may take a while...
 Found volume group "fedora" using metadata type lvm2
  • – one volume group named “fedora” found.

 

  • Activate volume groups
# vgchange -ay
 2 logical volume(s) in volume group "fedora" now active
  • 2 logical volumes from fedora group activated.

 

  • Preparation for chroot – i make catalog where i will mount all
# mkdir /mnt/fedora

 

  • My volume group have 2 logical volumes (root + swap). I mount my root at previously created catalog.
# mount /dev/mapper/fedora-root /mnt/fedora

 

  • Try to list directory content
# ll /mnt/fedora/
total 84
lrwxrwxrwx. 1 root root 7 May 13 2014 bin -> usr/bin
drwxr-xr-x. 3 root root 4096 Nov 16 19:14 boot
drwxr-xr-x. 2 root root 4096 Nov 16 19:13 dev
drwxr-xr-x. 149 root root 12288 Nov 8 10:02 etc
drwxr-xr-x. 3 root root 4096 May 13 2014 home
lrwxrwxrwx. 1 root root 7 May 13 2014 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 May 13 2014 lib64 -> usr/lib64
drwx------. 2 root root 16384 May 13 2014 lost+found
drwxr-xr-x. 11 root root 4096 Sep 17 12:25 media
drwxr-xr-x. 4 root root 4096 Nov 16 19:16 mnt
drwxr-xr-x. 2 root root 4096 Aug 7 2013 opt
drwxr-xr-x. 2 root root 4096 May 13 2014 proc
dr-xr-x---. 23 root root 4096 Nov 8 10:27 root
drwxr-xr-x. 3 root root 4096 Nov 16 19:18 run
lrwxrwxrwx. 1 root root 8 May 13 2014 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Aug 7 2013 srv
drwxr-xr-x. 2 root root 4096 May 13 2014 sys
drwxrwxrwt. 3 root root 4096 Nov 16 19:14 tmp
drwxr-xr-x. 13 root root 4096 May 20 16:38 usr
drwxr-xr-x. 20 root root 4096 Nov 8 07:18 var

 

  • change directory to previously mounted root
# cd /mnt/fedora/

 

  • mount main linux directories to mounted partition
# for i in dev proc run sys tmp
> do
> mount --rbind /$i $i
> done

 

  • chroot system to mounted directory
# chroot /mnt/fedora

 

  • mount all from fstab placed on mounted linux partition
# mount -a

 

  • You can skip this part – i made a copy for grub config on my windows partition (only real admins don’t make a backups!)
# mkdir /media/test2
# mount /dev/sda1 /media/test2
# cp /boot/grub2/grub.cfg /media/test2/

Here are my old grub config, you can look… grub.cfg

 

  • create new grub-config
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.15.10-200.fc20.x86_64
Found initrd image: /boot/initramfs-3.15.10-200.fc20.x86_64.img
Found linux image: /boot/vmlinuz-3.14.9-200.fc20.x86_64
Found initrd image: /boot/initramfs-3.14.9-200.fc20.x86_64.img
Found linux image: /boot/vmlinuz-3.14.3-200.fc20.x86_64
Found initrd image: /boot/initramfs-3.14.3-200.fc20.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-3b7e507b26dd4217a0e72acf0a43ddb8
Found initrd image: /boot/initramfs-0-rescue-3b7e507b26dd4217a0e72acf0a43ddb8.img
Found Windows 7 (loader) on /dev/sda1
done

 

  • install grub loader on disk
# grub2-install /dev/sda
/usr/sbin/grub2-bios-setup: warning: Sector 32 is already in use by the program ‘FlexNet’; avoiding it. This software may cause boot or other problems in future. Please ask its authors not to store data in the boot track.
Installation finished. No error reported.

 

004. Conclusion

Entire process are fast and safe.

After rebooting You will can log into Your linux.
In my case drivers for nvidia card fly away into space and boot process hung after a moment due to x-window crash, but i write about this in next tutorial 😀

 

 

 

 

 

 

.

 

Tags: , , , , , , , , , , , , , ,
Translate »