记录在ubuntu 18.04系统上安装虚拟机的过程
- 下载ubuntu镜像
ubuntu镜像下载地址
我下载的是desktop桌面版,比较好操作。
- 烧录
我用的Mac,使用的是balenaEtcher软件进行磁盘烧录。
balenaEtcher下载地址
如果出现磁盘损坏或者无法再次使用,参考这里解决:进入
- 安装ubuntu操作系统
ubuntu系统安装过程还是比较顺利的~
- 安装QEMU/KVM
- 查看是否有硬件虚拟化处理器,大于0则表示有,如果为0得百度下是不是没有开设置或者硬件本身不支持
-
grep -Eoc '(vmx|svm)' /proc/cpuinfo或者 egrep -c '(svm|vmx)' /proc/cpuinfo或者 lsmod | grep 'kvm'或者 lsmod | grep -c 'kvm'
- 开始安装
-
sudo apt-get update sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager不出意外的话就会出现意外,如果发现安装失败,检查下ubuntu系统的系统更新设置,将需要更新的东西都更新一番,系统就不要更新了.... 然后回过头重新执行一遍。
- 开始使用
-
virt-manager正常情况下使用virt-manager命令可以打开虚拟化管理工具的。可以使用 qemu-image 和 virsh 等命令。
- 问题一:有关权限设置。只有 root 和 libvirtd 组里面的用户才有权限创建 KVM 虚拟机。所以要把自己的用户名加入到 libvirtd 组。具体的命令是:
-
sudo adduser <username> libvirtd问题二:虚拟机网络配置。
-
在终端中运行以下命令创建一个名为 br0 的桥接网络:
-
sudo nano /etc/network/interfacesauto lo br0 iface lo inet loopback iface enp0s3 inet manual iface br0 inet dhcpbridge_ports enp0s3sudo systemctl restart networking.service修改配置文件,添加配置后重启使配置生效。enp0s3 是网卡名称,使用 ifconfig 查看。
- 安装OpenSSH
- win10系统:
- win10自动OpenSSH安装服务,进入“设置”搜索“可选功能”,安装OpenSSH客户端和服务端。
- win+R打开cmd命令行工具,以管理员身份运行net start sshd启动服务。
- 或者搜索"service.msc"/系统服务,找到OpenSSH SSH Server右键属性,更改状态为启动。
- 输入sc config sshd start= auto 设置为自启动,或者在服务列表里改为自动启动
- 检查防火墙设置,确保可以使用ping 192.168.xx.xx -p 22 进行访问
- win7系统:
- OpenSSH下载地址
-
#解压至 C:\Program Files\OpenSSH(指定位置) #打开 cmd,cd进入 C:\Program Files\OpenSSH(安装目录),执行安装 sshd 服务命令: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1#开放22号端口(如果你在windows关闭了防火墙,并配置了入站规则可以不执行如下命令,多执行不影响): netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22#配置开机自启sshd服务,注意auto 前要空一格: sc config sshd start= auto#启动 ssh 服务: net start sshd#将 C:\Program Files\OpenSSH 添加到 path 中,以免每次都要切到 C:\Program Files\OpenSSH 才能使用 ssh。 #步骤:右键点击“计算机”,选择“高级系统设置”,点击“高级”,选择“环境变量”,在“系统变量”的 Path 里编辑增加 “;C:\Program Files\OpenSSH”。
- 安装过程中问题总结
- iso镜像文件有问题:启动一直黑屏,提示No bootable device. / Could not boot from cdrom (code 0004)问题。
- qcow2配置问题:启动后蓝屏或者一直提示更新修复启动程序,检查配置。下面是一个示例
"<domain type='kvm'>\n" + " <name>"+ machineName +"</name>\n" + " <memory>"+ memory +"</memory>\n" + " <currentMemory unit='KiB'>"+ memory +"</currentMemory>\n" + " <vcpu>"+ vcpu +"</vcpu>\n" + " <os>\n" + " <type arch='x86_64' machine='pc-i440fx-bionic'>hvm</type>\n" + " <boot dev='hd'/>\n" + " <boot dev='network'/>\n" + " <boot dev='cdrom'/>\n" + " <bootmenu enable='yes'/>\n" + " </os>\n" + " <features>\n" + " <acpi/>\n" + " <apic/>\n" + " </features>\n" + " <devices>\n" + " <disk type='file' device='disk'>\n" + " <driver name='qemu' type='qcow2'/>\n" + " <source file='" + Constants.WORK_PATH + diskName + ".qcow2'/>\n" + " <target dev='vda' bus='ide'/>\n" + " </disk>\n" + " <interface type='network'>\n" + " <source network='default'/>\n" + " <model type='rtl8139'/>\n" + " </interface>\n" + " <graphics type='vnc' listen='0.0.0.0' autoport='yes'/>\n" + " </devices>\n" + "</domain>"; - Java使用ProcessBuilder执行脚本问题:1、检查.sh文件是否有执行权限 2、检查是否已经安装相关的库,比如expect 库。3、有时候sh xxx.sh 无法识别,可使用 ./xx.sh检查脚本执行情况。
#!/usr/bin/expectset password [lindex $argv 0] set transfer_type [lindex $argv 1] set originpath [lindex $argv 2] set targetpath [lindex $argv 3]set timeout 30if {$transfer_type == "1"} {spawn scp $originpath $targetpath } elseif {$transfer_type == "2"} {spawn scp -r $originpath $targetpath } else {puts "Invalid transfer type. Please provide 1 for file or 2 for folder."exit 1 }expect {# 处理首次连接时的验证信息"Are you sure you want to continue connecting (yes/no)?" {send "yes\r"exp_continue}# 处理需要输入密码的情况"password:" {send "$password\r"} }interact - 虚拟机与宿主机通信问题:尝试使用ping 192.168.x.x 查看是否可以正常连接,如果无法上网或者无法ping通,检查虚拟网络配置。
- 关于ssh和scp文件传输问题:
- win7 镜像下载链接
www.winwin7.com
知乎win7下载链接
- Windows 7 Enterprise with Service Pack 1 (x86) - DVD (Chinese-Simplified) :(Win7 32位企业版)
- ed2k://|file|cn_windows_7_enterprise_with_sp1_x86_dvd_620153.iso|2501507072|7788AED3A02EB99DE1341771950EB697|h=WBMUACNG33CACDQMCWTGFZFI4NCTN3IV|/
- Windows 7 Enterprise with Service Pack 1 (x64) - DVD (Chinese-Simplified) :(Win7 64位企业版)
- ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_620654.iso|3264206848|FAEF3BD4D9AF6C529533CA6468E1911E|/
- Windows 7 Professional with Service Pack 1 (x86) - DVD (Chinese-Simplified) :(Win7 32位专业版)
- ed2k://|file|cn_windows_7_professional_with_sp1_x86_dvd_622569.iso|2651877376|56C4B513A6109715CD2BEBFBA80370A0|/
- Windows 7 Professional with Service Pack 1 (x64) - DVD (Chinese-Simplified):(Win7 64位专业版)
- ed2k://|file|cn_windows_7_professional_with_sp1_x64_dvd_621744.iso|3419052032|A14DCBDA295966DC95B74250595961AB|/
- Windows 7 Home Premium with Service Pack 1简体中文家庭高级版:
- ed2k://|file|cn_windows_7_home_premium_with_sp1_x86_dvd_620856.iso|2651877376|F0DCDB42A6A3F16C68898A6834521E47|/
- Windows 7 Home Premium with Service Pack 1 (x64) - DVD (Chinese-Simplified)
- ed2k://|file|cn_windows_7_home_premium_with_sp1_x64_dvd_620792.iso|3419052032|5696C317BE29542579A0E1DFC9FDCB7F|/
- Win7 旗舰版 ISO 镜像英文版
- ed2k://|file|en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso|3182604288|E4D1A2A7BB46706F6545E713EA32A5F3|/
- ed2k://|file|en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso|2434502656|9B710D7876B754D5F96F72B4A7C9B9A8|/
相关文章:
记录在ubuntu 18.04系统上安装虚拟机的过程
- 下载ubuntu镜像 ubuntu镜像下载地址 我下载的是desktop桌面版,比较好操作。 - 烧录 我用的Mac,使用的是balenaEtcher软件进行磁盘烧录。 balenaEtcher下载地址 如果出现磁盘损坏或者无法再次使用,参考这里解决:进入 - 安…...
C/C++ 个人笔记
仅供个人复习, C语言IO占位符表 %d十进制整数(int)%ldlong%lldlong long%uunsigned int%o八进制整型%x十六进制整数/字符串地址%c单个字符%s字符串%ffloat,默认保留6位%lfdouble%e科学计数法%g根据大小自动选取f或e格式,去掉无效0 转义符表…...
Stm32的时钟系统以及使用SysTick滴答定时器实现延时
前言 STM32的时钟系统由多个时钟源和时钟树组成时钟源包括主时钟源(HSE)、内部高速时钟源(HSI)、内部低速时钟源(LSI)和外部低速时钟源(LSE)。时钟树由多个时钟分频器和时钟门控器组…...
重生c++系列之类与对象(中篇)
好的继上期,我们今天带来c类与对象系列的继续学习。 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员 函数。 …...
Java中synchronized基本介绍和细节讨论。使用Synchronized来解决售票超卖问题
基本介绍 线程同步机制:在多线程编程下,一些敏感数据不允许被多个现在在同一时刻访问,此时就使用同步访问机制,保证数据在任何同一时刻最多只有一个进程访问,以保证数据的完整性。(即:当有一个线程在对内存…...
java内存分区
按照垃圾收集,将 Java 堆划分为**新生代 (Young Generation)和老年代(Old Generation)**两个区域, 新生代存放存活时间短的对象,而每次回收后存活的少量对象,将会逐步晋升到老年代中…...
【JavaScript】V8 引擎解析 JavaScript 的过程
V8 是由 Google 开发的 JavaScript 引擎,用于执行 JavaScript 代码。它被广泛应用于 Chrome 浏览器和 Node.js 等环境。V8 的解析和执行过程是一个复杂的流程,以下是其大致步骤: 词法分析(Lexical Analysis)࿱…...
Qt:界面实时响应鼠标拖动绘制
采用双缓冲实现界面实时响应鼠标的拖动绘制。 思想如下:首先需要两张画布pix和tempPix,他们都是QPixmap实例;pix用来保存初始界面或上一阶段以完成的绘制;tempPix用来作为鼠标拖动时的实时界面绘制;当鼠标左键按下后拖…...
Docker拉取RocketMQ及可视化界面
本文介绍Docker拉取RocketMQ及可视化界面操作步骤 Linux下安装Docker请参考:Linux安装Docker 文章目录 安装namesrv创建挂载目录授权相关权限拉取镜像运行容器查看运行情况 安装Broker创建挂载目录及配置文件目录授权相关权限创建配置文件运行容器查看运行情况 安装…...
花5分钟判断,你的Jmeter技能是大佬还是小白!
jmeter 这个工具既可以做接口的功能测试,也可以做自动化测试,还可以做性能测试,其主要用途就是用于性能测试。但是,有些公司和个人,就想用 jmeter 来做接口自动化测试。 你有没有想过呢? 下面我就给大家讲…...
macOS - 安装 Python 及地址
文章目录 Python 官方安装包Pip3Applications - PythonMiniconda多个python环境有多种方式安装 python,比如 Python 官方包、anaconda、miniconda、brew 等 这里记录使用 Python 官方包进行安装,和 miniconda 安装方式,以及安装后 各执行文件、安装包的地址。 明确这些地址后…...
前端组件库造轮子——Tree组件开发教程
前端组件库造轮子——Tree组件开发教程 前言 本系列旨在记录前端组件库开发经验,我们的组件库项目目前已在Github开源,下面是项目的部分组件。文章会详细介绍一些造组件库轮子的技巧并且最后会给出完整的演示demo。 文章旨在总结经验,开源分…...
java打war包、jar包方式,java运行war包、jar包方式
Java spring boot部署到生产环境有两种常见方式 1打jar包,使用了内置的tomcat服务器,流程简单 2打war包,可以放标准tomcat服务器中 jar包 1pom.xml新增 <build><plugins><plugin><groupId>org.springframework.b…...
“超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据,ChatGLM-v2、中文Bloom、Dolly_v2_3b助您实现更智能的应用!”
“超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据,ChatGLM-v2、中文Bloom、Dolly_v2_3b助您实现更智能的应用!” 1.简介 目标:基于pytorch、transformers做中文领域的nlp开箱即用…...
空时自适应处理用于机载雷达——机载阵列雷达信号环境(Matla代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
lib61850 学习笔记一 (概念)
IEC61850 定义60多种服务满足变电站通信需求。支持在线获取数据模型,也支持IED水平通信(GOOSE报文) 术语定义 间隔 bay: 变电站由据应公共功能紧密连接的子部分组成。 例如 介于进线或者 出线 和母线之间的断路器;二条母线之间…...
【深度学习】半监督学习 Efficient Teacher: Semi-Supervised Object Detection for YOLOv5
https://arxiv.org/abs/2302.07577 https://github.com/AlibabaResearch/efficientteacher 文章目录 AbstractIntroductionRelated WorkEfficient TeacherDense Detector Abstract 半监督目标检测(SSOD)在改善R-CNN系列和无锚点检测器的性能方面取得了成…...
vue3鼠标拖拽滑动效果
第一步 在utils下面新建一个directives.js文件,然后引入如下代码 const dragscroll (el) > {el.onmousedown ev > {const disX ev.clientX;const disY ev.clientY; // 需要上下移动可以加const originalScrollLeft el.scrollLeft;const originalScroll…...
08 通过从 库1 复制 *.ibd 到 库2 导致 mysql 启动报错
前言 呵呵 最近同事有这样的一个需求 需要将 库1 的一张表 复制到 库2 然后 我想到了 之前一直使用的通过复制这个库的 data 文件来进行数据迁移的思路, 是需要复制这个 库对应的 data 目录下的数据文件, 以及 ibdata1 文件 然后 我又在想 这里的场景能否也使用这里的额方式…...
一生一芯9——ubuntu22.04安装valgrind
这里安装的valgrind版本是3.19.0 下载安装包 在选定的目录下打开终端,输入以下指令 wget https://sourceware.org/pub/valgrind/valgrind-3.19.0.tar.bz2直至下载完成 解压安装包 输入下面指令解压安装包 tar -xvf valgrind-3.19.0.tar.bz2.tar.bz2注…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
