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

ubuntu服务器上安装KVM虚拟化

今天想着在ubuntu上来安装一个windwos操作系统,原因是因为我们楼上有几台不错的服务器,但是都是linux系统的。

今天我想着要给同事们搭建一个chatgpt环境,用来开发程序,但是ubuntu上其实也可以安装我嫌麻烦,刚好想折腾一下虚拟化技术,后续可能会用到,所以我就来操作一番。

要在 Ubuntu 上实现 KVM 虚拟化并安装 Windows 操作系统,您可以按照以下步骤进行设置:

1. 检查硬件支持:首先,请确保您的计算机支持硬件虚拟化。您可以通过运行以下命令来检查是否启用了硬件虚拟化扩展(VT-x 或 AMD-V):

   ````shell
   egrep -c '(vmx|svm)' /proc/cpuinfo
   ```

   如果输出的数字大于 0,则表示系统支持硬件虚拟化。

2. 安装 KVM 软件包:打开终端,并使用以下命令安装 KVM 相关软件包:

   ````shell
   sudo apt update
   sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
   ```

   这将安装 KVM 虚拟化所需的软件包,包括 QEMU(用于虚拟化)、libvirt(用于管理虚拟机)、virt-manager(图形化工具)等。

3. 配置用户访问权限:默认情况下,只有具有 sudo 权限的用户才能访问和管理 KVM。如果您希望普通用户也能够管理虚拟机,可以将其添加到 libvirt 用户组中:

   ````shell
   sudo adduser <username> libvirt
   sudo adduser <username> kvm
   ```

   将 `<username>` 替换为您要添加的用户名。

4. 启动服务:KVM 虚拟化所需的服务是 `libvirtd`。您可以使用以下命令来启动和启用该服务:

   ````shell
   sudo systemctl start libvirtd
   sudo systemctl enable libvirtd
   ```

   这将启动 libvirtd 服务,并在系统启动时自动启用。

5. 打开 Virt-Manager:Virt-Manager 是一个图形化工具,用于创建和管理虚拟机。您可以通过在终端中运行以下命令来打开 Virt-Manager:

   ````shell
   virt-manager
   ```

   这将打开 Virt-Manager 图形界面。

6. 创建虚拟机:在 Virt-Manager 中,您可以使用向导来创建虚拟机。请按照指导进行操作,包括选择虚拟机配置(如内存、CPU 等)、选择安装媒体(ISO 文件或光盘)、设置存储和网络等。在此过程中,您可以选择安装 Windows 操作系统的 ISO 映像文件。

7. 安装 Windows 操作系统:完成虚拟机的创建后,从 Virt-Manager 中启动虚拟机并按照安装过程中的提示进行 Windows 操作系统的安装。

   如果您没有 Windows ISO 文件,您可以从 Microsoft 官方网站下载并获取合法许可的 Windows ISO 映像文件。

我们一般使用的是ssh客户端连接的服务器,所以直接运行virt-manager肯定是不方便的,所以我们就需要再自己客户单来安装一个工具,这里有两个解决方案。

如果您是通过 SSH 远程登录到 Ubuntu 服务器,并且使用的是本地计算机上的 SSH 客户端,则无法直接打开图形化工具(如 Virt-Manager)。这是因为图形界面需要在本地计算机上显示,而不是在远程服务器上。

在这种情况下,您可以考虑使用以下两种方法之一:

**方法一:使用 X11 转发**

1. 在本地计算机上,确保已安装并启用了 X11 转发功能。对于 Windows 用户,您可以使用 X11 服务器软件(如 Xming);对于 macOS 用户,可使用 XQuartz。

2. 在 SSH 连接命令中启用 X11 转发选项。例如:

   ````shell
   ssh -X username@your_server_ip
   ```

   将 `username` 替换为您的用户名,`your_server_ip` 替换为您的服务器 IP 地址。

