我需要找到一种方法来以编程方式确定来宾虚拟机磁盘是否是GPT或MBR分区。我无法通过vijava或Vddk api实现此目的。是否有任何其他c ++或java库可以帮助我实现这一目标。或者手动解析MBR是唯一可用的解决方案。
先谢谢,
Thiyagarajan A.
答案 0 :(得分:0)
您需要使用guest虚拟机上安装的VMWare工具并在guest虚拟机中运行 命令。本文说明了如何使用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
将接收。< / p>