Python Hivex问题-设备或资源正忙

Python Hivex问题-设备或资源正忙,python,windows,registry,Python,Windows,Registry,我正试图做到以下几点: 将Windows原始映像(.img)的根分区(C:驱动器)装载到装载点,例如/mnt/mnt swapniku 将RunOnce服务注册到注册表中 然后umount/mnt/mnt swapniku并释放环路设备 下面给出了示例代码。在卸载操作之前,一切正常kpartx-d和losetup-d操作失败 这里讨论了同样的问题: 这个问题早在2011年就在Hivex中解决了。不幸的是,它在我的机器上似乎不起作用。令人惊讶的是,当我在终端上手动执行kpartx-d/dev/lo

我正试图做到以下几点:

  • 将Windows原始映像(.img)的根分区(C:驱动器)装载到装载点,例如
    /mnt/mnt swapniku
  • 将RunOnce服务注册到注册表中
  • 然后
    umount/mnt/mnt swapniku
    并释放环路设备
  • 下面给出了示例代码。在卸载操作之前,一切正常
    kpartx-d
    losetup-d
    操作失败

    这里讨论了同样的问题:

    这个问题早在2011年就在Hivex中解决了。不幸的是,它在我的机器上似乎不起作用。令人惊讶的是,当我在终端上手动执行
    kpartx-d/dev/loop0
    losetup-d/dev/loop0
    时,它工作正常。起初,我认为Hivex需要一些时间来释放资源,因此我也引入了延迟。但是没有用

    有人能用Python帮助我解决这个问题吗


    环境:

    CentOs 6.5 + hivex-1.3.3-4.2.el6.x86_64 + python-hivex-1.3.3-4.2.el6.x86_64
    

    代码(runonce_registry.py):


    输出:

    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# losetup /dev/loop0 win2k8r2.x86_64.img
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# kpartx -a /dev/loop0
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# mount /dev/mapper/loop0p2 /mnt/mnt-swapniku/
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# python runonce_registry.py
    Added Windows RunOnce service
    device-mapper: remove ioctl on loop0p2 failed: Device or resource busy
    loop: can't delete device /dev/loop0: Device or resource busy
    
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# losetup /dev/loop0 win2k8r2.x86_64.img
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# kpartx -a /dev/loop0
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# mount /dev/mapper/loop0p2 /mnt/mnt-swapniku/
    [root@dhcp-xxx-xx-xx-xx Windows_Registry]# python runonce_registry.py
    Added Windows RunOnce service
    device-mapper: remove ioctl on loop0p2 failed: Device or resource busy
    loop: can't delete device /dev/loop0: Device or resource busy