解决 AMD CPU 使用 VMWare 在嵌套虚拟化中用 qemu 启动虚拟机提示 Assertion ret == cpu-kvm_msr_buf-nmsrs failed

KVM虚拟化-搭建系统方法虚拟化技术kvm centos7.8在宿主机上安装kvm虚拟化的环境 yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer systemctl start --now libvirtd Ubuntu 安装 KVM yum -y istall qemu-kvm virt-manager libvirt-daemon-system #如果没有开启CPU虚拟化功能会提示以下信息 [root@ubuntu1804 ~]#kvm-ok INFO 阅读详情

问题现象

在 AMD CPU上通过VMWare 虚拟出来的虚拟机中继续通过 qemu 进行嵌套启动虚拟机时报错,报错信息如下:

core@ubuntu20-dev:~$ sudo qemu-system-x86_64 -cpu "host,pmu=off" -enable-kvm
MoTTY X11 proxy: Unsupported authorisation protocol
Unable to init server: Could not connect: Connection refused
qemu-system-x86_64: error: failed to set MSR 0xe1 to 0x0
qemu-system-x86_64: /build/qemu-BQ4hMP/qemu-4.2/target/i386/kvm.c:2691: kvm_buf_set_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
Aborted

解决方案

  1. 运行下面命令,创建配置文件/etc/modprobe.d/qemu-system-x86.conf。
sudo tee /etc/modprobe.d/qemu-system-x86.conf << EOF
options kvm ignore_msrs=1
EOF
  1. 重启 sudo reboot
  2. 尽情玩耍吧~

问题原因

根据网页 https://patchwork.kernel.org/patch/42605/ 中的内容来看,这个配置并没有真正解决问题,只是通过配置这个参数可以使 kvm 忽略相关错误。但这个解决方案对我来说可以接受。

当模块参数 ignore_msrs 设置为1时,未知 MSR 读取将返回0,并且 MSR 写入将被丢弃。
同时在这两种情况下会向dmesg打印一条消息,以告知用户有关信息。

参考链接:

Windows Server 搭建ftp服务 阅读详情

相关推荐

Android设置鼠标显示的屏幕

【代码】Android设置鼠标显示的屏幕。

薛文旺 670

QEMU类嵌套虚拟机报错kvm_buf_set_msrs failed.

近日在AMD平台上用虚拟化工具 Proxmox VE 搭建 基于Deskpool 的 DVI 云桌面服务总是遭遇报错如下: kvm: error: failed to set MSR 0xe1 to 0x0 kvm: /build/pve-qemu/pve-qemu-kvm-5.0.0/target/i386/kvm.c:2695: kvm_buf_set_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed. TASK ERROR:

UsamaBinLaden6976498的专栏 8611

ADS8681数据手册没讲透的细节:SPI时序、量程切换与电压换算的避坑指南

本文深入解析ADS8681数据手册未提及的SPI时序优化、量程切换陷阱与电压校准技巧。针对树莓派5与ADS8681的SPI通信问题,提供CPOL/CPHA配置建议;详解量程切换的位操作玄机与寄存器配置流程;并提出三步校准法应对非理想供电环境,帮助开发者提升ADC测量精度。

weixin_29178069的博客 518

关于qemu-system-x86_64:命令未找到的问题

qemu安装完成之后是空包 Ubuntu18.10开始qemu是一个空包,应该安装qemu-system-x86 sudo apt-get install qemu-system-x86

qq_42877551的博客 1万+

Vitis HLS 学习指南与实践教程

Vitis HLS 学习指南与实践教程摘要:本文系统介绍了AMD Vitis HLS工具及其应用。HLS技术将C/C++代码自动转换为硬件描述语言,显著提升FPGA开发效率(5-10倍)。文章对比了HLS与传统RTL设计的优势,包括抽象级别高、开发周期短、代码重用性强等特点。详细讲解了Vitis HLS工具链的核心功能,包括支持的C/C++特性(如任意精度数据类型)、开发流程(项目创建-代码编写-仿真-综合)以及关键优化技术(流水线、循环展开、数组分割等编译指示)。通过具体代码示例展示了HLS设计方法,为F

weixin_44707118的博客 1400

RAD Studio 12安装全攻略:从下载到破解InterBase的完整流程(附KeyPatch使用技巧)

本文提供RAD Studio 12的完整安装指南,包括系统要求、安装步骤及InterBase数据库的高效配置方法。详细介绍了如何使用KeyPatch工具进行许可证处理,并分享了IDE优化和开发技巧,帮助开发者快速上手这一强大的跨平台开发工具。

q6r7s8t9的博客 946

【ZStack虚拟机创建报错 cpu->kvm_msr_buf->nmsrs‘ failed 分析与解决】

ZStack虚拟机创建报错 cpu->kvm_msr_buf->nmsrs’ failed 分析与解决

JAIWUI的博客 763

T2T基因组组装实战指南:从数据到完整染色体

本文详细介绍了T2T基因组组装技术的实战指南,从测序数据选择到完整染色体组装的全流程。重点解析了ONT ultra-long和PacBio HiFi测序技术的优势,以及如何攻克端粒和着丝粒等重复区域的组装难题。通过具体案例和实用技巧,帮助研究人员实现从数据到完整染色体的高质量组装。

weixin_29292535的博客 843

qemu-system-x86_64方式创建KVM虚拟机并配置桥接网络

以上虚拟机创建完成后主机中会创建出fw-eth0虚拟网卡,虚拟机中会创建出驱动为e1000类型虚拟网卡net0作为管理口使用,virtio作为业务口使用,-netdev、-device可理解为是成对的一对口,连接主机与虚拟机通信,主机中将管理口和fw-eth0虚拟网卡同时加入桥br0下,配置IP、ROUTE、DNS;-boot:选择启动类型:floppy (a),hard disk (c),CD-ROM (d),network (n)配置完成后重启网络,然后ping 网关、PC机、外网试试;

顺其自然~专栏 8888

【运动规划算法项目实战】全覆盖分区算法

全覆盖规划在机器人学领域具有重要意义,其应用场景涵盖了自动农场、扫地机器人、扫描监视无人机等多个领域。该问题的核心目标是使机器人能够从指定起点出发,规划一条避开障碍物、同时路径尽可能短的轨迹,从而实现对特定区域的全面覆盖。在实际应用中,全覆盖规划的成功实现对于提高机器人在各类环境中的工作效率至关重要。这一问题的解决涉及到高效的路径规划和规划区域分解技术。其中,梯形单元分解算法是一种常用分区的技术,过将地图上需要规划的区域进行分区,采用梯形分解的方式,可以更好地应对复杂环境。全覆盖算法规划流程。

xiewf的博客 1万+

RK3588+YT9215快速拓展以太网口

YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。

带着耳朵取流浪的博客 2783

PVE报错处理:kvm [2205]: vcpu0 ignored RDMSR: 0x1b8

PVE报错处理:kvm [2205]: vcpu0 ignored RDMSR: 0x1b8

BBM的博客 956

老 Intel Mac mini 装 OpenClaw:低成本常年在线方案

老款Intel Mac mini部署OpenClaw方案摘要 本文详细介绍了如何利用老款Intel Mac mini低成本部署OpenClaw系统。方案推荐2011-2018款Mac mini,建议升级至16GB内存和SSD存储以提升性能。部署步骤包括:1)安装Ubuntu系统;2)配置Docker环境;3)通过docker-compose部署OpenClaw及其依赖组件(PostgreSQL和Redis);4)进行系统级和Docker层面的性能优化;5)设置开机自启动服务。该方案充分利用老款设备剩余价值,

一键难忘的博客 2475

kvm报错集

虚拟机console窗口看到一些报错 也可以在终端使用dmesg命令查看 [17617.701174] kvm [17393]: vcpu0 unhandled rdmsr: 0x1ad [19053.236178] kvm [17393]: vcpu0 unhandled rdmsr: 0x611 [19053.236327] kvm [17393]: vcpu0 unhandl...

weixin_30933531的博客 1648

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

kvm 遇到的错误ERROR 验证安装位置出错:打开 URL ftp://127.0.0.1/centos7u3 失败:[Errno 111] 拒绝连接。Cannot set up guest

