../
// qemu-kvm使用笔记
#import "/template.typ":*
#doc-template(
title: "qemu-kvm使用笔记",
date: "2023年10月6日",
body: [

= 准备工作

忽略MSRS,参见: 

- #link("https://wiki.archlinux.org/title/QEMU#Certain_Windows_games/applications_crashing/causing_a_bluescreen", "Certain Windows games/applications crashing/causing a bluescreen - ArchLinux Wiki")

运行:

```
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
```

同时在/etc/modprobe.d/kvm.conf中加入:

```
options kvm ignore_msrs=1
```

权限配置:

```
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
```

= 创建虚拟机

首先创建磁盘镜像:

```
qemu-img create -f qcow2 os.qcow2 256G
```

然后准备好安装盘镜像,例如Windows 10或者Ubuntu。这里假设安装盘是install.iso。然后创建启动脚本start.sh:

```
#!/bin/bash

chipset="type=q35,kernel_irqchip=on,mem-merge=on"
vcpu="host"
hyper="kvm,thread=multi"
CPU_SOCKETS="1"
CPU_CORES="2"
CPU_THREADS="2"
MEM=4096

qemu-system-x86_64 \
    -enable-kvm \
    -m "${MEM}" \
    -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check \
    -machine ${chipset} \
    -cpu ${vcpu} \
    -device ich9-ahci,id=sata \
    -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" \
    -drive id=HDD,if=none,file="./os.qcow2",format=qcow2 \
    -device ide-hd,bus=sata.3,drive=HDD \
    -netdev user,id=net0,hostfwd=tcp::8022-:22 \
    -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \
    -usb  \
    -device usb-tablet \
    -device qemu-xhci,id=xhci \
    -vga virtio \
    -vnc :0 \
    -cdrom ./install.iso
    #-usb -device usb-host,hostbus=1,hostaddr=4
```

完成安装之后就可以把cdrom那一行注释掉。

= 连接USB外接设备

用lsusb查询端口的总线号和设备号,然后用最后一行连进虚拟机,此时需要用sudo权限运行。

音频的配置我没有成功,不过用USB外接声卡然后连通USB是可以的。

])



Mistivia - https://mistivia.com