纯命令行在Ubuntu中安装qemu的ubuntu虚拟机,成功备忘
Eloudy 2024-06-11 11:07:04 阅读 59
信息总体还算完整,有个别软件更新了名字,所以在这备忘一下
1. 验证kvm是否支持
________________________________________________________________
$ grep vmx /proc/cpuinfo
__________________________________________________________________
也可以这样:
$ grep -E '(vmx|svm)' /proc/cpuinfo # cpu虚拟化支持$ lsmod|grep kvm # 查看Linux内核是否已安装KVM内核模块
________________________________________________________________
有相关关键字输出,既可以认为本机支持 kvm;
2. 安装 qemu 及其依赖包
2.1 利用ubuntu 软件仓库安装
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils virt-manager virt-viewer
安装后务必重启系统;
2.2 源码安装注意事项
代码网址:
https://github.com/qemu/qemu
git clone https://github.com/qemu/qemu.git
按照官网指示构建即可:
mkdir buildcd build../configuremake
如果是源码编译qemu的话,当在./configure 阶段遇到 ERROR: meson setup failed 时,需要安装如下软件包:
apt-get install libpixman-1-dev
python 和 ninja 一般机器都有安装,可以稍作检验:
编译完成后可以不用安装,直接执行 build 文件夹中文件,如红框的 qemu-system-x86_64
3.关闭 apparmor
AppArmor 是一种应用级别的访问控制(ACL)工具,可以限制进程访问文件和目录的权限,从而保护应用程序和敏感数据的安全。下面介绍如何使用 AppArmor 来保护应用程序和敏感数据:
确认 AppArmor 是否安装:
$ aa-status
来查询 AppArmor 是否已安装。如果输出中包含 AppArmor 字样,表示 AppArmor 已安装。
sudo /etc/init.d/apparmor teardown && \sudo update-rc.d -f apparmor remove
4. 重启 libvirtd 服务
sudo systemctl restart libvirtd
5. 预备启动盘安装文件
5.0 下载光盘
$ wget http://old-releases.ubuntu.com/releases/22.04.1/ubuntu-22.04.2-live-server-amd64.iso
其他版本没来得及全面测试,desktop的没有成功。
5.1 挂载启动光盘
$ sudo mkdir /mnt/tmp_ubuntu_220402_live_server$ sudo mount ./ubuntu-22.04.2-live-server-amd64.iso /mnt/tmp_ubuntu_220402_live_server -o loop
5.2 将启动光盘数据拷贝到本用户某目录
$mkdir ./os_ubuntu220402_live_server$ ls$ os_ubuntu220402_live_server ubuntu-22.04.2-live-server-amd64.iso$ cp -r /mnt/tmp_ubuntu_220402_live_server/ ./os_ubuntu220402_live_server/20402_live_server/tmp_ubuntu_220402_live_server/casper/initrd
5.3 确认文件路径
vmlinuz 文件和 initrd 文件的路径,向虚拟机中安装ubuntu时会用到(有的版本是initrd.gz 或者 initrd.lz,对应即可)
$ ls ./os_ubuntu220402_live_server/tmp_ubuntu_220402_live_server/casper/vmlinuz### ./os_ubuntu220402_live_server/tmp_ubuntu_220402_live_server/casper/vmlinuz$ ls ./os_ubuntu220402_live_server/tmp_ubuntu_220402_live_server/casper/initrd### ./os_ubuntu2
6. 创建虚拟机镜像,并安装linux
6.1 将用户入组
sudo usermod -aG kvm $USER && \sudo usermod -aG libvirt $USER
6.2 创建虚拟机文件
$ qemu-img create more_test22042.qcow2 -f qcow2 30G
6.3 启动虚拟机并安装ubuntu
sudo qemu-system-x86_64 -m 8192M -smp 4 -boot c -cpu host -hda more_test22042.qcow2 --enable-kvm \--nographic -append console=ttyS0 -cdrom ubuntu-22.04.1-live-server-amd64.iso \ -kernel ./os_22041_live/tmp22041_live/casper/vmlinuz \ -initrd ./os_22041_live/tmp22041_live/casper/initrd
一路的安装选项几乎都是默认,如下面总结,有两三处选择发生。
如果网络不错的话,会安装十几二十几分钟,直到出现 [ reboot ]字样,关掉终端,再开一个终端来启动虚拟机;
6.4 对 6.1到6.3的总结命令
由于经常重复,总结如下:
rm more_test22042.qcow2 && \sudo usermod -aG kvm $USER && \sudo usermod -aG libvirt $USER && \qemu-img create more_test22042.qcow2 -f qcow2 30G && \sudo qemu-system-x86_64 -m 8192M -smp 4 -boot c -cpu host -hda more_test22042.qcow2 --enable-kvm \--nographic -append console=ttyS0 -cdrom ubuntu-22.04.1-live-server-amd64.iso \ -kernel ./os_22041_live/tmp22041_live/casper/vmlinuz \ -initrd ./os_22041_live/tmp22041_live/casper/initrd
启动虚拟机,不知道如何去掉 -cdrom 等选项,所以关闭终端,重开一个终端即可。
6.5 正式启动已经安装好了的虚拟机
启动虚拟机:
不知道如何去掉 -cdrom 等选项,所以关闭终端,重开一个终端:
sudo usermod -aG kvm $USER \&& sudo usermod -aG libvirt $USER \&& sudo qemu-system-x86_64 -m 8192M -smp 4 -boot c -cpu host \-hda test22042.qcow2 --enable-kvm --nographic
启动后会停着不懂,回车后才出现 login:
7. 附件
是
否则会重复进入安装界面
安装过程的选项信息,乱七八糟,仅供参考,并非必需;
除了选择了如下两项,以及用户名机器名和密码,其他都是顺着往下来的
[ Continue in basic mode > ]
[X] Install OpenSSH server
上一篇: 【万字详细教程】Linux to go——装在移动硬盘里的Linux系统(Ubuntu22.04)制作流程;一口气解决系统安装/引导文件迁移/显卡驱动安装等问题
下一篇: Linux卸载nginx
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。