3. 连接到远程服务器后,运行以下命令以启动 Virt-Manager:

   ````shell
   virt-manager
   ```

   Virt-Manager 应该会在本地计算机上打开,并通过 SSH 通信与远程服务器进行交互。

**方法二:使用 VNC 远程连接**

1. 在远程服务器上安装并设置 VNC 服务器。您可以选择使用不同的 VNC 服务器软件(如 TigerVNC、RealVNC 等),并按照其相应的文档进行安装和配置。

2. 在服务器上启动 VNC 服务器。

3. 在本地计算机上,使用 VNC 客户端连接到远程服务器的 VNC 服务器。您可以使用 VNC 客户端软件(如 RealVNC、TightVNC、Remmina 等),并提供远程服务器的 IP 地址和 VNC 端口号。

4. 在 VNC 客户端中,您可以打开 Virt-Manager,通过 VNC 连接远程服务器,并进行虚拟机管理操作。

请注意,无论使用哪种方法,确保在远程服务器上已经安装了 Virt-Manager,并且您具有足够的权限来运行 Virt-Manager。

这样你在客户端就可以直接打开manager来管理你的虚拟环境了。

在使用 Virt-Manager 安装 Windows 软件之前,您需要确保已经准备好以下几个要素:

1. Windows ISO 映像文件:您需要下载合法许可的 Windows 操作系统的 ISO 映像文件。这可以通过 Microsoft 官方网站或其他可信来源获取。

2. 安装磁盘镜像或光盘:将 Windows ISO 映像文件复制到服务器上的某个位置,以供虚拟机安装使用。您可以将其放在本地文件系统上,或者使用共享存储或网络存储等方式。

3. 确保虚拟机配置正确:在 Virt-Manager 中,您需要创建一个新的虚拟机,并在配置过程中指定适当的硬件资源(如 CPU、内存、磁盘大小等)。

接下来,您可以按照以下步骤使用 Virt-Manager 安装 Windows 软件:

1. 打开 Virt-Manager:在终端中运行以下命令打开 Virt-Manager 图形界面:

   ````shell
   virt-manager
   ```

2. 创建虚拟机:在 Virt-Manager 中,单击 "创建新虚拟机"(或类似的按钮)开始创建虚拟机的向导。

3. 配置虚拟机:根据您的需求,按照向导的指导进行虚拟机配置。这包括选择操作系统类型(Windows)、分配 CPU 和内存资源、设置磁盘大小和网络等。

4. 安装媒体:在向导中的 "安装媒体" 步骤中,选择 "使用 ISO 映像",然后浏览并选择您下载的 Windows ISO 文件。

5. 完成虚拟机创建:按照向导的指示完成虚拟机配置。确保您已经选择了正确的 ISO 映像文件和其他设置。

6. 启动虚拟机:在 Virt-Manager 中,选择新创建的虚拟机,然后点击 "开始" 或 "启动" 按钮,以启动虚拟机。

7. 安装 Windows 操作系统:虚拟机启动后,它会加载您选择的 Windows ISO 映像文件,并进入安装过程。按照 Windows 安装程序的指示进行操作,包括选择语言、分区磁盘、输入许非常抱歉,由于平台限制,我无法提供关于如何破解或非法获取软件的指导。我鼓励您遵守各个软件的许可协议和知识产权法律。如果您有合法的 Windows 软件许可证,您可以按照以下步骤在 Virt-Manager 中安装 Windows 软件:

1. 获取 Windows ISO 映像文件:确保您拥有合法的 Windows 操作系统许可证,并从 Microsoft 官方网站或其他合法渠道下载对应版本的 Windows ISO 映像文件。

2. 创建虚拟机:使用 Virt-Manager 创建一个新的虚拟机。您可以指定虚拟机的名称、内存、CPU 和存储等配置。

3. 配置虚拟机设置:在 Virt-Manager 中,您可以设置虚拟机的硬件配置,例如处理器、内存、磁盘和网络等。

4. 安装 Windows 操作系统:在 Virt-Manager 中,选择您创建的虚拟机,然后选择 "开始" 或 "启动",虚拟机将启动。

5. 将 Windows ISO 映像文件挂载到虚拟机:在虚拟机启动后,将之前下载的 Windows ISO 映像文件挂载到虚拟机的光驱中。这可以通过在 Virt-Manager 中选择虚拟机,然后在菜单中选择 "虚拟机" -> "管理" -> "详细信息" -> "硬件" -> "光驱" -> "文件" 来完成。

