Освобождение файлов, заблокированных функцией общих папок

Освобождение файлов, заблокированных функцией общих папок

Я часто пользуюсь функцией общих папок VMWare Workstation: вы делаете папку на хост-машине общей для гостевой ОС и можете получить к ней доступ из гостевой ОС, так же как и к общему ресурсу SMB (только для чтения или для чтения и записи).

Меня раздражает то, что после копирования пары файлов из hots в guest, Workstation блокирует запись в эти файлы,даже если ресурс доступен только для чтения.

Это особенно раздражает в частых ситуациях, когда я пытаюсь отладить/использовать скрипт в гостевой ОС, одновременно редактируя его в хостовой ОС.

На данный момент я знаю только следующие способы заставить Workstation освободить эти файлы:

  • приостановка гостевой машины: это ужасный псевдообходной путь. Это медленно (особенно с большим объемом гостевой оперативной памяти), и иногда прерывание может быть нежелательным
  • копирование некоторого количества случайных других файлов, в надежде, что Workstation имеет внутреннее ограничение на количество файлов, которые она может заблокировать: такой хак может быть полезен регулярно, только если мы знаем количество и оно небольшое

Итак, какие есть хорошие способысделать релиз рабочей станцииэти файлы?

Или, в качестве альтернативы, как вообще избежать их блокировки?

Редактировать:Я не прояснил несколько вещей:

  • язнатьчто именно Workstation (vmware-vmx.exe) блокирует эти файлы (вероятно, из-за какой-то внутренней буферизации)

  • Я не хочу освобождать файлы силой. Я пробовал это, но освобождение силой делает машину нестабильной, чего я не могу себе позволить

По-видимому, это вызвано ошибкой в ​​Workstation.

решение1

Судя по всему, это ошибка в VMWare, поэтому нет необходимости проверять стороннее антивирусное ПО или использовать анлокеры — все последние нарушают нормальную работу самой VMWare Workstation.

Несколько тем на форуме VMWare посвящены одной и той же проблеме. Например:

Единственное работающее решение упомянуто в постахЛорен Печтель, поэтому вся заслуга принадлежит ей: вы должны получить доступ («тронуть») к заблокированному файлу из гостевой системы.

Например, я открываю и закрываю свойства заблокированного файла из проводника Windows в гостевой системе. Этого достаточно, чтобы снять блокировку в хостовой системе.

решение2

Я столкнулся с той же проблемой, используя скрипт для копирования файлов из общей папки хоста на мой клиент. В итоге получил заблокированные файлы на хосте. Самый простой способ обойти это — сделать, как уже писали другие, получить доступ к файлу хоста из клиента с помощью команды.

Для меня я использовал "attrib -r HOST_FILE" в моем скрипте после копирования файла хоста. Поскольку я смонтировал свою общую папку только для чтения, это ничего не дало, но ОЧЕНЬ очистило блокировку.

решение3

Некоторые идеи :

  1. Проверьте, читает ли какая-либо программа (например, антивирус) файлы, как на хосте, так и на госте.
    Я обычно используюРазблокировщикилиИсследователь процессовдля этого.
  2. Проверьте, не копируются ли файлы очень-очень медленно.
    Это может быть связано с тем, что у гостя проблемный сетевой драйвер.
  3. Попробуйте отключить все брандмауэры, антивирусы и другие продукты безопасности.
  4. Я более чем наполовину убежден в серьезной ошибке, существующей в реализации общих папок VMware, где хост и гость могут полностью запутаться. Я обычно избегаю общих папок, потому что невозможно заранее угадать, будут ли они надежно работать в любой новой конфигурации, в то время как сетевые или FTP-ресурсы всегда работают.

решение4

Emco unlocker (бесплатное ПО - без рекламы) отлично работает. После переноса файлов просто отправьте папку (куда вы скопировали или переместили файлы на вашем хосте) в Emco file unlocker. Я поместил ярлык в папку "отправить". Быстро и эффективно.

Связанный контент