Restored Linux virtual machine does not boot up

KB ID: 2669
Product: Veeam Backup & Replication;Veeam Agent for Linux
Version:
Published:
Last Modified: 2018-06-15

Challenge

Restored Linux VM does not boot up.

RHEL/CentOS system drops into dracut emergency shell and during boot process displays the following error messages:

dracut-initqueue timeout - starting timeout scripts
/dev/vgroot/root does not exist

By default, Debian does not use dracut to generate initramfs image, so it may display a different error message similar to the following:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block()

Cause

Kernel initramfs image does not have necessary block device kernel modules (drivers) in it.

The problem usually occurs when restoring virtual machines backed up with VAL to completely new hardware, for example when a virtual machine was backed up in VMware and then restored to a Hyper-V environment.

Solution

To resolve this issue you must regenerate the initramfs image.

RHEL/CentOS:

  1. During the boot process, select rescue kernel option in grub.
    Example:
    CentOS Linux (0-rescue-1edb64) 7 (Core)
  2. If the system starts successfully, run dracut to update existing initramfs image for your usual kernel.
    Example:
    dracut -f /boot/initramfs-3.10.0-862.2.3.el7.x86_64.img 3.10.0-862.2.3.el7.x86_64

Note: If the system could not be started with rescue kernel or if you do not have rescue kernel option in grub, please follow below for Debian.

Debian:

  1. Mount Veeam Agent for Linux Recovery Media LiveCD or any other LiveCD to problematic VM.
  2. Boot into LiveCD and switch to command line/open bash shell.
  3. Check if all VM block devices are present in /dev/sd*.
    Note: If you do not see some of VM block devices you might need to use LiveCD with newer kernel.
  4. Mount VM block devices, skip LVM steps if VM does not have LVM:
    mkdir /media/disk
    vgdisplay
    vgchange -a y centos
    vgscan --mknodes
    mount /dev/centos/root /media/disk
    mount /dev/sda1 /media/disk/boot
    mount -t proc proc /media/disk/proc
    mount -t sysfs sys /media/disk/sys
    mount -o bind /dev /media/disk/dev
  5. Then chroot to new environment:
    chroot /media/disk /bin/bash
  6. Update initramfs using update-initramfs (use dracut for RHEL/CentOS).
    Example:
    update-initramfs -u -t -k 3.16.0-6-amd64

More Information

For more information please review the following pages:

Please be aware that starting from September 2018 downloading updates will require an active contract for the corresponding product.

OK

Rate the quality of this KB article: 
5 out of 5 based on 1 ratings

Couldn't find what you were looking for?

Below you can submit an idea for a new knowledge base article.

Request new content

Report a typo on this page:

Please select a spelling error or a typo on this page with your mouse and press CTRL + Enter to report this mistake to us. Thank you!

Orphus system