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操作系统,原因是因为我们楼上有几台不错的服务器,但是都是linux系统的。 今天我想着要给同事们搭建一个chatgpt环境,用来开发程序,但是ubuntu上其实也可以安装我嫌麻烦,刚好想折腾…...
SpreadJS 集成使用案例
SpreadJS 集成案例 介绍: SpreadJS 基于 HTML5 标准,支持跨平台开发和集成,支持所有主流浏览器,无需预装任何插件或第三方组件,以原生的方式嵌入各类应用,可以与各类后端技术框架相结合。SpreadJS 以 纯前…...
单挑力扣(LeetCode)SQL题:534. 游戏玩法分析 III(难度:中等)
题目:534. 游戏玩法分析 III (通过次数23,825 | 提交次数34,947,通过率68.17%) Table:Activity----------------------- | Column Name | Type | ----------------------- | player_id | int | | device_id | int…...
【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代
目录 前言 机器视觉 缺陷检测 工业上常见缺陷检测方法 内容简介 作者简介 目录 读者对象 如何阅读本书 获取方式 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站 机器视觉…...
VR全景图片制作时有哪些技巧,VR全景图片能带来哪些好处
引言: VR全景图片是通过虚拟现实技术制作出的具有沉浸感的图片,能够提供给用户一种身临其境的感觉。在宣传方面,它有着独特的优势和潜力,能够帮助吸引更多的潜在客户,那么VR全景图片制作时有哪些技巧,VR全…...
【VUE】Flask+vue-element-admin前后端分离项目发布到linux服务器操作指南
目录 一、Flask后端发布环境搭建1.1 python环境第一步:安装python环境第二步:配置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服务器,用于运行Python的web应用,如Django项目。它并不直接提供执行异步任务的功能。异步任务通常是指那些你想要在web请求之外执行的后台任务,如发送电子邮件、处理长时间运行的计算或与外部API交互等。 在Dja…...
KEPServerEX 6 之【外篇-2】PTC-ThingWorx服务端软件安装 PostgreSQL本地安装
---------------------------安装相关信息--------------- 默认用户角色 : Postgres 密码:root@123 localhost 用户角色 :postgres_tw 密码 root@123 端口 5432 ------------------------------------------------------------------ 1. WIN 安装 Postgre…...
websocket 介绍
目录 1,前端如何实现即时通讯短轮询长轮询 2,websocket2.1,握手2.2,握手过程举例2.3,socket.io 3,websocket 对比 http 的优势 1,前端如何实现即时通讯 在 websocket 协议出现之前,…...
【IoT网络层】STM32 + ESP8266 +MQTT + 阿里云物联网平台 |开源,附资料|
目标:实现STM32连接阿里云物联网平台发送数据同时接收数据,IOT studio界面显示数据。具体来说:使用ESP8266 ESP-01来连接网络,获取设备数据发送到阿里云物联网平台并显示且oled显示屏当前的设备数据,通过IOT studio界面…...
数据分析工具 Top 8
你能想象一个没有工具箱的水管工吗? 没有,对吧? 数据从业者也是如此。如果没有他们的数据分析工具,数据从业者就无法分析数据、可视化数据、从数据中提取价值,也无法做数据从业者在日常工作中做的许多很酷的事情。 根据你最感兴趣的数据科学职业——数…...
AI 换脸的新时代:没有显卡也可以使用的AI换脸工具
大家好!今天,我要为大家介绍一个即使没有显卡,也能体验AI换脸的工具!是的,您没听错,无论您的电脑配置如何,只要运行在Windows 10或Windows 11上,都可以轻松使用这一神奇工具。这就是…...
3.Python中的循环结构
Python中的循环结构 一、回顾分支练习题 1、判断是否为一个合法三角形 需求:输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形 # 1、提示用户输入三角形的三边长度 a = int(input(请输入第一条边的长度:)) b = int(input(请输入第二条边的长度:)) …...
机器学习之BP神经网络精讲(Backpropagation Neural Network(附案例代码))
概念 BP神经网络(Backpropagation Neural Network)是一种常见的人工神经网络,它通过反向传播算法来训练网络,调整连接权重以最小化预测输出与实际输出之间的误差。这种网络结构包含输入层、隐藏层和输出层,使用梯度下降算法来优化权重。 结构: BP神经网络(Backpropag…...
安全生产人员定位系统助企业实现智能化管理,提高生产安全性和效率
安全生产人员定位系统是基于物联网技术的系统,通过集成各种传感器和通信技术,实时监测员工的位置和活动状态。该系统可以帮助企业管理者了解员工的工作状态,及时发现潜在的安全隐患,从而采取相应的措施,保障员工的安全…...
动态规划 多源路径 字典树 LeetCode2977:转换字符串的最小成本
涉及知识点 动态规划 多源最短路径 字典树 题目 给你两个下标从 0 开始的字符串 source 和 target ,它们的长度均为 n 并且由 小写 英文字母组成。 另给你两个下标从 0 开始的字符串数组 original 和 changed ,以及一个整数数组 cost ,其中…...
Hadoop集群找不到native-hadoop
1.问题描述 hive 运行中的问题,需要把把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无法安装问题(Ubuntu 22.04) 第一步 进入阿里云远程连接后,尝试安装宝塔面包第二步:尝试更新软件包等一些列操作第三步:完成上述操作之后,尝试安装yum第四步:尝试更换清华…...
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.概述 当采用分布式架构后,一次请求会在多个服务之间流转,组成单次调用链的服务往往都分散在不同的服务器上。这就会带来一个问…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: 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进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