错误1: ERROR 内部错误:qemu unexpectedly closed the monitor: qemu: could not load kernel ‘/var/lib/libvirt/boot/virtinst-vmlinuz.B5eIh7’: No such file or directory 正在删除磁盘 ‘vm9.img’ ...

baidu_38803985的博客 3156

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VMware Ubuntu使用Qemu模拟开发板

1、VMware Ubuntu 20.04 LTS 使用Qemu虚拟机u-boot启动或者配合busybox模拟ARM开发板 这里提供相关工具的下载地址 Linux内核下载地址 busybox下载地址 Qemu下载地址 u-boot下载地址 文中使用的版本为Linux-4.9.268、busybox-1.33.0、qemu-5.2.0、u-boot-2021.01-rc4 版本差别不大,应该都没有问题的 一、busybox制作根目录,通过镜像启动linux内核模拟ARM板 1、编译linux内核 编译条件:

m0_46205725的博客 4859

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

一次kvm嵌套虚拟化踩坑经历

女主宣言嵌套虚拟化就是虚拟化环境里再次进行虚拟化,简单的说就是虚拟机里运行虚拟机,听起来有点递归的感觉。那是不是可以无限嵌套下去呢?递归有终结条件,否则无限递归下去资源耗尽,嵌套虚拟化嵌...

HULK一线技术杂谈 1927

从源码编译安装QEMU以及如何创建QEMU虚拟机

目录1. 主机环境/软件版本2. 从源码编译安装QEMU2.1 获取QEMU 5.1.0的源码2.2 创建build目录+配置2.3 编译QEMU3 创建QEMU虚拟机镜像4 启动QEMU虚拟机 1. 主机环境/软件版本 Host: Ubuntu 16.04 QEMU v5.1.0 Guest: Ubuntu 16.04 2. 从源码编译安装QEMU 2.1 获取QEMU 5.1.0的源码 ~/workspace$ wget https://download.qemu.org/qemu-5.1.0.tar

Haifeng的博客 1万+

pve的一些操作

pve WIN10直通显卡

buguo西瓜 3461

云主机装黑果实践(1):deepin上qemu+kvm装黑果

本文关键字:用ubi在osx上打造一分区一安装启动U盘,deepin上qemu+kvm装黑果 在上文《云主机装黑果》中,我们讨论了其可能性,或许这里面的坑远远不止那文提到的,甚至最终不能成功。—— 但不管如何,实践总要先行。在理论与实践组成的一对学习矛盾中,先见独到的理论思考,与慢悠盲目的实践,都必不可少。现在让我们开始正式的实践。 我们在前面说到,现在最新的流行OS,如windows,ubt发行,osx,都是基于uefi机考虑的。同一个系统,安装在同一台pc的mbr或uefi模式下,表现结果和所需驱动都是

minlearn's techrepos 2971

QEMU模拟FriendlyArm的Mini2440开发板

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 出处 、作者信息和本声明。否则将追究法律责任。本篇博文是基于参加网上法国OpenWide公司 http://www.openwide.fr/ 举办的嵌入式Linux竞赛 (自由,免费报名,可以个人也可以组队)的经历(今年题目是在Mini2440上实现一个可触摸数字/模拟示波器)。第一阶段是在QEMU下模拟Mini2440开发板并运行编写的...

linux内核 1372

assert()函数用法总结

  assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h>void assert( int expression );   assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 a...

1117

内核模糊测试工具Healer的安装

sosp21论文《HEALER:Relation Learning Guided Kernel Fuzzing》中的工具

Yuhan2001的优快云博客 2066

AMDcpu kvm&openstack虚拟化嵌套报错

创建实例报错 Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 82438533-1d24-417f-9e33-f98110e10160.]. nova.compute日志 ERROR nova.compute.manager [instance: 82438533-1d24-417f-9e33-f98110e10160] qemu-kvm: .

qq_30632605的博客 774
上一篇: 关闭 CentOS 的后台更新服务 dnf makecache 停止系统在后台跑流量
下一篇: 解决 VMWare 虚拟机中无法 使用 kata-containers,提示 vhost_vsock: Device or resource busy
kunyus
博客等级 码龄17年 126粉丝 117原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值