0
Мне сложно записывать диск на контроллер SATA с API виртуальных боксов при использовании контроллера SAS, все работает отлично, но здесь у меня есть огромный трассировка, которую я не понимаю , Нужно ли мне что-то делать с контроллером SATA? Спасибо за помощьPython virtualbox api не может добавить диск в контроллер SATA
приветствий,
import time
import os
import virtualbox
from virtualbox.library import StorageBus, IMachine
from virtualbox.library import IStorageController, LockType
from virtualbox.library import DeviceType, MediumVariant
from virtualbox.library import VBoxErrorObjectNotFound
from virtualbox.library import IStorageController, LockType, IVirtualBox
from virtualbox.library import IVirtualBox, AccessMode
session = virtualbox.Session()
sup = virtualbox.VirtualBox().find_machine("test_machine")
sup.lock_machine(session,LockType.write)
current_interface = IVirtualBox()
medium = current_interface.create_hard_disk("VDI", "/home/luffy/mine.vdi")
progress = medium.create_base_storage(1024*1024, [MediumVariant.fixed])
progress.wait_for_completion()
opened_medium = current_interface.open_medium("/home/luffy/mine.vdi", DeviceType.hard_disk, AccessMode.read_write,False)
session.machine.attach_device("SAS",2, 0, DeviceType.hard_disk,opened_medium) # This one works
session.machine.attach_device("SATA",2 ,0 ,DeviceType.hard_disk,opened_medium)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/virtualbox/library.py", line 10264, in attach_device
in_p=[name, controller_port, device, type_p, medium])
File "/usr/local/lib/python2.7/dist-packages/virtualbox/library_base.py", line 173, in _call
return self._call_method(method, in_p=in_p)
File "/usr/local/lib/python2.7/dist-packages/virtualbox/library_base.py", line 199, in _call_method
raise errobj
virtualbox.library.OleErrorInvalidarg: 0x80070057 (The port and/or device parameter are out of range: port=2 (must be in range [0, 0]), device=0 (must be in range [0, 0]))
#session.machine.save_settings()
session.unlock_machine()