host : arch
guest : win7
//libvirt 安装
# pacman -S libvirt //server
# systemctl enable libvirtd.service
# pacman -S virt-manager //client
# pacman -S bridge-utils //因为只有用到桥接模式 所以只装这个
因为在同一台机器上用 所以 server 和 client 都有装
服务开启后 记得重开机让 polkit 的设定能正确工作
如果网络部份有其它需求请参考下面的 wiki
参考资料 : https://wiki.archlinux.org/index.php/libvirt
//qemu 安装
# pacman -S qemu
参考资料 : https://wiki.archlinux.org/index.php/QEMU
这样就完成软件部份的安装了 arch 真是懒人的福音XD
其实这样也就可以开 virt-manager 快乐的使用了
不过 这个前提是你不需要 host 和 guest 互连的情况下XD(ssh samba 之类都死亡)
单纯只要测试 os 的话
网络设 macvtap 就可以了
除了 host 和 guest 互连的问题外 其它都正常工作
不过和其它虚拟机器软件的连线是正常的
(测过和 vmware 的 dhcp + nat server 分享正常
//host 网络设定
因为要和 guest 的 win7 共享资料夹
所以要继续设定 host 的网络部份
设定的方式有两种 : netctl 和 systemd-networkd
首先以较简单的 netctl 示范
# vi /etc/netctl/bridge-static
add
/*
Interface=br0 //设想要的名字
Connection=bridge
BindsToInterfaces=<Name> //设要使用的网络卡
IP=static
Address='192.168.*.*/24' //设想要的 ip
*/
# netctl enable bridge-static
设好后重开机比较好(比较不会跟旧设定冲突 记得把旧设定关掉
netctl 这样就完工了XD
接下来是比较麻烦的 systemd-networkd
# vi /etc/systemd/network/10-bridge.netdev
add
/*
[NetDev]
Name=br0 //也是设想要的名字
Kind=bridge
MACAddress= //mac 不指定的话 它会自己生产
*/
# vi /etc/systemd/network/20-bridge-ethernet.network
add
/*
[Match]
Name=<Name> //设要使用的网络卡
[Network]
Bridge=br0 //要和上面 netdev 的名字相同
*/
# vi /etc/systemd/network/30-bridge-static.network
add
/*
[Match]
Name=br0 //也要和 netdev 的名字相同
[Network]
Address=192.168.*.*/24 //设想要的 ip
LinkLocalAddressing=no //没在用 ipv6 所以关了它
*/
# systemctl enable systemd-networkd.service
弄好后一样重开机 记得不能和 netctl 两个同时使用
参考资料 :
bridge : https://wiki.archlinux.org/index.php/Network_bridge
netctl : https://wiki.archlinux.org/index.php/Netctl
systemd-networkd : https://wiki.archlinux.org/index.php/Systemd-networkd
//virt-manager 使用
gui 用起来和 vmware workstation 或 virtaulbox 其实差不多
就那个储存池算是比较不一样的地方
主要是拿来当 qemu 的前端来使用
毕竟还是有 gui 比较方便(vmws 和 vbox 用习惯的关系XD
建立新的虚拟机器 这边要注意的地方有下列这几个(没特别提出来的都是用默认值
Network selection -> Specify shared device name
网络部份要选指定分享的设备名称
Bridge name: -> br0
桥接名称选刚刚上面示范的 br0
Customize configuration before install -> Checked
开始安装前自订组态这个要记得打勾(原因下面会说明
IDE Disk 1 -> Virtual Disk -> Advanced options -> Disk bus: -> VirtIO
NIC <MAC> -> Virtual Network Interface -> Device model: -> virtio
为了要有比较好的 i/o 效能
自订组态里面的这2个改成 virtio
//下载安装 win7 时用的 driver
不过在开始安装 win7 前 别急着开机 还有 driver 要下载
https://fedoraproject.org/wiki/Windows_Virtio_Drivers
在这边下载 virtio 的 driver
link : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
安装 win7 的时候
会找不到硬盘 把这个 iso 挂戴到光驱后
在 viostor 目录下视 os 选择 driver 即可
戴入 driver 后 记得把 win7 iso 挂戴回去 不然会不能装(记得重新整理)
然后就等 win7 安装完成就好
//装好 win7 后 安装一些设备的 driver 和 细部设定
就打开装置管理员 把上面的 vritio iso 再挂载上去
找到有问号的设备 更新 driver 指向光驱 它就会自动更新了
https://images.plurk.com/468aXgzywie2xS9lwUMQ.jpg
除了画面里这3个外 还有一个 qxl 的显示卡 这4个
driver 装好后
guest-agent 接着在这个目录里
装 qemu guest agent(一样在virtio iso里)
接下来就可以快乐的使用 win7 直到你发现剪贴簿不能用XD(host 的东西贴不到 guest)
不过 这是小事
https://www.spice-space.org/
https://www.spice-space.org/download.html
在这边下载 SPICE guest agent 并安装
link : https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-0.100.exe
安装时 它也会安装 virtio 的相关 driver
不过它内附的比较旧 所以还是优先使用 virtio iso 附的
(也安装没关系 win7会优先使用先前安装的
装这个主要是要让 剪贴簿能正常使用XD
//其它注意事项
刚开始用时 其实有遇到鼠标游标移动的问题(简单说就是变兔鼠
https://images.plurk.com/3PYNIaxipYS2WhiHwUMQ.jpg
只要新增这个设备就好(或 qemu 参数加上 -usbdevice tablet
不过后来随着 arch 升级 libvirt 相关套件后
这个似乎变成默认值了
参考资料 : https://wiki.archlinux.org/index.php/QEMU#Mouse_integration
结语:
目前按照这样子安装完使用上的感觉
其实速度还是比 vmws 慢了一点(vbox没有安装过 win7 不评论
其它用起来的感觉差不多
本来也想要用 efi 模式 可惜的是 ovmf 这个套件有点问题
装完后 libvirt + qemu 还是没 efi 能用
不过在 vmws 和 vbox 用 efi 也没有很大差异的情况下
就不特别去弄这部份了(想玩的话 可以用 abs 去编 ovmf 这个套件
参考资料 : https://wiki.archlinux.org/index.php/libvirt#OVMF_-_QEMU_workaround
差不多就这样XD 应该没有漏掉什么