[Linux] Migrate Ubuntu KVM To Rocky Linux KVM
Tags: linuxkvm, rockylinux, ubuntu, vmmigration
Published: 2023-12-30 12:58:18

---
title: [Linux] Migrate Ubuntu KVM To Rocky Linux KVM
published: true
date: 2022-11-28 16:46:44 UTC
tags: 
- LinuxKVM
- RockyLinux
- Ubuntu
- VMMigration
canonical_url: https://www.kmp.tw/post/migrateubuntukvmtorockykvm/
---

# Situation

## When Use `virsh define vm.xml` Get Error Like These

### Situation 1
```
[root@localhost ~]# virsh define vm.xml
error: Failed to define domain from vm.xml
error: Cannot check QEMU binary /usr/bin/qemu-system-x86_64: No such file or directory
```
### Situation 2
```
error: Failed to define domain from vm.xml
error: unsupported configuration: Emulator '/usr/libexec/qemu-kvm' does not support machine type 'pc-q35-4.2'

[root@localhost ~]# /usr/libexec/qemu-kvm -machine help
Supported machines are:
pc                   RHEL 7.6.0 PC (i440FX + PIIX, 1996) (alias of pc-i440fx-rhel7.6.0)
pc-i440fx-rhel7.6.0  RHEL 7.6.0 PC (i440FX + PIIX, 1996) (default) (deprecated)
q35                  RHEL-9.0.0 PC (Q35 + ICH9, 2009) (alias of pc-q35-rhel9.0.0)
pc-q35-rhel9.0.0     RHEL-9.0.0 PC (Q35 + ICH9, 2009)
pc-q35-rhel8.6.0     RHEL-8.6.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.5.0     RHEL-8.5.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.4.0     RHEL-8.4.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.3.0     RHEL-8.3.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.2.0     RHEL-8.2.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.1.0     RHEL-8.1.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel8.0.0     RHEL-8.0.0 PC (Q35 + ICH9, 2009) (deprecated)
pc-q35-rhel7.6.0     RHEL-7.6.0 PC (Q35 + ICH9, 2009) (deprecated)
none                 empty machine
```
### Situation 3
```
error: Failed to define domain from vm.xml
error: unsupported configuration: domain configuration does not support video model 'qxl'
```

# Solution
### Solution 1
#### Change Binary Path
```
vim vm.xml

### Find /usr/bin/qemu-system-x86_64 and change to /usr/libexec/qemu-kvm
<emulator>/usr/bin/qemu-system-x86_64</emulator>
### To
<emulator>/usr/libexec/qemu-kvm</emulator>
```

### Solution 2
```
<os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
    <boot dev='hd'/>
</os>

### To

<os>
    <type arch='x86_64' machine='pc-q35-rhel9.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
```

### Solution 3
```
<video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>

### To
<video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
```

### Change Network Configuration
```
<interface type='network'>
      <mac address='00:00:00:00:00:00'/>
      <source network='host-bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
### To
<interface type='bridge'>
    <mac address='00:00:00:00:00:00'/>
    <source bridge='br0'/>
    <model type='virtio'/>
    <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
```