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

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:VMtestVM1testVM1.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:VMtestVM1 -Recurse -Include *.lck|select directory,name

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

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

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

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

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

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