Как определить, является ли диск виртуальной машины GPT или MBR в vmware Esx (i) server / Vcenter

Мне нужно найти способ программно определить, является ли диск виртуальной машины гостя разделом GPT или MBR. Я не могу добиться этого с помощью vijava или Vddk API. Есть ли другие библиотеки C ++ или Java, которые могут помочь мне достичь этого. Или разбор MBR вручную — единственное доступное решение.

Заранее спасибо,

Тиягараджан А.

0

Решение

Вам нужно использовать инструменты VMWare, установленные на ваших гостях, и запускать команды внутри Гость. В этой статье показано, как это сделать с помощью vijava: http://www.doublecloud.org/2012/02/run-program-in-guest-operating-system-on-vmware/

Если вы используете Windows, я рекомендую PowerCLI + Invoke-VmScript командлет (https://www.vmware.com/support/developer/PowerCLI/PowerCLI501/html/Invoke-VMScript.html)

Это позволит вам запустить команду powershell (для оконных блоков), чтобы определить расположение разделов. Следующие строки вернутся $True если обнаружен раздел GPT.

$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 $?

Команда выше вернет 0, если разделы GPT выходят, потому что вы должны получить предупреждение «ПРЕДУПРЕЖДЕНИЕ: GPT (таблица разделов GUID) обнаружена на ..» который grep -i gpt подберу.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector