Skip to main content

Restoring a Physical Ubuntu Server to VMware using Veeam Agent and Export as Virtual Disks

  • July 6, 2026
  • 3 comments
  • 11 views

matheusgiovanini
Forum|alt.badge.img+9

During a recent recovery scenario, I had to restore a physical Ubuntu server protected by Veeam Agent for Linux and bring it back as a virtual machine in a VMware environment.

The initial plan was to use the restore point and perform an Instant Recovery or a direct recovery to the VMware environment. In theory, that would be the fastest and cleanest path.

However, real environments do not always follow the ideal path.

Due to some limitations in the environment, I was not able to complete the Instant Recovery as expected. My initial suspicion was related to permissions, antivirus, firewall rules, or some kind of communication restriction between the Veeam components and the target VMware environment.

Since this procedure had to be performed during a weekend maintenance window, and because the customer was not available at that moment to validate or adjust some of those requirements, I had to move forward with another approach.

The alternative was to export the disks from the Veeam Agent backup as VMDK files and manually create a new VMware virtual machine.

The export worked.

The VM was created.

The disks were attached.

But the server did not boot.

 

 

The scenario

The environment was composed of:

Veeam Backup & Replication

Veeam Agent for Linux

A physical Ubuntu server

A VMware environment as the recovery target

The original physical server had three disks:

One 500 GB disk used by the operating system

One 500 GB disk mounted as /backup

One 1 TB disk mounted as /var/www

The backup itself was valid, and the disk export to VMDK was completed successfully. The issue started after manually creating the target VM in VMware and attaching the exported disks.

When the VM was powered on, it could not find a valid boot device.

At first, this could look like a disk problem, a corrupted export, a missing bootloader, or even a bad disk order. But before assuming that the exported disks were the issue, I decided to validate how the original physical server was configured.

 

Manual recovery approach

Since Instant Recovery was not possible within the available window, I followed this approach:

Created a new virtual machine in VMware without disks

Exported the disks from the Veeam Agent backup as VMDK

Attached the exported VMDK files to the new VM

Checked the disk order and controller configuration

Tried to boot the VM

At this point, VMware tried to boot using EFI. The console showed attempts to boot from EFI CD-ROM and EFI Network, but no valid boot device was found.

That was the first important clue.

If the original server was installed using BIOS/Legacy boot, but the new VM was created using EFI, the operating system may not boot even if the disk is healthy and correctly attached.

 

Checking the original Ubuntu server

Because the original server was still accessible, I logged into it to validate the disk layout and boot mode.

First, I checked the disks, filesystems, mount points, UUIDs, models, and serial information:

lsblk -o NAME,MAJ:MIN,SIZE,TYPE,FSTYPE,MOUNTPOINT,UUID,MODEL,SERIAL

The output confirmed the disk layout:

xvda     500G disk
└─xvda1 500G part ext4 /
xvdf 500G disk ext4 /backup
xvdg 1000G disk ext4 /var/www

This was very important because the server had two disks with the same size. Without checking the mount points, it would be easy to attach the wrong 500 GB disk as the first disk in the VM.

After that, I checked whether the server was using UEFI or BIOS/Legacy boot:

[ -d /sys/firmware/efi ] && echo "Boot UEFI" || echo "Boot BIOS/Legacy"

The result was:

Boot BIOS/Legacy

That explained the problem.

 

Root cause

The problem was not the Veeam backup.

The problem was not necessarily the exported VMDK files.

The real issue was a mismatch between the boot mode of the original physical server and the firmware configured on the new VMware VM.

The original Ubuntu server was installed using BIOS/Legacy boot.

The new VMware VM had been created using EFI.

Because of that, VMware was trying to boot the system as an EFI-based machine, but the operating system disk was prepared for BIOS/Legacy boot. As a result, the VM could not locate a valid boot device and moved to CD-ROM or network boot attempts.

This is one of those small details that can consume a lot of time during a recovery window.

 

Fixing the VM firmware

After confirming that the original server was using BIOS/Legacy, I changed the firmware of the VMware VM from EFI to BIOS.

In VMware, this can be adjusted under the VM settings, in the Boot Options section.

The key point is simple:

The target VM firmware should match the original server boot mode.

