Closed zzambers closed 4 years ago
Really strange. It should not really pick the wrong RaidPort device since we do a check for miniport signature using an IOCTL_SCSI_MINIPORT call and only if that is successful we pick that device. The miniport signature we check for is "PhDskMnt". Not really sure why virtio drivers would respond "okay" to a request with that signature, if this is what happens.
That was only my guess, based on my quick experiment. It is possible, that I am wrong. (I don't have experience with windows driver development. ) Anyway if I change HDD from virtio to SATA problem goes away.
Okay, just trying to figure out how this could happen. Thanks for your report!
I was eventually able to workaround this issue by modifying source code of aimapi.dll [1].
I basically added code for checking driver version into loop in ImScsiOpenScsiAdapter function. Then after I built it and replaced original aimapi.dll with my custom one, issue was gone. ( It (aim_ll.exe) now works together with virtio disk. )
I also made my workarounded aimapi.dll available in my fork ([2] 64bit, for current AIM version), in case someone would find it useful.
[1] https://github.com/zzambers/Arsenal-Image-Mounter/commit/15e1aafafa4a3293ab5a9c49959cd2da6b0b4a14 [2] https://github.com/zzambers/Arsenal-Image-Mounter/releases
Thanks a lot for your contribution! We'll include this in next release!
Thank you!
Hi, I found that Arsenal-Image-Mounter does not work in qemu VM, if there is a disk, using virtio drivers [1].
Command tested: aim_ll.exe -a -s 8G -m R: -p "/fs:ntfs /q /y" Wrong version of Arsenal Image Mounter.
(in reality, version is indeed correct one)
I think problem is that both drivers create device \Device\RaidPortN and Arsenal-Image-Mounter chooses wrong one [2]. Program than later fails on driver version check [3].
[1] https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers [2] https://github.com/ArsenalRecon/Arsenal-Image-Mounter/blob/master/Unmanaged%20Source/aimapi/aimapi.cpp#L152 [3] https://github.com/ArsenalRecon/Arsenal-Image-Mounter/blob/33d0f221c76b81d5956b596eb0bd84eec69de616/Unmanaged%20Source/aim_ll/aimcmd.cpp#L456