1.安装环境
旧笔记本
Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
4核 8G
Debian 9.5 最小化安装
2.设置合上笔记本盖子不休眠
参考资料logind.conf 中文手册
因为笔记本开机后屏幕会一直亮着,盖上盖子又会休眠,所以得做下这个设置。之后每次开机后直接盖上盖子也能正常运行。
vim /etc/systemd/logind.conf
#HandlePowerKey按下电源键后的行为,默认power off
#HandleSleepKey 按下挂起键后的行为,默认suspend
#HandleHibernateKey按下休眠键后的行为,默认hibernate
#HandleLidSwitch合上笔记本盖后的行为,默认suspend(改为ignore;即合盖不休眠)在原文件中,还要去掉前面的#
#改这项
HandleLidSwitch=ignore
service systemd-logind restart 重启服务
当 power(电源)/sleep(休眠)/lid(合上盖子) 事件发生时
应该执行何种操作: "ignore"(无操作), "poweroff"(关闭系统并切断电源), "reboot"(重新启动), "halt"(关闭系统但不切断电源),
"kexec"(调用内核"kexec"函数), "suspend"(休眠到内存), "hibernate"(休眠到硬盘), "hybrid-sleep"(同时休眠到内存与硬盘),
"suspend-then-hibernate"(先休眠到内存超时后再休眠到硬盘), "lock"(锁屏) 。 注意, 只监视带有 "power-switch" 标签的 输入设备的 key(按下按钮)/lid(合上盖子) 事件。
如果主机插入了一个扩展坞(docking station) 或者连接了多个显示器, 那么"合上盖子"将执行 HandleLidSwitchDocked= 动作; 如果主机使用外部电源,
并且 HandleLidSwitchExternalPower= 不是默认值("ignore"), 那么"合上盖子"将执行 HandleLidSwitchExternalPower= 动作; 否则将执行 HandleLidSwitch= 动作。
3.检查本机CPU是否支持虚拟化
intel: 最新linux内核的Intel处理器(含VT虚拟化技术) vmx nx lm
AMD: 含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V svm nx lm
可以使用如下命令检查:
有输出内容就代表支持
cat /proc/cpuinfo | grep -E 'vmx|svm'
4.Xfce 桌面环境(可选)
ttf-wqy-microhei 是字体
apt install xfce4 xfce4-goodies ttf-wqy-microhei
5.VNC部署(可选)
多款可选
1.Tightvnc
apt install tightvncserver xterm
2.vnc4server
apt install vnc4server xterm
运行
vncserver -localhost no
vim /etc/vnc.conf 添加 $localhost = "no"
3.x11vnc
apt install xvfb x11vnc
运行
x11vnc -rfbport 5901 -passwd 123456 -create -forever
4.novnc
apt -y install novnc python-websockify
创建证书
openssl req -x509 -nodes -newkey rsa:2048 -keyout novnc.pem -out novnc.pem -days 365
运行
websockify -D --web=/usr/share/novnc/ --cert=/root/novnc.pem 6080 localhost:5901
5.连接工具
apt install xvnc4viewer
6.KVM安装
ttf-wqy-microhei 是字体没安装的的话virt-manager会乱码
apt install qemu qemu-kvm virt-manager ttf-wqy-microhei
其他字体
fonts-wqy-zenhei
font-manager
fonts-arphic-ukai
ttf-wqy-zenhei
xfonts-wqy
ttf-wqy-microhei
fonts-cwtex-fs
ttf-hanazono
镜像目录
系统的ISO镜像可以上传到这个目录
/var/lib/libvirt/images
之后可以直接使用带有X11功能的SSH连接工具使用virt-manager
命令呼出管理器,PUTTY需要额外安装X11
这边使用的MobaXterm自带X11
virt-manager
之后就可以创建虚拟机了
VNC连接
开始安装前显示协议选择VNC
类型:VNC服务器
地址:所有接口 # 没有选择所有接口的话其他IP就连不上
端口自动 # 默认从5900 开始
密码自定义
启动虚拟机后会自动创建5900的VNC端口
之后可以使用VNC链接工具连接进行系统的安装
0.0.0.0:5900 0.0.0.0:* LISTEN 19358/qemu-system-x
嵌套虚拟化(可选)
cat /sys/module/kvm_intel/parameters/nested
Y ##结果为Y表示当前的操作系统已经支持了嵌套虚拟化,使用跑虚拟化的程序直接使用就ok了
N ##那当然就表示当前操作系统未配置嵌套虚拟化喽
# 检查结果未开启,必须关闭所有的虚拟机系统,否则不能开启内核支持。
modprobe -r kvm_intel
modprobe kvm_intel nested=1
# 再次检查nested,输出Y,即为开启成功。
2.设置系统启动后自动开启nested
echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf
这样系统重启会自动加载netsted,支持嵌套虚拟了。
7.virtio驱动
虚拟机磁盘不使用virtio的话,磁盘性能是比较低。
LINUX的系统都默认自带virtio驱动
windows需要安装系统时加载一下驱动,才能选择virtio类型的磁盘。
驱动下载地址
https://github.com/virtio-win/virtio-win-pkg-scripts
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
驱动安装
添加一块存储设备
类型选择 CDROM
总线IDE
点管理添加下载的驱动
系统安装界面选择加载驱动
选择跟安装系统对应的驱动
安装后磁盘就能显示出来了。
8.添加UEFI固件
apt install ovmf
创建虚拟机时选择Q35芯片组,固件选择OVMF_CODE.fd
9.网卡桥接模式,宿主机与虚拟机无法互通
宿主机:debian9-kvm
内网ip:192.168.3.110
虚拟机:debian9
内网ip:192.168.3.112
路由器网关:192.168.3.1
在宿主机上添加虚拟机的静态路由
route add -net 192.168.3.112 netmask 255.255.255.255 gateway 192.168.3.1 ens3
在虚拟机上添加宿主机的静态路由
route add -net 192.168.3.110 netmask 255.255.255.255 gateway 192.168.3.1 ens3
相互添加之后网络就通了
删除添加的路由
route del -net 192.168.3.120 netmask 255.255.255.255 gateway 192.168.3.1 ens3
Debian 上设置和配置网桥
参考此文章
Debian 上设置和配置网桥
创建虚拟机磁盘
升级了版本后 Virtual Machine Manager 创建磁盘,创建50G就占用50G,有点浪费存储。
需要之前那样动态的就需要命令手动创建磁盘。
cd /var/lib/libvirt/images
qemu-img create -f qcow2 win7-32bit.qcow2 60G
ls -lh
-rw-r--r-- 1 root root 193K 1月 28 11:12 win7-32bit.qcow2
可以看到创建的磁盘就占用193K
容量60G
qemu-img info win7-32bit.qcow2
image: win7-32bit.qcow2
file format: qcow2
virtual size: 60G (64424509440 bytes)
disk size: 196K