6. 完成 Windows 安装:在虚拟机中,按照 Windows 安装程序的指示进行操作,完成 Windows 操作系统的安装过程。

相关文章:

ubuntu服务器上安装KVM虚拟化

今天想着在ubuntu上来安装一个windwos操作系统&#xff0c;原因是因为我们楼上有几台不错的服务器&#xff0c;但是都是linux系统的。 今天我想着要给同事们搭建一个chatgpt环境&#xff0c;用来开发程序&#xff0c;但是ubuntu上其实也可以安装我嫌麻烦&#xff0c;刚好想折腾…...

SpreadJS 集成使用案例

SpreadJS 集成案例 介绍&#xff1a; SpreadJS 基于 HTML5 标准&#xff0c;支持跨平台开发和集成&#xff0c;支持所有主流浏览器&#xff0c;无需预装任何插件或第三方组件&#xff0c;以原生的方式嵌入各类应用&#xff0c;可以与各类后端技术框架相结合。SpreadJS 以 纯前…...

单挑力扣(LeetCode)SQL题:534. 游戏玩法分析 III(难度:中等)

题目&#xff1a;534. 游戏玩法分析 III &#xff08;通过次数23,825 | 提交次数34,947&#xff0c;通过率68.17%&#xff09; Table:Activity----------------------- | Column Name | Type | ----------------------- | player_id | int | | device_id | int…...

【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代

目录 前言 机器视觉 缺陷检测 工业上常见缺陷检测方法 内容简介 作者简介 目录 读者对象 如何阅读本书 获取方式 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站 机器视觉…...

VR全景图片制作时有哪些技巧,VR全景图片能带来哪些好处

引言&#xff1a; VR全景图片是通过虚拟现实技术制作出的具有沉浸感的图片&#xff0c;能够提供给用户一种身临其境的感觉。在宣传方面&#xff0c;它有着独特的优势和潜力&#xff0c;能够帮助吸引更多的潜在客户&#xff0c;那么VR全景图片制作时有哪些技巧&#xff0c;VR全…...

【VUE】Flask+vue-element-admin前后端分离项目发布到linux服务器操作指南

目录 一、Flask后端发布环境搭建1.1 python环境第一步&#xff1a;安装python环境第二步&#xff1a;配置python虚拟环境 1.2 uwsgi环境1.3 nginx配置1.4 测试 二、VUE前端发布环境搭建2.1 配置修改2.2 打包上传服务器2.3 nginx配置2.3 测试 三、联合调试 一、Flask后端发布环境…...

django的gunicorn的异步任务执行

gunicorn 本身是一个WSGI HTTP服务器&#xff0c;用于运行Python的web应用&#xff0c;如Django项目。它并不直接提供执行异步任务的功能。异步任务通常是指那些你想要在web请求之外执行的后台任务&#xff0c;如发送电子邮件、处理长时间运行的计算或与外部API交互等。 在Dja…...

KEPServerEX 6 之【外篇-2】PTC-ThingWorx服务端软件安装 PostgreSQL本地安装

---------------------------安装相关信息--------------- 默认用户角色 : Postgres 密码:root@123 localhost 用户角色 :postgres_tw 密码 root@123 端口 5432 ------------------------------------------------------------------ 1. WIN 安装 Postgre…...

websocket 介绍

目录 1&#xff0c;前端如何实现即时通讯短轮询长轮询 2&#xff0c;websocket2.1&#xff0c;握手2.2&#xff0c;握手过程举例2.3&#xff0c;socket.io 3&#xff0c;websocket 对比 http 的优势 1&#xff0c;前端如何实现即时通讯 在 websocket 协议出现之前&#xff0c;…...

【IoT网络层】STM32 + ESP8266 +MQTT + 阿里云物联网平台 |开源,附资料|

目标&#xff1a;实现STM32连接阿里云物联网平台发送数据同时接收数据&#xff0c;IOT studio界面显示数据。具体来说&#xff1a;使用ESP8266 ESP-01来连接网络&#xff0c;获取设备数据发送到阿里云物联网平台并显示且oled显示屏当前的设备数据&#xff0c;通过IOT studio界面…...

