Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To create a linked clone in Virt-Manager, create a new qcow2 volume in a libvirt storage pool, choose the existing qcow2 image as its Backing Store, and then create a virtual machine by importing that child volume. The child starts as a lightweight delta and reads unchanged blocks from the base image, so it uses less initial storage than a full disk copy. The trade-off is that every child depends on the backing file remaining available and consistent.

The exact linked-volume controls are version-sensitive. The procedure below follows the current GUI pattern, while noting where your distribution may use different labels or may not expose a libvirt capability in the interface.

What a linked clone is—and what it is not

A linked clone is a new virtual disk image with an existing image configured as its backing file. In this guide, both images are qcow2 volumes. The child stores blocks changed by its guest, while reads for unchanged blocks are satisfied from the base. You can create several children from one prepared base, such as a clean operating-system installation with updates and common tools already installed.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The base is not copied into the child at creation time. That is why creation is usually quick and the child initially consumes less space than a duplicate disk. Storage growth depends on what the guest writes, the qcow2 configuration, and the storage pool; there is no fixed percentage of savings that applies to every workload.

Do not confuse this operation with virt-clone. The project describes virt-clone as a command-line utility that clones an existing inactive guest, copies its disk images, and defines a new guest with different identity details. A linked disk created through the storage interface is a backing relationship between volumes. It does not, by itself, duplicate a complete guest definition or guarantee that operating-system and application identities have been changed.

Check these prerequisites before opening the wizard

A few checks prevent the most disruptive failures: a child that cannot find its base, a volume created in the wrong pool, or a guest that fills its destination while running.

  • Libvirt connection: Connect Virt-Manager to the host and connection where the intended storage pool is defined. A pool visible through a different connection is not automatically available here.
  • Storage pool access: Confirm that the pool is active and that the libvirt service account can read the base image and create files in the destination directory or volume store.
  • Base format: Identify the existing image and confirm that it is the expected qcow2 volume. A mismatched format or an image that is itself part of an unexpected chain deserves review before you create another child.
  • Stable base: Treat the source as a template. Shut down guests that use it for writing, and keep it protected from accidental modification while children depend on it.
  • Growth room: A linked child still grows as its guest changes files. Leave enough free capacity in the pool for the child, temporary files, snapshots or other guests, and normal filesystem overhead.
  • Guest plan: Know the operating system, firmware mode, CPU and memory requirements, and network settings you will assign to the new VM after the disk is created.
  • Backup plan: Decide how you will preserve the base and every child together. A child file without its backing image is not a self-contained VM disk.

Before proceeding, record the full path or pool volume name of the base. Similar names are easy to confuse when a pool contains several templates.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create the child volume in Virt-Manager

The following labels come from a recent GUI walkthrough rather than a versioned official Virt-Manager tutorial. Your release may place the same controls under a slightly different name. If a control is missing, check the equivalent storage-volume view for your installed version instead of assuming the feature is unavailable in libvirt.

1. Open the connection’s storage view

  1. Launch Virt-Manager.
  2. In the main window, select the libvirt connection that owns the target pool.
  3. Open Connection Details.
  4. Select the Storage tab. Virt-Manager’s storage interface presents pools as the source of volumes allocated to VM disks.

If the Storage tab is empty, activate or define a pool first, and verify that you are looking at the correct host connection. Creating a volume in another connection will not make it visible to the VM wizard you plan to use.

2. Select the destination pool

Choose the pool where the new child should live. Keeping the child and base on storage that the same libvirt connection can access makes the relationship easier to manage. If you are using a directory pool, check the host filesystem’s free space and permissions; if you are using another pool type, use its capacity and allocation indicators.

3. Start a new volume

Use the pool’s control to create a new volume. Enter a descriptive name that distinguishes the child from the template, such as an environment name and date. Choose qcow2 as the volume format so that the new file can use a qcow2 backing relationship.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set the virtual capacity appropriate for the guest. Capacity is the disk size presented to the guest, not a promise that the child will immediately occupy that much host storage. The host allocation grows as data is written, subject to the pool and image settings.

4. Set the backing store

Expand Backing Store. Browse to the existing base qcow2 volume and select it. Verify the path or volume name carefully before finishing: selecting a similarly named child can create an unintended chain.

