Bernhard's Homepage

GNS3 - Modify a QEMU base Image

GNS3 - Modify a QEMU base Image

When using a QEMU VM, you are working with a clone of the base image. You modify only the clone, the base image remains unchanged.

But sometimes you want to modify the base image, e.g. when you want to update the initial configuration. So how to do that?

First we have to change the VM template. The easiest way is to right-click on it and select "Configure Template".

Configure Template

Normally we don't want to overwrite the current image file, as then the VM in existing projects will no longer work. The reason is, that QEMU stores only the difference to the base image. If we modify the base image, the combination of base and differential image result in a corrupt file system. So overwrite the current image only, if you are absolutely sure, that it's not used in any of your projects.

Therefore we make a copy of the base image on the GUI PC. With Explorer/Finder go to the QEMU image directory (GNS3 -> images -> QEMU) and copy the image. In my example I copied the image to linux-microcore-modified.img.

We enter the template configuration and set the new image.

New Disk Image

Furthermore in the advanced settings we disable the linked base VM setting and apply that with OK.

Linked Base VM

Now create a temporary project, create a new VM from the modified template and start it.

As the GNS3 VM doesn't have this new image, GNS3 asks, if you want to upload it, what we accept.

Upload Image

Then modify your VM, afterwards stop and delete it. As it was started as a non-linked VM, the modifications were stored in the base image.

Now we have to re-enable "Use as a linked base VM" in the template. All new VMs will now start with the modifications.

To have a backup I prefer to save the new base image from the GNS3 VM back to my PC. I'm using scp/winscp for that.