Моя цель состоит в том, чтобы программно создать новую Виртуальную машину и прикрепить к ней существующий VHDX-файл. Единственными входными данными для моей программы являются имя виртуальной машины и путь VHDX. Я реализую это, используя Hyper-V WMI Provider и Virtualization V2 namespace. В основном я реализую то, что дано в этот статья в виде сценария. Как уже упоминалось в этот По ссылке я сначала добавляю синтетический диск, а затем пытаюсь прикрепить файл vhdx.
Я могу успешно создать виртуальную машину и добавить синтетический диск к машине. Однако, когда я пытаюсь добавить VHDX-файл жесткого диска, я получаю сообщение об ошибке ниже.
«New Virtaul Machine» не удалось добавить ресурсы (идентификатор виртуальной машины …). Код ошибки задания — 32768, а состояние задания — 10, что соответствует «Сбой».
Это код, который я использую для подключения файла VHDX.
//Add VHD
ManagementObject^ hardDisk = GetResourceAllocationsettingDataDefault(scope, 31, "Microsoft:Hyper-V:Virtual Hard Disk", "-");
hardDisk = (ManagementObject^)hardDisk->Clone();
array<String^>^ connection = gcnew array<String^>(1);
connection[0]="E:\\test.vhdx"; //Path to *.vhd file
hardDisk["Parent"] = synthetic->Path->Path; //WMI path-> This is the path of the synthetic drive that I added in the previous step.
hardDisk["HostResource"] = connection;
array<String^> ^ HDs = gcnew array<String^>(1);
HDs[0] = hardDisk->GetText(TextFormat::WmiDtd20);
ManagementBaseObject^ VHDinParams = vmtoCreate->GetMethodParameters("AddResourceSettings");
VHDinParams["AffectedConfiguration"] = settings->Path->Path;
VHDinParams["ResourceSettings"] = HDs;
ManagementBaseObject^ VHDoutParams = vmtoCreate->InvokeMethod("AddResourceSettings", VHDinParams, nullptr);
Для метода GetResourceAllocationsettingDataDefault, обратитесь к этот ссылка на сайт. Когда я анализирую переменную VHDoutParams на предмет сообщения об ошибке и кода ошибки, я просто получаю следующие сведения.
Описание ошибки: «Новая машина Virtaul» не смогла добавить ресурсы (идентификатор виртуальной машины …).
Код ошибки: 32768 (Ошибка)
Состояние работы: 10
Я не знаю, что мне не хватает. Я запускаю программу в режиме повышенных прав как администратор. У меня не установлен антивирус на хост-компьютере Hyper-V. Я также тщательно искал в Интернете, но ничего не смог найти. Что я пропускаю или делаю неправильно?
VHDX файлы только для поколения 2 ВМ. Пожалуйста, проверьте, что это может быть также не выявлена ошибка
Других решений пока нет …