Archlinux-中使用-kvm-虚拟机
首先需要检查各种支持, 然后加载没有加载的模块, 安装 qemu, 准备一个镜像盘, 之后就可以使用.
创建硬盘镜像
1 |
|
这个东西就相当与是一个硬盘, 或一个分区. 名字无所谓, 但应该要用 .qcow2
作为后缀.
安装操作系统
前面制作的是硬盘. 这里其实就是用启动盘 (.iso
) 文件, 来启动并安装, 相当于装系统的时候 USB 启动.
使用无界面 (headless) 模式时, 将会默认在本地 5900 端口启动一个 VNC 服务器, 可以用 TigerVNC 连接到客户机的系统上: vncviewer :5900
.
运行虚拟化的系统
根据客户机的架构, 使用 qemu-system-*
程序, 如 qemu-system-x86_64
.
这个是启动的命令, 后面跟如 archlinux.qcow2
. 就同选择一个硬盘来启动:
1 |
|
宿主机和虚拟机数据交互
默认情况下, 用户模式的客户机能够通过 10.0.2.2
这个 IP 访问到宿主机. 任何运行于宿主机上的服务端程序都可以通过这个地址被访问到.
QEMU 端口转发
QEMU 能够将宿主机的端口转发到客户机上.
就像端口绑定, 如:
1 |
|
挂载 qcow2 镜像内的分区
VNC
用 -vnc :x
选项.
基本的口令验证, 使用 password
选项设置访问口令:
1 |
|
口令被限制在 8 个字符内.
技巧
通过 -cpu host
选项让 QEMU 模拟宿主机上的特定 CPU.
如果宿主机有多个核心, 可以用 -smp
为客户机分配更多核心.
默认情况下, QEMU 仅仅为每台虚拟机分配 128MB 内存, 可以使用 -m
选项分配更多内存.
汇总命令
1 |
|
-drive file=
用来指定硬盘, 这里是如 archlinux.qcow2
.
-cdrom
这里是指定启动光盘, 就是 .iso
文件.
指定 -boot menu=on
可启用 boot 菜单.
-boot
选项指定启动顺序, 有三种:
a
, 从软盘启动c
, 从硬盘启动d
, 从光驱启动
-enable-kvm
是启动 kvm 模式.
-monitor stdio
表示从标准输入 (stdio) 获取输入来指定密码.
-usb -device usb-tablet
选项避免点击客户机系统的窗口时鼠标被捕获. 若没有这个选项, 使用 Ctrl+Alt+g
来放开捕获.
这里为什么要加 -m 10G
, 可能是因为安装系统的时候所占的空间大于 128MB.
试验
尝试了一下的命令:
1 |
|
然后就可以用:
1 |
|
访问.
提示里面说用 ::1:5900
访问, 但不行.
这里是安装系统. 安装完之后退出, 用:
1 |
|
重新进入系统, 这里也要指定 -m
.