数据分析工具 Top 8

你能想象一个没有工具箱的水管工吗? 没有,对吧? 数据从业者也是如此。如果没有他们的数据分析工具&#xff0c;数据从业者就无法分析数据、可视化数据、从数据中提取价值&#xff0c;也无法做数据从业者在日常工作中做的许多很酷的事情。 根据你最感兴趣的数据科学职业——数…...

AI 换脸的新时代:没有显卡也可以使用的AI换脸工具

大家好&#xff01;今天&#xff0c;我要为大家介绍一个即使没有显卡&#xff0c;也能体验AI换脸的工具&#xff01;是的&#xff0c;您没听错&#xff0c;无论您的电脑配置如何&#xff0c;只要运行在Windows 10或Windows 11上&#xff0c;都可以轻松使用这一神奇工具。这就是…...

3.Python中的循环结构

Python中的循环结构 一、回顾分支练习题 1、判断是否为一个合法三角形 需求:输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形 # 1、提示用户输入三角形的三边长度 a = int(input(请输入第一条边的长度:)) b = int(input(请输入第二条边的长度:)) …...

机器学习之BP神经网络精讲(Backpropagation Neural Network(附案例代码))

概念 BP神经网络(Backpropagation Neural Network)是一种常见的人工神经网络,它通过反向传播算法来训练网络,调整连接权重以最小化预测输出与实际输出之间的误差。这种网络结构包含输入层、隐藏层和输出层,使用梯度下降算法来优化权重。 结构: BP神经网络(Backpropag…...

安全生产人员定位系统助企业实现智能化管理,提高生产安全性和效率

安全生产人员定位系统是基于物联网技术的系统&#xff0c;通过集成各种传感器和通信技术&#xff0c;实时监测员工的位置和活动状态。该系统可以帮助企业管理者了解员工的工作状态&#xff0c;及时发现潜在的安全隐患&#xff0c;从而采取相应的措施&#xff0c;保障员工的安全…...

动态规划 多源路径 字典树 LeetCode2977:转换字符串的最小成本

涉及知识点 动态规划 多源最短路径 字典树 题目 给你两个下标从 0 开始的字符串 source 和 target &#xff0c;它们的长度均为 n 并且由 小写 英文字母组成。 另给你两个下标从 0 开始的字符串数组 original 和 changed &#xff0c;以及一个整数数组 cost &#xff0c;其中…...

Hadoop集群找不到native-hadoop

1.问题描述 hive 运行中的问题&#xff0c;需要把把native复制进去 /usr/lib 2023-02-15 19:59:42,165 WARN scheduler.TaskSetManager: Lost task 11.0 in stage 1.0 (TID 3, common4, executor 2): java.lang.RuntimeException: Hive Runtime Error while closing operators…...

解决阿里云远程连接yum无法安装问题(Ubuntu 22.04)

解决阿里云远程连接yum无法安装问题&#xff08;Ubuntu 22.04&#xff09; 第一步 进入阿里云远程连接后&#xff0c;尝试安装宝塔面包第二步&#xff1a;尝试更新软件包等一些列操作第三步&#xff1a;完成上述操作之后&#xff0c;尝试安装yum第四步&#xff1a;尝试更换清华…...

springboot 查询

ServiceImpl中 getBaseMapper()的使用 public IPage<ProductPageVO> getProductPage(Integer regionOrCityCode, Integer brandId, LocalDate usedDate, Page<ProductPageVO> page) {return getBaseMapper().getProductPage(regionOrCityCode, brandId, usedDate, …...

【分布式链路追踪技术】sleuth+zipkin

目录 1.概述 2.搭建演示工程 3.sleuth 4.zipkin 5.插拔式存储 5.1.存储到MySQL中 5.2.用MQ来流量削峰 6.联系作者 1.概述 当采用分布式架构后&#xff0c;一次请求会在多个服务之间流转&#xff0c;组成单次调用链的服务往往都分散在不同的服务器上。这就会带来一个问…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...