这是命令 virt-what 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
virt-what - 检测我们是否在虚拟机中运行
概要
virt-what [选项]
商品描述
“virt-what”是一个 shell 脚本,可用于检测程序是否正在运行
虚拟机。
该程序打印出关于虚拟机的“事实”列表,从
启发式。 每行打印一个事实。
如果未打印任何内容并且脚本以代码 0(无错误)退出,则可能意味着 或
程序在裸机上运行 or 该程序在一种类型的内部运行
我们不知道或无法检测到的虚拟机。
事实
超频
这是 Microsoft Hyper-V 管理程序。
状态:由RWMJ确认
ibm_systemz
这是一个 IBM SystemZ(或其他 S/390)硬件分区系统。 额外的
下列事实也可以印刷。
ibm_systemz-direct
这是直接在 IBM SystemZ 硬件分区系统上运行的 Linux。
这应该是一个非常不寻常的配置 - 如果你看到这个结果,你
应该以怀疑的态度对待它。
状态:未确认
ibm_systemz-lpar
这是直接在 IBM SystemZ 硬件分区上的 LPAR 上运行的 Linux
系统。
状态:未确认
ibm_systemz-zvm
这是在 IBM SystemZ 硬件分区上的 LPAR 中运行的 z/VM 来宾
系统。
状态:由 RWMJ 使用在 z/VM 中运行的 Fedora 来宾确认
linux_vserver
这是为了与旧的 virt-what 不能向后兼容而打印的
区分 Linux VServer 容器来宾和主机。
linux_vserver-来宾
此进程在 Linux VServer 容器中运行。
状态:由 BarXX Metin 贡献
linux_vserver-主机
此进程作为 Linux VServer 主机 (VxID 0) 运行。
状态:由 BarXX Metin 和 Elan Ruusamaee 贡献
x 此进程在 Linux LXC 容器中运行。
状态:由 Marc Fournier 提供
KVM 此来宾使用硬件加速在 KVM 管理程序上运行。
请注意,如果管理程序正在使用软件加速,您应该 而不去 看到这个,
但应该看到“qemu”事实。
状态:由RWMJ确认。
打开vz
来宾似乎在 OpenVZ 或 Virtuozzo 容器内运行。
状态:由 Evgeniy Sokolov 提供
相似之处
来宾在 Parallels Virtual Platform(Parallels Desktop、Parallels
服务器)。
状态:由贾斯汀克利夫特贡献
powervm_lx86
来宾在 IBM PowerVM Lx86 Linux/x86 模拟器中运行。
状态:数据最初由 Jeffrey Scheel 提供,经 Yufang Zhang 和 RWMJ 确认
哇
这是使用软件仿真的 QEMU 管理程序。
请注意,对于 KVM(硬件加速)来宾,您应该 而不去 看到这个。
状态:由RWMJ确认。
UML 这是一个用户模式 Linux (UML) 来宾。
状态:由 Laurent Leonard 提供
道德
似乎存在某种虚拟化,但我们不确定它是什么。 在
一些非常罕见的极端情况,我们知道虚拟化很难检测到,我们
将尝试定时攻击,看看某些机器指令是否运行得更多
比应有的速度慢,这表明虚拟化。 在这种情况下,
打印通用事实“virt”。
处女座
这是 Hitachi Virtualization Manager (HVM) Virtage 硬件分区系统。
状态:数据由 Bhavna Sarathy 提供,未经证实
VirtualBox的
这是一个 VirtualBox 来宾。
状态:由 Laurent Leonard 提供
虚拟机
来宾似乎在 Microsoft VirtualPC 上运行。
状态:未确认
VMware的
来宾似乎在 VMware 管理程序上运行。
状态:由RWMJ确认
Xen的 来宾似乎在 Xen 管理程序上运行。
状态:由RWMJ确认
xen-dom0
这是 Xen dom0(特权域)。
状态:由RWMJ确认
异域U
这是一个 Xen domU(半虚拟化来宾域)。
状态:由RWMJ确认
xen-hvm
这是一个 Xen 来宾完全虚拟化 (HVM)。
状态:由RWMJ确认
退出 状态
使用或包装“virt-what”的程序应该在执行之前检查退出状态是否为 0
尝试解析命令的输出。
非零退出状态表示存在错误,例如,无法识别的命令行
争论。 如果退出状态非零,则输出“事实”(如果有的话)
不能保证,应忽略。
退出状态确实 而不去 与程序是否运行有关
裸机或虚拟化,也没有“virt-what”托管检测
“正确”(鉴于虚拟化的种类繁多,这基本上是不可知的
系统,并且某些系统故意模仿其他系统)。
跑步 VIRT-什么 从 其他 美加学院课程
“virt-what”旨在让您可以轻松地从其他程序中运行它或将其包装在
图书馆。
您的程序应该检查退出状态(请参阅上面的部分)。
一些编程语言(特别是 Python:issue 1652)错误地掩盖了“SIGPIPE”
信号,并且在执行子进程时不要恢复它。 “virt-what”是一个shell脚本
执行此操作时,某些 shell 命令无法正常工作。 您可能会看到来自
“virt-what”与此类似:
回声:写错误:管道损坏
解决方案是在运行之前将“SIGPIPE”信号处理程序设置回“SIG_DFL”
“虚拟什么”。
重要 注意
大多数时候,使用这个程序是 错 要做的事。 相反,你应该检测
您实际想要使用的特定功能。 (例如,如果您想发出
您将查找“/proc/xen/privcmd”文件的 Xen 管理程序命令)。
然而,人们一直要求这样做,所以我们提供了它。 有一些合法的用途:
错误报告工具
如果您认为虚拟化可能会影响您的程序运行方式,那么您可能会
使用“virt-what”在错误报告工具中报告此问题。
状态显示和监控工具
您可以将此信息包含在状态和监视程序中。
系统调整(有时)
您可以使用此程序来调整操作系统,使其作为虚拟机运行得更好
特定管理程序的机器。 但是,如果安装半虚拟化驱动程序,
最好检查您的驱动程序需要的特定功能(例如,是否存在
PCI 设备)。
使用 onworks.net 服务在线使用 virt-what