如何在vmware Esx(i) server /Vcenter中检测虚拟机磁盘是GPT还是MBR
How to detect if a virtual machine disk is a GPT or MBR in vmware Esx(i) server /Vcenter
我需要找到一种方法来编程地确定Guest虚拟机磁盘是GPT还是MBR分区。我无法用vijava或Vddk api实现这一点。有任何其他c++或java库,可以帮助我实现这一点。或者手动解析MBR是唯一可用的解决方案。
Thanks in Advance,
Thiyagarajan a .
您需要在您的来宾机上安装VMWare工具,并在来宾机上运行命令。本文演示了如何使用vijava: http://www.doublecloud.org/2012/02/run-program-in-guest-operating-system-on-vmware/
如果你使用windows,我推荐PowerCLI + Invoke-VmScript
cmdlet(https://www.vmware.com/support/developer/PowerCLI/PowerCLI501/html/Invoke-VMScript.html)
它将允许您运行powershell命令(用于windows盒子)来确定分区布局。如果检测到GPT分区,以下行将返回$True
。
$disks = gwmi -query "Select * from Win32_DiskPartition"
foreach($disk in $disks) {
if ($disk.Type.StartsWith("GPT")){
return $true
}
}
同样,在linux客户机上,这样做将达到预期的效果:
fdisk -l | grep -i gpt > /dev/null ; echo $?
如果GPT分区存在,上面的命令将返回0,因为你应该得到一个警告"警告:GPT (GUID分区表)检测到…" grep -i gpt
将拾取
相关文章:
- OpenGL 在 VMWare Fusion 版本 10.1.3 上安装的虚拟机 (Ubuntu 16.04) 上崩溃
- 二叉搜索树 - 使用 Linux 在虚拟机中制作删除功能
- QT信号在虚拟机中不连接
- 如何将双精度类型的鼠标移动 x 和 y 从主机传递到 Qemu 中的虚拟机
- SQLITE错误:无法重置虚拟机
- C++如何检测您的应用程序正在运行的虚拟机已成为焦点
- SSE2 矢量化和虚拟机
- 在技术上是否可以创建 Java 虚拟机的映像文件并使用它来更快地启动 Java 应用程序
- LLVM是典型的虚拟机
- Jace:: 虚拟机关机错误
- 两个 C++ 可执行对象之间的实时数据通信,一个是 Windows 和另一个在虚拟机 Ubuntu 中
- 将临时对象保留在寄存器上以避免虚拟机中的额外存储/加载
- Delphi和C++类虚拟机兼容吗
- 对于虚拟机,哪种调度方法更有效
- NDK:0xdeadd00d时虚拟机中止和致命信号 11 (SIGSEGV) 的问题(代码 = 1)
- Qt on Android - C++代码是否在 Dalvik 虚拟机中运行
- modern.ie 从网站中提取虚拟机 JSON 数据
- 如何为虚拟机创建二进制文件
- Qt静态构建在虚拟机(win7 32位)上需要很长时间
- 如何在vmware Esx(i) server /Vcenter中检测虚拟机磁盘是GPT还是MBR