纯命令行在Ubuntu中安装qemu的ubuntu虚拟机,成功备忘

 信息总体还算完整,有个别软件更新了名字,所以在这备忘一下

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 build
cd build
../configure
make

如果是源码编译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

相关推荐

  1. ubuntu虚拟安装ros2-foxy

    2024-01-24 22:14:01       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-24 22:14:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-24 22:14:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-24 22:14:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-24 22:14:01       18 阅读

热门阅读

  1. 知识笔记(九十六)———在vue中使用echarts

    2024-01-24 22:14:01       36 阅读
  2. kafka乱序消费可能的原因和解决方案

    2024-01-24 22:14:01       36 阅读
  3. C语言 存储类型 关键字

    2024-01-24 22:14:01       33 阅读
  4. 分支与循环语句总结

    2024-01-24 22:14:01       34 阅读
  5. 汽车售后服务客户满意度调查内容

    2024-01-24 22:14:01       25 阅读
  6. 大数据学习之Flink、Flink容错机制的注意事项

    2024-01-24 22:14:01       41 阅读