If the original server uses BIOS/Legacy, the restored VM should use BIOS.

If the original server uses UEFI, the restored VM should use EFI.

In this case, the correct configuration was BIOS.

 

Validating disk order and controller configuration

Another important point was the disk order.

When exporting disks manually and attaching them to a new VM, VMware does not automatically know which disk was the operating system disk in the original server.

In this case, the original server had:

500 GB disk mounted as /

500 GB disk mounted as /backup

1 TB disk mounted as /var/www

Because there were two disks with 500 GB, simply looking at the disk size was not enough. I had to confirm the mount points from the original server and make sure the disk that contained the root filesystem was attached as the primary boot disk in the VM.

I also checked the SCSI controller type and tried to keep the disk attachment consistent inside the new virtual machine.

This part is important because a wrong disk order can lead to the same symptom: the VM powers on, but cannot find the operating system.

 

Final result

After changing the VM firmware from EFI to BIOS and validating the disk order, the VM was able to locate the operating system disk and boot correctly.

This confirmed that the VMDK export was usable and that the main issue was related to the VM boot configuration.

It was not the most automated restore path, but it allowed the server to be recovered within the available window.

In a perfect scenario, Instant Recovery would probably have been the preferred option. But in this case, because of environmental restrictions and the urgency of the maintenance window, exporting the disks and manually rebuilding the VM was the best available path.

 

What I would check before starting

This case reinforced the importance of collecting some information from the original server before manually creating the target VM.

Before starting a similar recovery, I would recommend checking:

Original boot mode: BIOS/Legacy or UEFI

Disk layout

Mount points

Which disk contains the root filesystem

Disk sizes

Disk UUIDs

Controller type

Boot order

Secure Boot status

Whether the target VM firmware matches the original server

For Linux servers, this command is very useful to check the boot mode:

[ -d /sys/firmware/efi ] && echo "Boot UEFI" || echo "Boot BIOS/Legacy"

And this command helps identify the disk layout:

lsblk -o NAME,MAJ:MIN,SIZE,TYPE,FSTYPE,MOUNTPOINT,UUID,MODEL,SERIAL

These two simple checks can save a lot of time during a restore.

 

Lessons learned

This recovery was a good reminder that a valid backup is only one part of the restore process.

When recovering a physical Linux server as a VMware VM, the virtual hardware configuration matters a lot.

The backup can be healthy.

The disks can be exported correctly.

The VMDK files can be attached successfully.

And the VM can still fail to boot if the firmware, disk order, or controller configuration does not match the original server.

In this case, the most important detail was the boot mode.

The original Ubuntu server was using BIOS/Legacy boot, while the new VMware VM had been created using EFI.

Once the VM firmware was changed to BIOS, the server was able to boot.

 

Final thoughts

Instant Recovery is usually the fastest and preferred option when restoring workloads with Veeam. However, real-world recovery scenarios sometimes require alternative approaches.

Firewall rules, antivirus restrictions, missing permissions, network limitations, maintenance windows, and customer availability can all influence the recovery strategy.

Exporting disks to VMDK and manually creating a VMware VM can be a valid alternative, but it requires attention to details that are easy to miss.

For me, the main lesson from this case was clear:

Before manually restoring or converting a physical Linux server to VMware, always check how the original server boots.

A mismatch between BIOS/Legacy and EFI can make a perfectly valid restored disk look unbootable.

During a recovery window, small details like this can make all the difference.

3 comments

coolsport00
Forum|alt.badge.img+23
  • Veeam Legend
  • July 6, 2026

Nice restore process writeup!

Yeah...the boot firmware version (BIOS vs UEFI) can catch you on a few different fronts. Good catch Matheus! 👍🏻


matheusgiovanini
Forum|alt.badge.img+9

Nice restore process writeup!

Yeah...the boot firmware version (BIOS vs UEFI) can catch you on a few different fronts. Good catch Matheus! 👍🏻

Thanks! Exactly, this small BIOS vs UEFI detail can make a valid restore look like a failed one. I’m glad I checked the original server before spending more time troubleshooting the VMDK export itself. 😄


Chris.Childerhose
Forum|alt.badge.img+22

Great write-up Matheus.  I am not sure if I will ever do this, but if I do, then I know what to reference.  😋😂