2014-05-16 5 views
0

게스트 가상 머신 디스크가 GPT 또는 MBR 파티션인지 여부를 프로그램 방식으로 확인해야합니다. vijava 또는 Vddk API를 사용하여이를 수행 할 수 없습니다. 이를 달성하는 데 도움이되는 다른 C++ 또는 Java 라이브러리가 있습니까? 또는 MBR을 수동으로 구문 분석하는 것이 유일한 솔루션입니다. 사전에가상 머신 디스크가 VM웨어의 GPT 또는 MBR인지 확인하는 방법 Esx (i) server/Vcenter

감사합니다,

Thiyagarajan의 A.

+1

실제로 확인하지는 않았지만 VMware가 디스크에있는 데이터의 종류를 알 필요가 없기 때문에 API가이 정보를 제공 할 것 같지 않습니다. VMware가 수행해야하는 모든 작업은 블록 장치를 가상 시스템에 제공하고 BIOS 또는 UEFI 코드 실행을 시작하는 것입니다. 디스크에 무엇이 있는지 (필요한 경우) 알 필요가 없습니다. 직접 디스크를 검사해야 할 것입니다. –

답변

0

당신은 당신의 손님과 실행에 설치된 VM웨어 도구 게스트 내부 명령을 사용합니다. Windows를 사용하는 경우 내가 + Invoke-VmScript cmdlet을 그것은 당신이 (윈도우 박스 용) PowerShell 명령을 실행할 수 있습니다 (https://www.vmware.com/support/developer/PowerCLI/PowerCLI501/html/Invoke-VMScript.html)

파티션을 결정하기 위해 PowerCLI를 추천 http://www.doublecloud.org/2012/02/run-program-in-guest-operating-system-on-vmware/

:이 문서에서는 vijava 사용하여이를 수행하는 방법을 보여줍니다 형세. GPT 파티션이 감지되면 다음 행은 $True을 반환합니다. GPT (GUID : 당신이 경고 "경고 가야하기 때문에 GPT 파티션을 종료하는 경우 위의 명령

fdisk -l | grep -i gpt > /dev/null ; echo $? 

는 0을 반환합니다

$disks = gwmi -query "Select * from Win32_DiskPartition" 
foreach($disk in $disks) { 
    if ($disk.Type.StartsWith("GPT")){ 
     return $true 
    } 
} 

마찬가지로,이 같은 리눅스 손님 뭔가 원하는 효과를 달성 파티션 테이블)에서 탐지되었습니다. "grep -i gpt가 나타납니다.