创建虚拟机

安装虚拟机

  1. __win_install() {
  2. _name="win-template"
  3. virsh destroy "$_name" >/dev/null 2>&1
  4. virsh undefine "$_name" >/dev/null 2>&1
  5. _iso_win="/data/kvm/iso/zh-cn_windows_server_2022_updated_june_2022_x64_dvd_5a360af4.iso"
  6. _system_img="/data/kvm/vm/win-template/system.qcow2"
  7. mkdir -p ${_system_img%/*}
  8. rm -rf "$_system_img"
  9. qemu-img create -f qcow2 "$_system_img" 99G -o preallocation=off
  10. virt-install --name="$_name" \
  11. --memory=8192 \
  12. --cpu host \
  13. --vcpus "$(grep 'processor' /proc/cpuinfo | sort -u | wc -l)" \
  14. --os-type=windows \
  15. --os-variant=win2k19 \
  16. --noautoconsole \
  17. --autostart \
  18. --disk $_system_img,cache=none,bus=sata \
  19. --disk $_iso_win,device=cdrom,bus=ide \
  20. --graphics vnc \
  21. --network network=default,model=virtio
  22. }
  23. __win_install

如果你 shell 工具支持 X11 显示, 此时会调起X11, 我的X11 显示的是中文乱码, 要解决这个问题应该是要Linux上安装中文字库
不过还是推荐使用 VNC 连接工具 连接完成安装, 如果VNC 无法连接, 那先关掉 X11 的显示窗口
安装过程这里就不贴了 详情 https://www.yuque.com/uuu/centos/install_course

由于安装命令中没有设置自动重启, 所以安装完成后点击重启, 虚拟机是不会重启的, 而是关闭状态, 这个不用理会, 应为我们马上就会删掉,重新导入它
可以使用以下命令查看虚拟机运行状态

  1. virsh list --all

image.png

在安装完成后将虚拟机删除, 等下重新以导入虚拟机的方式重新启动

  1. _name="centos7-template"
  2. virsh destroy "$_name" >/dev/null 2>&1
  3. virsh undefine "$_name" >/dev/null 2>&1

导入虚拟机
导入刚刚安装的虚拟机

  1. __centos_import() {
  2. _name="centos7-template"
  3. virsh destroy "$_name" >/dev/null 2>&1
  4. virsh undefine "$_name" >/dev/null 2>&1
  5. _system_img="/data/kvm/vm/centos7-template/system.qcow2"
  6. virt-install --name="$_name" \
  7. --memory=4096 \
  8. --cpu host \
  9. --vcpus $(grep 'processor' /proc/cpuinfo | sort -u | wc -l) \
  10. --os-type=linux \
  11. --os-variant=rhel7.9 \
  12. --autostart \
  13. --noautoconsole \
  14. --import \
  15. --disk "$_system_img",cache=none,bus=sata \
  16. --graphics vnc,listen=0.0.0.0,port=5900,password=p \
  17. --network network=default,model=virtio
  18. }
  19. __centos_import