VMware Workstation: блокировка файлов виртуальной машины

После аварийной перезагрузки компьютера с гипервизором VMware Workstations перестала запускаться часть виртуальных машин с ошибкой блокировки файлов ВМ:

The process cannot access the file because another process has locked a portion of the file
Cannot open the disk 'D:\VM\testVM1\testVM1.vmdk' or one of the snapshot disks it depends on.

VMware Workstation - на запускается ВМ - The process cannot access the file because another process has locked a portion of the file Cannot open the disk

Ошибка указывает что файлы дисков виртуальной машины (или снапшоты) заблокированы другим процессом. При этом с помощью стандартных средств Windows не удается найти процесс, который заблокировал файл.

Причина проблемы в этом случае в архитектуре блокировок файлов от изменений в VMware Workstation. При запуске виртуальной машины, гипервизор должен заблокировать файлы дисков, чтобы предотвратить к ним одновременный доступ и обеспечить целостность данных. Для всех файлов, которые заблокированы гипервизором в данный момент в текущем каталоге создается новая папка с именем файла и суффиксом .lck. В этом каталоге будут хранится lck файлы устройств. Наличие lck файлов указывает процессам VMware, что данный файл используется.

lck файлы виртуальной машины VMware Workstation

При выключении ВМ, эта блокировка снимается и каталоги .lck удаляются. Однако, если хост с гипервизором VMware перезагрузился нештатно, файлы ВМ останутся заблокированными. При при следующей попытке запуска ВМ, гипервизор будет считать, что файлы ВМ используются другим процессом.

Решение – удалить каталоги .lck из папки виртуальной машины.

Список заблокированных файлов ВМ можно получить с помощью PowerShell:

Get-ChildItem D:\VM\testVM1 -Recurse -Include *.lck|select directory,name

PowerShell - найти все lck файлы блокировок виртуальной машины vmware

В данном примере видно, что заблокированы файл конфигурации ВМ ( vmx ), файл виртуального диска ( vmdk ), и резервная копия файла подкачки ВМ ( vmem ).

Чтобы снять блокировку, удалите все lck файлы виртуальной машины. После этого ВМ должна запуститься успешно.

Если к ВМ подключено несколько виртуальных дисков, они могут находится в каталоге, который отличается от каталога ВМ. Удалите lck файлы для всех дисков.

несколько виртуальных дисков ВМ

Аналогичная проблема с блокировкой файлов встречается и в VMware ESXi: Ошибка VMWare: Unable to access a file since it is locked.

Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)