Ситуация следующая: виртуальная машина Hyper-V не может запуститься, выдавая при старте ошибку примерно такого содержания «VM failed to start. Synthetic SCSI controller (Instance ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx): Failed to Power on with Error ‘General access denied error’.».
Если развернуть окно и посмотреть детальную информацию об ошибке, то станет понятно, что проблема кроется в отсутствии доступа к файлу виртуального диска. Дело в том, что виртуальной машине (как и обычному пользователю) для работы с файлом необходимы NTFS-права на этот файл. В том случае, когда у виртуальной машины отсутствуют необходимые разрешения, то она не сможет стартовать и вывалится с ошибкой.
Как видно на рисунке, каждая виртуальная машина имеет свой уникальный идентификатор (Virtual machine ID). Для устранения ошибки надо взять этот ID и добавить его в список контроля доступа VHD-файла. Сделать это можно из командной строки, с помощью утилиты с неблагозвучным 🙂 названием Icacls. В нашем примере команда будет выглядеть так:
Icacls H:Hyper-VSRV1.vhdx /grant ″NT Virtual Machinef72e624c-4cc2-4167-b852-a47d412de8440″:(F)
Этой командой мы выдали виртуальной машине права Full Control на файл. В этом можно убедиться, открыв свойства файла и перейдя на вкладку Security. Как видите, разрешения в порядке и теперь виртуальная машина должна успешно запуститься.
Примечание. Подобную операцию необходимо проделать для каждого vhdx, и, если у машины имеются моментальные снимки (checkpoint), то для каждого avhdx файла, имеющего отношение к данной ВМ.
В заключение опишу некоторые ситуации, которые могут привести к потере прав:
• Перенос файла виртуального диска в другое расположение. Напомню, что при переносе файла на другой диск разрешения файловой системы удаляются и заменяются наследуемыми. Избежать этого можно, перенося файлы виртуальных машин с помощью встроенных средств Hyper-V, таких как Storage migration или ExportImport;
• Копирование файла виртуального диска. Ошибка может возникнуть при попытке подсунуть виртуальной машине чужой диск. Поэтому для ″размножения″ лучше воспользоваться либо экспортом, либо, при наличии VMM, клонированием виртуальных машин;
• Восстановление ВМ из бэкапа. Некоторые программы резервного копирования, например тот же DPM, при восстановлении в другое расположение не выставляют на файлы нужные права.
Hyper-V Ошибка Не удается создать хранилище, необходимое для контрольной точки, Ошибка доступа (0x80070005).
Симптомы:
С этой ошибкой я столкнулся при попытке резервного копирования виртуальных машин на хосте Hyper-V. Вот так она выглядела в Veeam:
На самом хосте Hyper-V, при попытке создать контрольную точку выскакивала ошибка:
Причины:
Ясно было, что проблема с правами. Скажу, что хост настраивал не я, и что там было «наверчено», непонятно. После «раскопок» обнаружил, что виртуальные машины были расположены в нескольких папках. Машины из одной папки позволяли создать контрольные точки, а из другой — нет.
В свойствах безопасности папки, ВМ из которой работали нормально, была группа пользователей Virtual Machines, а в свойствах другой ее не было. (и найти ее мне не удалось…))
Решение:
Для исправления ситуации можно было, конечно, разрешить доступ к папке виртуальных машин всем пользователям с правами на изменение, но это как-то…
Поэтому я решил переместить «проблемные» виртуальные машины в другое место. Для этого в диспетчере Hyper-V выбираем ВМ и жмем «Переместить».
Откроется мастер перемещения. Жмем «Далее».
На следующем экране выбираем «Переместить хранилище ВМ».
Указываем папку для расположения виртуальной машины.
Жмем «Далее».
На следующем шаге жмем «Готово».
Начнется перемещение виртуальной машины.
После его завершения проблема с созданием контрольных точек исчезла.
Хочу отметить, что проблема не воспроизводилась и после обратного перемещения ВМ в исходное расположение.
Обсуждение подобной проблемы есть на https://social.technet.microsoft.com/Forums/ru-RU/0c83b8ad-7b9a-4fab-8a68-eb61a827b47c/10551088108610731083107710841099?forum=WS8ru
Еще статьи про виртуализацию VMware и Hyper-V.
- Remove From My Forums
Hyper-V VM failed to start — General access denied errror
-
Question
-
HI,
When i’m trying start my newly created virtual machine I’ve got error:
VMMS Account does not have sufficient privilege to open attachment «…..SRVVirt.vhd»
I am logged in as administrator, Services ara running with following accounts :
Hyper-V Image Management Service — Network Service
Hyper-V Networking Management Service — Local System
Hyper-V Virtual machine managemet — Local System
Operating system is clear installation of Windows Server Standard 2008 RTM with Hyper-V
Installed roles :
Application server
File Services
Hyper-V
Web Server
any suggestions on how to overcome this issue and get the hypervisor running would be greatly appreciated.
thanks.
Radek
.
Answers
-
Hi,
I had the same problem.
My solution was: I gave the *.vhd file the permission ‘full’ for the group ‘Users’
Greetings from Germany
Michael
-
It turns out that There are 3 Hyper-V services. 2 of them are Logon as System, and one as Network Service. When looking at the vhd, the System has full control, but Network Service doesn’t.
After adding Network Service -> Full Control, the VM Starts. Maybe this is more secure than All Users -> Full Control? I don’t know.
-Michael Quinn
При установке ОС на виртуальную машину Hyper-V вы можете столкнуться с ошибкой о том, что служба управления виртуальными машинами обнаружила ошибку при настройке жесткого диска на виртуальной машине. [virtual-machine-name]. Вы также можете получить код ошибки с именем 0x80070050. Если это так, вы можете следовать этому руководству, чтобы узнать причину и исправить проблему в считанные секунды.
Во всем сообщении об ошибке говорится примерно следующее:
Служба управления виртуальными машинами обнаружила ошибку при настройке жесткого диска на виртуальной машине. [virtual-machine-name].
Не удалось создать виртуальный жесткий диск.
Сначала вам нужно знать, почему Hyper-V отображает такое сообщение об ошибке при создании виртуальной машины и установке операционной системы. Возможно, вы уже знаете, что вам нужно вводить имя для своей виртуальной машины всякий раз, когда вы ее создаете, и что можно создать несколько виртуальных машин на Hyper-V.
По умолчанию Hyper-V использует имя виртуальной машины в качестве имени виртуального жесткого диска. Например, если вы назовете виртуальную машину Моя виртуальная машина, имя виртуального жесткого диска будет Моя виртуальная машина. Vhdx.
Предположим, что вы создали виртуальный жесткий диск с тем же именем, которое вы используете сейчас для текущей виртуальной машины. Если это так, Hyper-V покажет вам сообщение об ошибке, как упомянуто выше. При этом у вас есть два варианта избавиться от этой проблемы — либо удалить старый виртуальный жесткий диск, либо установить другое имя для текущей виртуальной машины.
Чтобы исправить ошибку службы управления виртуальными машинами при настройке проблемы с жестким диском, выполните следующие действия:
- Удалить старый виртуальный жесткий диск
- Установить другое имя для текущего виртуального жесткого диска
Чтобы узнать больше об этих шагах, продолжайте читать.
1]Удалить старый виртуальный жесткий диск
Есть некоторые плюсы и минусы удаления старого виртуального жесткого диска или использования этого метода для избавления от вышеупомянутого сообщения об ошибке. Преимущество использования этого метода в том, что вы сможете освободить место и не загромождать каталог. Однако проблема начинается, когда у вас есть важная информация на виртуальном жестком диске, которую вы будете использовать в будущем.
Однако, если старые виртуальные жесткие диски больше не используются, их можно удалить. Для этого сделайте следующее:
- Откройте проводник на вашем компьютере.
- Перейдите по этому пути: C: Users Public Documents Hyper-V Virtual hard disks
- Выберите виртуальный жесткий диск, который вы хотите удалить, и щелкните его правой кнопкой мыши.
- Выберите опцию Удалить.
После этого вы можете использовать те же настройки для создания еще одного виртуального жесткого диска на Hyper-V.
2]Установите другое имя для текущего виртуального жесткого диска.
Если у вас возникли проблемы с удалением старого виртуального жесткого диска, вам необходимо установить другое имя для вашего файла VHDX. Это гораздо более простой способ избавиться от этой проблемы. Чтобы задать имя виртуального жесткого диска, выполните следующие действия:
- Перейдите к процессу создания виртуальной машины на Hyper-V.
- Перейдите на вкладку Подключить виртуальный жесткий диск.
- Выберите вариант «Создать виртуальный жесткий диск».
- Щелкните поле «Имя».
- Введите имя с расширением .vhdx
- Убедитесь, что имя отличается от предыдущего.
После этого вы можете без проблем создать виртуальный жесткий диск.
Как исправить ошибку при настройке жесткого диска в службе управления виртуальными машинами?
Чтобы исправить, служба управления виртуальными машинами обнаружила ошибку при настройке жесткого диска, вам необходимо либо удалить старый файл виртуального жесткого диска, либо установить новое имя. Нет другого варианта, кроме этих двух, чтобы избавиться от этой проблемы на Hyper-V. Подробные шаги упомянуты выше, и вы можете выполнить их, чтобы выполнить работу.
Надеюсь, это руководство было полезным.
Связанный: