===== VMWare Workstation ===== === Автоматический запуск виртуальных машин === В VMWare Workstation для Windows существует возможность запускать виртуальные машины в автоматическом режиме без входа пользователя. 1) В первую очередь следует настроить службу //VMware Autostart Service// в режим запуска //Auto//. :!: Необходимо учесть, что запускаться виртуальные машины будут в том контексте, в котором стартует служба //VMware Autostart Service//. Если оставить вариант по умолчанию (//local system//), то под интерактивной учетной записью пользователя мы не увидим машин, запущенных в GUI VMWare. Поэтому, если нам требуется управление виртуальными машинами оттуда - необходимо запустить службу от имени пользователя, который будет управлять машинами в интерактивном режиме. 2) В VMWare кликаем ПКМ на //My Computer// и выбираем опцию //Configure Auto Start VMs//. Далее отмечаем нужные виртуальные машины и настраиваем их приоритет загрузки. ;#; {{::vmware_ws_autostart.jpg|}} ;#; :!: Внутри сеанса пользователя будет видно, что виртуальные машины запущены, ими можно будет управлять. Однако, т.к. виртуальная машина была запущена до интерактивного входа пользователя - её дисплей будет недоступен. В этом случае можно выполнить операцию //suspend// -> //resume//. ---- === Сохранённый пароль зашифрованной виртуальной машины === Если мы сохранили пароль зашифрованной машины и VMWare Workstation больше не спрашивает креды, а нам требуется изменить это поведение, то нам следует удалить сохраненные данные из Windows Credential Manager. Они имеют приблизительно следующий вид. ;#; {{::windows_cred_man_vmwarews.jpg?600|}} ;#; ---- === Расшифровка отдельных файлов зашифрованной виртуальной машины === Предположим, мы удалили файлы второго диска (без полезных данных) зашифрованной виртуальной машины, из-за чего VM перестает загружаться, а также не даёт расшифровать себя через штатную функцию //decrypt//. В этом случае нам может помочь редактирование конфигурационного файла VM (имеющего расширение //*.vmx//). В этом файле можно вручную удалить все упоминания несуществующего более диска. :!: //Однако, если VM зашифрована, её VMX файл будет также зашифрован.// В решении этой проблемы нам поможет Python-скрипт, который умеет дешифровывать и шифровать ОТДЕЛЬНЫЕ файлы VMWare. Страница проекта: https://github.com/RF3/VMwareVMX Перед использованием установим Python и нужные модули: pip install pycryptodome Расшифровать VMX файл можно следующим образом (пароль скрипт запросит после выполнения команды): .\main.py "C:\VMWare\W11_recuv\Windows 11 x64.vmx" >> C:\pyth\decr.vmx Теперь ищем секции, в которых есть упоминание диска, который мы хотим удалить, вырезаем их и сохраняем конфиг. Пример секции: nvme0:0.mode = "independent-persistent" nvme0:0.present = "TRUE" После правки конфига необходимо зашифровать исправленный файл (тем же паролем) и скопировать в директорию зашифрованной машины вместо старого файла. Шифруем скриптом с указанием пароля: ./main.py -e -p test1234 "C:\pyth\decr3.vmx" "C:\pyth\encr4.vmx" Если всё сделано верно, виртуальная машина распознает новый зашифрованный файл конфигурации, а для загрузки больше не будет требовать наличие второго диска. ---- === Оптимизация работы VMWare Workstation под Windows === 1. Отключение HYPER-V и любых его компонентов. Отключить //core isolation//, весь //virtualization based security//. Рекомендация VMWare по этому поводу. ;#; {{::vmwarews_on_hyper-v.png?600|}} ;#; Отключить все компоненты, связанные с виртуализацией. ;#; {{::hyper-v_components_vmware_workstation.jpg?400|}} ;#; Дополнительно может потребоваться отключение гипервизора через командную строку: bcdedit /set hypervisorlaunchtype off Reboot Также, необходимо отключить Credential Guard через GPO: Computer Configuration > Administrative Templates > System > Device Guard > Turn on Virtualization Based Security -> Disable ;#; {{:wiki:disable_cred_guard_gpo.jpg?600|}} ;#; Посмотреть состояние гипервизора и virtualization-based security можно через утилиту //System Information// на странице //System Summary//. Пример: ;#; {{:wiki:systeminfo_virt_status.jpg?600|}} ;#; 2. Может помочь запуск VMWare от имени администратора. 3. Запретить хостовой системе тротлинг процессора для приложения VMWare: powercfg /powerthrottling disable /path "C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe" ---- === Нельзя просто так взять и скачать VMWare Workstation === Статья как скачать VMWare Workstation for personal use с сайта BroadCom: https://www.pcworld.com/article/2388668/vmware-workstation-pro-how-to-install-the-free-professional-tool.html ---- === MSI rollback is currently disabled === При попытке обновить VMWare Tools иногда можно нарваться на ошибку с таким заголовком. В этом случае придется поправить параметр в реестре, меняющий поведение установщика msi. Вот данный ключ: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer\DisableRollback (0) ;#; {{::disable_rollback_vmware_workstation.jpg?800|}} ;#; ---- ==== Конвертация VM VMWare Workstation в HYPER-V ==== Основная суть процесса конвертации: нужно преобразовать //vmdk-диск// в //vhdx-диск//, а затем создать новую виртуальную машину в HYPER-V, использовав сконвертированный диск в качестве диска новой VM. В случае, если при создании VM в VMWare мы делили диск на несколько - необходимо сначала слить их в единый vmdk-файл, а затем переходить к конвертации. :!: //Перед слиянием и конвертацией - лучше всего удалить с исходной VM VMWare Tools, чтобы виртуальная машина работала в новой среде виртуализации без ошибок, а затем выполнять дальнейшие шаги.// === Слияние нескольких vmdk в один === Если нам нужно слить несколько vmdk в один - можно воспользоваться встроенной в //VMWare Workstation// утилитой //vmware-vdiskmanager.exe//, скормить ей только исходный ОСНОВНОЙ vmdk-файл виртуальной машины, а также директорию и название файла-назначения, в который смёрджатся исходные файлы. Утилита сама обнаружит остальные файлы vmdk и объединит их. cd "C:\Program Files (x86)\VMware\VMware Workstation" ./vmware-vdiskmanager.exe -r "C:\VMWare\source_vm\vm.vmdk" -t 0 "C:\VMMerge\destination.vmdk" === Конвертация полученного vmdk в vhdx === С конвертацией хорошо справится утилита //qemu-img//. Загрузить можно по ссылке: https://cloudbase.it/qemu-img-windows/ Использовать её довольно просто: мы указываем исходный vmdk-файл плюс файл назначения vmdx. Пример: ./qemu-img.exe convert "C:\VMMerge\source.vmdk" -O vhdx "C:\HYPER-V\VM\destination.vhdx" -p Дожидаемся конца операции преобразования, затем создаем новую VM HYPER-V с полученным файлом диска. :!: Если мы не удалили VMWare Tools, то есть два способа это сделать (обычный uninstaller из программ не срабатывает). 1. Запустить из ISO-образа VMWare Tools сетап следующим образом: ./setup64.exe /c Скачать ISO необходимой версии можно отсюда: https://packages.vmware.com/tools/ 2. Воспользоваться специальным скриптом, удаляющим VMWare Tools: https://gist.github.com/broestls/f872872a00acee2fca02017160840624 {{tag>VMWare VM Windows HYPER-V}}