Install KVM on Rocky Linux 9
準備項目
- VMware workstation
- Rocky Linux 9-5 ISO
- 安裝 Rocky Linux-svr1虛擬機, 記憶體配置16GB up
IP: 192.168.133.185
- 安裝 Rocky Linus-svr2虛擬機 記憶體配置4G即可 (用於http Server放置Rocky Linux iso檔案及Kickstart 檔案)。
IP: 192.168.133.193
一、Rocky Linux-svr1 系統前置設定
- 假如 系統預設安裝到文字介面模式,可先進行圖形化介面軟體安裝
- 先執行
dnf grouplist查看安裝包
1 | [root@localhost ~]# dnf grouplist |

安裝 Server with GUI
1 | [root@localhost ~]# dnf groupinstall "Server with GUI" |

- 設定系統預設為
圖形化介面開啟
1 | [root@localhost ~]# systemctl set-defautl graphical.target |

- 重開機後即可進入圖形化介面

安裝 KVM相關套件
- 安裝 qemu-kvm libvirt virt-install virt-manager
1 | [root@localhost ~]# dnf install qemu-kvm libvirt virt-install virt-manager |

套件說明:
🧱 1. QEMU-KVM
QEMU 是一個開源的硬體模擬器和虛擬機器監控器(Hypervisor)。
KVM(Kernel-based Virtual Machine)是 Linux 核心中的虛擬化模組,它讓 Linux 本身變成一個 Hypervisor。
qemu-kvm 是 QEMU 加上 KVM 模組的組合,用來提供硬體虛擬化支援。
支援 64-bit/32-bit 的多種作業系統(Linux、Windows、BSD 等)。
搭配 KVM,可以大幅提升虛擬機的效能(接近原生)。
🧰 2. libvirt
libvirt 是一個用來管理虛擬機的 API 層和守護進程(libvirtd),支援多種 Hypervisor,包括 QEMU/KVM、Xen、LXC 等。
提供統一的指令與管理方式(像
virshCLI)。管理虛擬機的建立、啟動、暫停、刪除、網路、儲存設備等。
預設管理的虛擬機存放位置通常在
/var/lib/libvirt/。
🏗️ 3. virt-install
virt-install 是一個命令列工具,用來建立虛擬機,屬於 libvirt 套件的一部分。
可以從 ISO、PXE、或是網路安裝來源建立 VM。
提供詳細參數來設定 CPU、RAM、磁碟、網路、顯示裝置等。
🖥️ 4. virt-manager
virt-manager(Virtual Machine Manager)是一個圖形化介面,用來管理虛擬機。
適合桌面使用者或初學者。
可以直觀地建立/管理虛擬機、調整資源、設定網路與儲存。
支援 VNC/SPICE 顯示畫面。
- 確認KVM模組已載入
1 | [root@svr1 ~]# lsmod | grep "kvm" |

- 啟動 libvirtd 服務
1 | [root@svr1 ~]# systemctl enable --now libvirtd |

電腦名稱及Bridge 網路設定
- 設定電腦名稱:
1 | [root@svr1 ~]# hostnamectl hostname svr1 |
- 新增Bridge 網卡 “br0”
1 | [root@svr1 ~]# nmcli con add type bridge ifname br0 con-name br0 |
- 新增bridge-slave
1 | [root@svr1 ~]# nmcli con add type bridge-slave ifname ens160 master br0 |

- 設定br0 固定IP
1 | [root@svr1 ~]# nmcli connection modify br0 ipv4.method manual ipv4.addresses 192.168.133.185/24 ipv4.gateway 192.168.133.2 ipv4.dns 192.168.133.2 autoconnect yes |
- 啟用br0及bridge-slave
1 | [root@svr1 ~]# nmcli con up br0 && nmcli con up bridge-slave-ens160 |
- 查看IP及網卡設置

Rocky Linus-svr2 安裝http 、kickstart file
==請參考svr1的固定IP設置流程,設定固定IP為192.168.133.193==
- 安裝httpd
1 | [root@svr2 ~]# dnf install httpd -y |
- 啟動服務
1 | [root@svr2 ~]# systemctl enable --now httpd |
- 新增防火牆規則& 重新讀取防火牆
1 | [root@svr2 ~]# firewall-cmd --add-service=http --permanent |
1 | [root@svr2 ~]# firewall-cmd --reload |
- 將Rocky 9 ISO 掛載到/mnt
1 | [root@svr2 ~]# mount -o loop Rocky-9.5-x86_64-dvd.iso /mnt/ |
- 新增/var/www/html/rocky9目錄
1 | [root@svr2 ~]# mkdir /var/www/html/rocky9 |
- 複製/mnt 下的 ISO檔案內容至 /var/www/html/rocky9/
1 | [root@svr2 ~]# cp -av /mnt/* /var/www/html/rocky9/ |

- 實際發現掛載的 /mnt複製時有遺漏 .treeinfo 檔案
==重要: 否則會無法辨識安裝路徑==
1 | [root@svr2 ~]# ls -al /mnt/ |

- 將檔案複製至 /var/www/html/rocky9/
1 | [root@svr2 ~]# cp /mnt/.treeinfo /var/www/html/rocky9/ |
- 重啟讀取httpd服務
1 | [root@svr2 ~]# systemctl reload httpd |
- 先產生一組sha512加密過的root密碼,用於Kickstart 內加密過的root密碼
1 | [root@svr2 ~]# openssl passwd -6 |
-6 的意思是使用 SHA-512 加密法(SHA2-512),這是目前 Linux 系統中 /etc/shadow 的預設密碼加密方式之一。
- 在svr2 /var/www/html/ 建立Kickstart 自動安裝檔
rocky9.cfg
1 | [root@svr2 ~]# vim rocky9.cfg |


1 | # Kickstart 自動安裝 Rocky Linux 9 |
- 確認/var/www/html/ 底下
目錄rocky9及rocky9.cfgselinux content 設置正常 (httpd_sys_content_t)
1 | [root@svr2 html]# ls -lZ |
==註: 如果檔案不是呈現 httpd_sys_content_t ,則可使用下列指令修正==
- 定義檔案&目錄Selinux
1 | [root@svr2 html]# semanage fcontext -a -t httpd_sys_content_t 檔案或目錄 |
- 套用目錄設置
1 | [root@svr2 html]# restorecon -Rv /var/www//html/ |
- 至rocky9-svr1 測試rocky-svr2 http://192.168.133.193/rocky9.cfg 是否可正常顯示
1 | [root@svr2 ~]# curl http://192.168.133.193/rocky9.cfg |

至Rocky Linux-svr1 開始安裝系統
- 建立一個虛擬機硬碟檔案 rocky-lab1.qcow2 20G
1 | [root@svr1 ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/rocky9-lab1.qcow2 20G |
- 查看已建立完成rocky-lab1.qcow2
1 | [root@svr1 ~]# ls -l /var/lib/libvirt/images/ |

- 指令 建立rocky9-lab1 虛擬機
1 | [root@svr1 ~]# virt-install --name rocky9-lab1 --ram 4096 --vcpus 2 --disk path=/var/lib/libvirt/images/rocky9-lab1.qcow2,format=qcow2,bus=virtio --os-variant rocky9 --network bridge=br0,model=virtio --graphics none --console pty,target.type=serial --location http://192.168.133.193/rocky9/ --extra-args "inst.ks=http://192.168.133.193/rocky9.cfg console=ttyS0,115200n8" |

虛擬機 rocky9-lab1 已正在建立中

系統安裝完成,並測試Root登入,驗證剛剛的明碼密碼是否可正常登入。

#KVM
Install KVM on Rocky Linux 9