The backing field records which image supplies blocks that are not present in the new child. It is not a copy operation and it does not freeze the base automatically. If the dialog shows a backing format, confirm that it identifies the base as qcow2, matching the child and the image you selected.

5. Finish and verify the volume

Complete the volume-creation dialog, then return to the pool’s volume list. Confirm that the new child appears with the expected name and qcow2 format. If Virt-Manager exposes a details or XML view, inspect the backing-file information and make sure it points to the intended base rather than to a temporary path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not boot the master template as a normal production guest after you begin using it as a backing image. The practical rule is to preserve the base image that dependent children expect. Make changes by preparing a new template or by using a separate, independent disk instead of modifying the shared source in place.

Turn the child volume into a virtual machine

1. Start the new-VM wizard

Create a new VM in Virt-Manager. At the installation-source step, choose Import existing disk image rather than creating a new blank disk or installing from an ISO.

2. Select the linked child

Browse to the child volume you just created and select it. The wizard may ask for the operating-system type or version. Choose the closest supported match so Virt-Manager can propose suitable devices; adjust those proposals for the actual guest.

3. Assign resources and devices

Set memory and virtual CPUs according to the guest’s workload and the host’s capacity. Configure networking, display, firmware and machine type as required by the operating system. If the base was prepared for a particular firmware mode or disk bus, retain compatible settings unless you have a specific migration reason to change them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Review the storage page before finishing. Ensure the child is attached as the boot disk and that the wizard has not added an unwanted blank disk. Give the VM a new name that identifies the environment, then complete the wizard.

4. Boot and perform guest-side identity work

Start the VM and verify that it boots from the child. A linked disk does not automatically change a hostname, machine identifier, SSH host key, license identity, domain membership or application configuration inherited from the base. Perform the operating system’s supported preparation or generalization steps when you need distinct identities, and then configure the guest for its role.

Shut down and correct the disk attachment or firmware selection if the guest cannot boot. Do not “fix” a boot problem by editing the base while other children depend on it.

How the backing relationship affects daily operation

The child reads through the base

When a block has not been changed in the child, the virtual storage layer obtains it from the backing image. Once the guest writes a block, the child records its own version. This read-through and copy-on-write behavior is why the child can start small while still presenting the configured virtual capacity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The base is a required dependency

Keep the backing file at the location and with the contents expected by the child. Moving, renaming, deleting or modifying it can make the child fail to open or can change the data it sees. Plan the base and children as one chain for backups, host migration and disaster recovery.

Changes in one child are isolated from siblings

Several children can share the same unchanged blocks while storing different writes. A package installation or filesystem change in one guest does not become visible in another merely because they share a base. Deliberately changing the base, however, affects what every dependent child reads and defeats the stable-template model.

Linked child or full copy?

Neither layout is universally better. Choose according to how many guests you need, how stable the template will be, and how independently each VM must travel or recover.

Decision area Linked child Full disk copy
Initial host storage Stores the child’s changes and relies on the existing base, so it normally starts with less additional storage. Duplicates the disk contents, requiring storage for the complete copy.
Dependency Requires the backing image to remain accessible and correct. Is more self-contained once the copy is complete.
Backup and migration Base and child must be collected, transferred and restored as a consistent chain. Each disk is simpler to move or restore independently.
Template reuse Well suited to repeated environments that share a stable, read-only-style base. Useful when guests must diverge completely or the source will not be retained.
Operational risk A damaged, missing or altered base can affect every dependent child. Problems in one copy generally do not affect other independent copies.
Space over time Child usage grows with guest writes; total space also includes the base and any other children. Each guest consumes its own full image allocation or copied data.

Do not promise a specific saving in gigabytes. The result depends on the guest’s write pattern, the base image, qcow2 behavior and the underlying pool. A development VM that changes many blocks can grow substantially even though it began as a linked child.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Capacity, performance and lifecycle planning

Estimate growth from writes, not virtual size

Use the guest’s expected churn to size the pool: updates, package caches, logs, databases, temporary build output and user data all become child blocks. Monitor pool free space and the child’s allocation after creating the VM. A virtual disk configured as 100 GB does not mean 100 GB is immediately consumed on the host, but it can still allow the guest to generate that much data.

