
Я часто пользуюсь функцией общих папок 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
Некоторые идеи :
- Проверьте, читает ли какая-либо программа (например, антивирус) файлы, как на хосте, так и на госте.
Я обычно используюРазблокировщикилиИсследователь процессовдля этого. - Проверьте, не копируются ли файлы очень-очень медленно.
Это может быть связано с тем, что у гостя проблемный сетевой драйвер. - Попробуйте отключить все брандмауэры, антивирусы и другие продукты безопасности.
- Я более чем наполовину убежден в серьезной ошибке, существующей в реализации общих папок VMware, где хост и гость могут полностью запутаться. Я обычно избегаю общих папок, потому что невозможно заранее угадать, будут ли они надежно работать в любой новой конфигурации, в то время как сетевые или FTP-ресурсы всегда работают.
решение4
Emco unlocker (бесплатное ПО - без рекламы) отлично работает. После переноса файлов просто отправьте папку (куда вы скопировали или переместили файлы на вашем хосте) в Emco file unlocker. Я поместил ярлык в папку "отправить". Быстро и эффективно.