使用Qemu安装Ubuntu教程

前情概要:VMware很方便,但是我用公司电脑不让安装,同时下载绿色版的还需要输入license,也无法输入激活。所以需要一款:免安装,免license,免费开源的,可安装Ubuntu的虚拟机软件。

--------- 闪亮登场:Qemu

1.软件下载

①Qemu下载https://qemu.weilnetz.de/w64/

我下载的是:

②Ubuntu下载https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/

2.安装准备

1.解压Qemu

下载的qemu_xxx.exe 可以直接右键解压(不需要双击)

2.添加环境变量

把解压后的qemu目录 添加到path环境变量

打开powershell 窗口命令查看 qemu是否OK

cpp 复制代码
qemu-system-x86_64 --version

3.重命名Ubuntu

下载的Ubuntu包改名为:ubuntu-22.04.iso

同时,跟qemu放在同一个目录下

4.创建虚拟硬盘

用 qemu-img 创建qcow2 格式动态磁盘(推荐 30G)

cpp 复制代码
qemu-img.exe create -f qcow2 ubuntu-disk.qcow2 30G
  • 生成 ubuntu-disk.qcow2 文件,就是虚拟机硬盘

3.开始安装

powershell窗口执行命令

1.基础安装命令

cpp 复制代码
qemu-system-x86_64 `
-m 4G `
-smp 4 `
-accel whpx `
-hda ubuntu-disk.qcow2 `
-cdrom ubuntu-22.04.iso `
-boot d `
-vga virtio `
-usb -device usb-tablet `
-display sdl `
-net nic -net user,hostfwd=tcp::2222-:22

如果报错了,比如:

报错原因:WHPX 硬件加速不可用 / 初始化失败原因:你的 Windows 没开启 Hyper-V / 虚拟机平台,所以 -accel whpx 用不了。

则使用这个命令(就是把-accel whpx 改为:-accel tcg )

cpp 复制代码
qemu-system-x86_64 `
-m 4G `
-smp 4 `
-accel tcg `
-hda ubuntu-disk.qcow2 `
-cdrom ubuntu-22.04.iso `
-boot d `
-vga virtio `
-usb -device usb-tablet `
-display sdl `
-net nic -net user,hostfwd=tcp::2222-:22

2.开始安装

4.安装成功后启动

安装时间比较长(我安装时因为没有硬件加速,共安装了3个多小时┓(;´_`)┏),成功后提示重新启动(启动的是Ubuntu)点击即可。

怎么启动Ubuntu呢?

1.在qemu目录下打开powershell

2.执行命令

cpp 复制代码
qemu-system-x86_64 `
-m 4G `
-smp 4 `
-accel tcg `
-hda ubuntu-disk.qcow2 `
-vga virtio `
-usb -device usb-tablet `
-display sdl `
-net nic -net user,hostfwd=tcp::2222-:22

稍等片刻即可~

5.推荐:使用mobaxterm连接Ubuntu

比较喜欢纯粹的 终端命令行,那就可以用moba来连接Ubuntu,然后操作。

(window电脑复制,但无法在Ubuntu中粘贴。使用终端方式连接Ubuntu就可以解决)

当然,最重要原因是:qemu中操作Ubuntu很卡,因为QEMU要干极耗性能的事:

比如:模拟 显卡( VirtIO VGA ),渲染 Ubuntu 桌面、窗口、鼠标等。

但使用mobaxterm后,在 MobaXterm 里操作时,MobaXterm 只干 一件极轻的事:只传文字

没有图形,没有桌面,没有显卡渲染,没有动画 ----- 所以就很流畅。

1.Ubuntu中安装ssh服务

cpp 复制代码
sudo apt update
sudo apt install -y openssh-server

检查是否 running:

cpp 复制代码
sudo systemctl status ssh

如果没启动,则启动并开机自启:

cpp 复制代码
sudo systemctl enable --now ssh
sudo systemctl start ssh

2.mobaxterm连接Ubuntu

QEMU 启动命令里已经有了:

复制代码
-net nic -net user,hostfwd=tcp::2222-:22

这代表:

  • Windows 主机 IP:127.0.0.1
  • 端口:2222
  • 指向 Ubuntu 的 22 端口

MobaXterm 新建会话

  • Session 类型:SSH
  • Host:127.0.0.1
  • Port:2222
  • Username:你 Ubuntu 的用户名(自己填)
  • 点 OK → 输密码
1.Mobaterm设置 ctrl+v 粘贴快捷键

用习惯了ctrl+v,可以在mobaxterm中设置下:

6.一些快捷命令

cpp 复制代码
重启:
sudo reboot

关机:
sudo poweroff
相关推荐
云计算磊哥@5 分钟前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_5231853210 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步201536 分钟前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽1 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能2 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫3 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++