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.概述 当采用分布式架构后,一次请求会在多个服务之间流转,组成单次调用链的服务往往都分散在不同的服务器上。这就会带来一个问…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
