当前位置: 首页 > news >正文

QEMU 搭建 Ubuntu x86 虚拟机

1. 安装 QEMU

在 Ubuntu 系统中,可以通过以下命令安装 QEMU:

sudo apt-get update
sudo apt-get install qemu-system-x86_64 qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

2. 创建虚拟硬盘镜像

qemu-img create -f raw ubuntu.img 30G

3. 下载 Ubuntu ISO 镜像

从 Ubuntu 官方网站下载适用于 x86 架构的 Ubuntu ISO 镜像文件:
https://ubuntu.com/download/desktop
http://old-releases.ubuntu.com/releases

4. 启动虚拟机

使用以下命令启动虚拟机并安装 Ubuntu 操作系统:

qemu-system-x86_64 -name ubuntu-vm -smp 2 -m 2048 \
-boot d \
-drive file=ubuntu.img,format=raw \
-cdrom ubuntu-24.04.1-desktop-amd64.iso \
-enable-kvm

命令参数说明:

  • -name ubuntu-vm: 为虚拟机命名。
  • -smp 2: 设置虚拟机拥有 2 个虚拟 CPU。
  • -m 2048: 设置虚拟机拥有 2048MB 内存。
  • -boot d: 从 CD-ROM 启动。
  • -drive file=ubuntu.img,format=raw: 指定虚拟硬盘镜像文件。
  • -cdrom ubuntu-24.04.2-desktop-amd64.iso: 指定 ISO 文件作为启动盘。
  • -enable-kvm: 启用 KVM 加速功能,提高虚拟化性能。如果不支持kvm,则需去除此命令。

5. 安装 Ubuntu

启动后,虚拟机会从 ISO 镜像中启动安装程序。输出:

VNC server running on ::1:5900

这说明 QEMU 已经成功启动了 VNC 服务,并且 VNC 服务器正在监听本地的 5900 端口。接下来可以通过 VNC 客户端连接到这个端口来访问虚拟机的图形界面。

以 Remmina 为例,连接步骤如下:
安装 Remmina

sudo apt update
sudo apt install remmina remmina-plugin-vnc

连接到 VNC 服务器

  1. 打开 Remmina。
  2. 点击“新建连接”按钮。
  3. 在“连接名称”中输入任意名称,例如 ubuntu-vm
  4. 在“协议”下拉菜单中选择“VNC”。
  5. 在“服务器”字段中输入 localhost:5900
  6. 在“用户名”字段中输入你在虚拟机中设置的用户名。
  7. 点击“连接”按钮。

按照安装向导的提示完成 Ubuntu 的安装:

  1. 选择语言和键盘布局。
  2. 选择“自定义安装”。
  3. 在分区磁盘窗口中,根据需要划分磁盘分区。
  4. 设置用户名和密码,完成安装。
    安装后即可从 ubuntu.img 启动。

6. 后续配置

安装完成后,你可以通过 SSH 或 VNC 连接到虚拟机。如果启用了端口转发(如 -hostfwd=tcp::2222-:22 ),可以通过 SSH 连接到虚拟机:

ssh -p 2222 user@localhost

如果需要使用 VNC 连接,可以添加 -vnc :1 参数到启动命令中。
通过以上步骤,即可成功搭建一个基于 QEMU 的 Ubuntu x86 虚拟机。

相关文章:

  • Stable diffusion只换衣服的方法
  • 计算机网络知识速记 :HTTP多个TCP连接的实现方式
  • 在蓝耘平台使用4090显卡跑一下深度学习算法-教学文章
  • ‌OpenAI GPT-4.5技术详解与未来展望
  • kafka动态监听主题
  • Flutter PIP 插件 ---- iOS Video Call
  • w211医疗报销系统的设计与实现
  • YOLOv5 目标检测优化:降低误检与漏检
  • 编程考古-TurboPascal中Turbo到底是什么
  • 车载OS简介
  • binance python
  • PVE 磁盘管理详解:从 Windows 到 Linux 的思维转换(文末附资源)
  • 力扣动态规划-31【算法学习day.125】
  • Python VsCode DeepSeek接入
  • Qt MainWindow
  • java集合框架之Map系列
  • 华为IPD简介
  • LeetCode 232: 用栈实现队列
  • w210基于Springboot开发的精简博客系统的设计与实现
  • windows10本地的JMeter+Influxdb+Grafana压测性能测试,【亲测,避坑】
  • 新华时评:中国维护国际经贸秩序的立场坚定不移
  • 上海劳模风采馆焕新升级后重新开放,展示480位劳模先进故事
  • 工行回应两售出金条发现疑似杂质:情况不属实,疑似杂质应为金条售出后的外部附着物
  • 代理销售保险存在误导行为,农业银行重庆市分行相关负责人被罚款0.1万元
  • 以总理内塔尼亚胡称决心彻底击败哈马斯
  • 首批证券公司科创债来了!拟发行规模超160亿元