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 \
-M pc \
-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 内存。
  • -M pc : 模拟标准的 x86_64 个人电脑
  • -boot d: 从 CD-ROM 启动。
  • -drive file=ubuntu.img,format=raw: 指定虚拟硬盘镜像文件。
  • -cdrom ubuntu-24.04.2-desktop-amd64.iso: 指定 ISO 文件作为启动盘。
  • -enable-kvm: 启用 KVM 加速功能,提高虚拟化性能。如果不支持kvm,则去除此命令。

使用 kvm-ok 工具判断CPU是否支持KVM:

sudo apt-get install cpu-checker
sudo kvm-ok

如果输出结果为 INFO: /dev/kvm exists ,则表示系统支持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. 设置用户名和密码,完成安装。

安装后 .iso 文件不再需要,重启使用以下命令:

qemu-system-x86_64 -name ubuntu-vm -smp 2 -m 2048 \
-M pc \
-boot c \
-drive file=ubuntu.img,format=raw \
-enable-kvm

6. 后续配置

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

ssh -p 2222 user@localhost

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux驱动层学习:Linux 设备树

设备树是一种数据结构,包含多个节点,用于描述硬件设备及其配置信息,它通常用于嵌入式系统中,尤其是在Linux操作系统中,帮助操作系统识别和管理硬件资源,设备树不是代码,而是一种用数据描述硬件信…

金蝶云星空与钉钉高效数据集成案例分享

金蝶云星空数据集成到钉钉的技术案例分享 在企业信息化系统中,数据的高效流动和实时反馈是提升业务效率的关键。本文将聚焦于一个具体的系统对接集成案例:如何将金蝶云星空的数据集成到钉钉,并实现审核状态的回传提示。 本次集成方案名为“…

图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介

1.Skia —— 2D 图形库 Skia 是一个 2D 图形库,它的作用是为开发者提供一个高层次的绘图接口,方便他们进行 2D 图形渲染(比如绘制文本、形状、图像等)。Skia 本身不直接管理 GPU 或进行底层的渲染工作,而是通过 底层图…

GIT提错分支,回滚提交

1. 准备示例 假设我们有三次提交: test1:需要在 master 分支提交test2、test3:需要在 develop 分支提交 远端线上记录 2. 步骤 选择需要回退的记录: 选中需要回退的 commit,选择 Reset Current Branch to Here...。…

【原创】在ubuntu中搭建gradle开发环境

检查Linux版本 rootwww:~# hostnamectlStatic hostname: www.0x88.comIcon name: computer-vmChassis: vmMachine ID: 30fa955a36be492ca459599ef20bc508Boot ID: 37084dbe36f44adaa075e8f9a98f132eVirtualization: kvm Operating System: Ubuntu 22.04.5 LTSKernel: Linux 5.…

【JavaEE进阶】MyBatis入门

目录 🌴前言 🌲什么是MyBatis? 🌳准备工作 🚩创建工程 🚩配置数据库连接字符串 🚩数据准备 🚩编写持久层代码 🍃单元测试 🌴前言 在应⽤分层学习时,我们了解到…

以太网详解(八)传输层协议:TCP/UDP 协议

文章目录 传输层协议概述为什么需要传输层?传输层功能网络层与传输层在实现 “端到端” 传输的异同两类服务:面向连接/无连接服务 传输控制协议 TCPTCP 协议数据单元格式TCP 的重传机制快重传和快恢复快重传举例快恢复算法 用户数据报协议 UDPUDP 概述UDP 基本工作过…

Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档

Electron 客户端心跳定时任务调度库调研文档 - Node.js 任务调度库技术调研文档 本文将对七个流行的定时任务调度库:node-cron、rxjs、bull、node-schedule、agenda、bree、cron。这些库都可以用来处理定时任务,但它们的特点和适用场景有所不同。我们将从…

DeepSeek 开放平台无法充值 改用其他平台API调用DeepSeek-chat模型方法

近几天DeepSeek开放平台无法充值目前已经关闭状态,大家都是忙着接入DeepSeek模型 ,很多人想使用DeepSeek怎么办? 当然还有改用其他平台API调用方法,本文以本站的提供chatgpt系统为例,如何修改DeepSeek-chat模型API接口…

pix2text 使用经验

给同行打鸡血 😊 构建结构化的数理领域知识库: 提高可访问性和可搜索性 Markdown和LaTeX格式:这两种格式易于在线发布和共享,有助于提高数学内容的可访问性。搜索引擎优化:将PDF内容转换为标记语言,可以…

Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)

安装前检查服务器glibc版本,下载对应版本包 rpm -qa | grep glibc mysql安装包及依赖包已整理好,下载地址:https://pan.quark.cn/s/3137acc814c0,下载即可安装 一、下载MySQL mysql安装包及依赖包已整理好,下载地址…

6.2.图的存储结构-邻接矩阵法

一.邻接矩阵法存储不带权图: 结点不带权值: 1.左图的无向图中,A到B直达的有一条路,所以A行B列的值为1; 左图的无向图中,A到F没有直达的路,所以A行F列的值为0; 结论:无…

【VB语言】EXCEL中VB宏的应用

【VB语言】EXCEL中VB宏的应用 文章目录 [TOC](文章目录) 前言一、EXCEL-VB1.实验过程2.代码 二、EXCEL-VB 生成.c.h文件1.实验过程2.代码 四、参考资料总结 前言 1.WPS-VB扩展包 提示:以下是本篇文章正文内容,下面案例可供参考 一、EXCEL-VB 1.实验过…

用deepseek学大模型05逻辑回归

deepseek.com:逻辑回归的目标函数,损失函数,梯度下降 标量和矩阵形式的数学推导,pytorch真实能跑的代码案例以及模型,数据,预测结果的可视化展示, 模型应用场景和优缺点,及如何改进解决及改进方法数据推导。…

2025年02月17日Github流行趋势

项目名称:OmniParser 项目地址url:https://github.com/microsoft/OmniParser 项目语言:Jupyter Notebook 历史star数:8971 今日star数:969 项目维护者:yadong-lu, ThomasDh-C, aliencaocao, nmstoker, kris…

RocketMQ 5.0安装部署

0.前言 在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。 Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余…

Ubuntu 22.04.5 LTS 安装企业微信,(2025-02-17安装可行)

一、依赖包(Ubuntu 20.04/Debian 11) 点击下载https://www.spark-app.store/download_dependencies_latest 1、 下载最新的依赖包。 请访问星火应用商店依赖包下载页面, 下载最新的依赖包。2、解压依赖包 </

如何使用 HPjtune 分析 Java GC 日志并优化 JVM 性能

HPjtune 是一款用于分析 Java 应用程序垃圾回收&#xff08;GC&#xff09;日志的工具&#xff0c;主要用于优化 JVM 性能。虽然 HPjtune 本身并不直接生成 HTML 格式的报告&#xff0c;但可以通过结合其他工具或方法将分析结果导出为 HTML 格式。以下是实现这一目标的步骤和方…

国产FPGA开发板选择

FPGA开发板是学习和开发FPGA的重要工具&#xff0c;选择合适的开发板对学习效果和开发效率至关重要。随着国产FPGA的发展&#xff0c;淘宝上的许多FPGA开发板店铺也开始进行国产FPGA的设计和销售&#xff0c;本文将对国产FPGA和相关店铺做个简单梳理&#xff0c;帮助有需要使用…

Java高频面试之SE-22

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中的Optional了解多少&#xff1f; 在 Java 中&#xff0c;Optional 是 Java 8 引入的一个容器类&#xff0c;用于显式处理可能为 null 的…