Keep a template discipline

Maintain a clearly named base for each operating-system and application baseline. When you need a new baseline, prepare another image rather than editing the shared source behind existing children. Record which children use which base so that maintenance and retirement decisions do not strand a dependent VM.

Back up the chain consistently

A useful backup set includes the base image, every child required for recovery, and the VM definitions and configuration needed to attach them. Test restoration on a separate path or host: copying only the child cannot reconstruct blocks that remain in the base.

Plan host moves before shutdown day

For migration, identify the complete backing chain and reproduce accessible paths or pool volumes on the destination. Verify permissions and libvirt access before starting the guest. Treat a move that preserves only the child file as incomplete.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Retire children deliberately

Before deleting a VM or volume, determine whether it is a base for another child. Removing a dependent child is different from removing a backing image. Keep the template while any child still needs it, and update your inventory when a VM is converted to an independent disk through a separately planned copy process.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting common GUI failures

The Backing Store control is missing

Virt-Manager’s GUI does not expose every libvirt capability in every release. Check the installed Virt-Manager version, the selected connection, and whether the volume-creation dialog is the storage-pool view rather than the VM disk editor. Distribution packages can lag behind upstream or apply patches, so labels may differ. If the feature is absent, do not infer that the host cannot support backing volumes; the capability and the GUI exposure are separate questions.

The base image does not appear in the browser

  • Confirm that you opened the correct libvirt connection.
  • Activate the pool containing the base and refresh the volume list.
  • Check that the libvirt service account can read the file.
  • Verify that the image is stored where the pool expects it, rather than being an inaccessible path on another filesystem.
  • Check the filename and format; a non-qcow2 or unsupported image may not be accepted by the dialog.

The new VM cannot open its disk

Inspect the child’s backing path and confirm that the base still exists at that location. Check permissions on every directory in the path, not just the image file. If the files were moved between hosts, recreate the expected pool layout or use a properly planned conversion rather than editing random XML values.

The guest fails to boot after import

Review the VM’s firmware, machine type, disk bus and boot order. These settings must be compatible with how the base operating system was installed. Confirm that the child, not an empty newly created disk, is first in the boot order. If the guest was copied from another identity, complete its operating-system preparation after it boots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The child grows faster than expected

Look for guest activity that writes many blocks: system updates, swap, logs, databases, caches or build artifacts. Check free space in the storage pool and inside the guest. A linked layout saves the unchanged portion of the base; it does not suppress normal writes or guarantee a permanently small file.

A child worked until the template was changed

Stop treating that base as a mutable production disk. Restore the known-good base from backup if necessary, preserve the affected child for investigation, and create a new template for future guests. Changes to a backing image are a data-integrity event for every child that reads it.

Version and distribution cautions

The Virt-Manager release page lists version 5.1.0, released on August 26, 2025. That is an upstream release reference, not a guarantee that your distribution ships the same build. Package versions can lag, and interface labels can be rearranged or patched.

Ubuntu’s documentation also notes that libvirt can gain features faster than Virt-Manager exposes them. Therefore, use the equivalent storage-volume controls when names differ, and verify the installed release before following screenshots or assuming a missing button represents a storage limitation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical pre-flight checklist

  • Correct libvirt connection selected.
  • Destination storage pool active, writable and large enough for expected child growth.
  • Base image identified by exact path or pool volume name.
  • Base image format confirmed as qcow2 for this workflow.
  • Base protected from direct guest writes and accidental edits.
  • New child given a distinct name and created with the intended virtual capacity.
  • Backing Store selection checked before volume creation is finalized.
  • VM wizard set to Import existing disk image and pointed at the child.
  • Firmware, disk bus, CPU, memory and network settings reviewed for the guest.
  • Backup and migration plan includes the complete base-and-child chain.
  • Guest identity tasks scheduled so cloned systems do not share identifiers unintentionally.

Once these checks pass, the linked clone is best understood as a reusable storage relationship: the base supplies unchanged data, the child records each guest’s differences, and Virt-Manager provides the graphical path to create and attach that child. Its convenience comes with one non-negotiable operational rule—protect and preserve the backing image for as long as any VM depends on it.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.