Произошла ошибка при попытке доступа к виртуальному жесткому диску

Обновлено: 07.07.2024

Как старший программный менеджер в группе Product Quality and Online (PQO), я особое внимание уделяю технологиям виртуализации, то есть продуктам Microsoft Hyper-V Server, System Center Virtual Machine Manager (SCVMM), Microsoft Application Virtualization (App-V), Microsoft Enterprise Desktop Virtualization (MED-V) и Windows Virtual PC. Совместно с командами разработчиков я работаю над решением проблем, о которых пользователи сообщают в службу поддержки Microsoft. Данные проблемы следует учитывать всем, кто планирует устанавливать Hyper-V или уже работает с ним

Исключения в антивирусе

Если на сервере Hyper-V установлено антивирусное программное обеспечение и файлы виртуальной машины Hyper-V не добавлены в список исключений компонента сканирования в реальном времени, то вы можете столкнуться со множеством трудностей. Наиболее распространенная проблема — администратор открывает консоль управления Hyper-V и обнаруживает, что виртуальные машины исчезли. Другие симптомы:

Чтобы избежать этих проблем, добавьте в список исключений компонента сканирования в реальном времени в своем антивирусе перечисленные ниже папки и файлы.

  • Папка, в которой по умолчанию хранятся настройки виртуальных машин (C:\ProgramData\Microsoft\Windows\Hyper-V).
  • Другие папки конфигураций виртуальных машин.
  • Папка, в которой по умолчанию хранятся VHD-файлы (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks).
  • Другие папки, в которых хранятся VHD-файлы.
  • Папки, в которых хранятся снимки.
  • Vmms.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).
  • Vmwp.exe (возможно, придется настроить как процесс-исключение в антивирусной программе).

Снимки и нехватка места на диске

Если снимки не могут быть объединены из-за нехватки места на диске (то есть error0x80070070), не удаляйте файлы с расширением. avhd (файлы снимков). В результате удаления файлов. avhd произойдет потеря данных, которая приведет к тому, что виртуальная машина перестанет запускаться. Если у вас нет возможности освободить необходимое дисковое пространство на томе, где хранятся файлы. avhd, требуется сделать следующее:

  1. Экспортировать виртуальную машину на том, где достаточно свободного места на диске.
  2. После завершения экспорта откройте консоль управления Hyper-V и удалите виртуальную машину, которую экспортировали.
  3. Импортируйте виртуальную машину из нового места хранения. Если версия Hyper-V ниже Windows Server 2008 R2, включите виртуальную машину, а затем выключите ее, чтобы запустить процесс объединения в новом месте хранения.

Компоненты интеграции не обновлены

После того как исправление или обновление для Hyper-V установлено на сервер (Windows 2008 R2, Server 2008 или Microsoft Hyper-V Server), просмотрите документацию, связанную с исправлением, чтобы узнать, требует ли это исправление обновления компонентов интеграции виртуальной машины. Вы также можете просмотреть список обновлений Hyper-V на сайте TechNet, чтобы выяснить, включает ли обновление усовершенствованные компоненты интеграции.

Чтобы определить, какие виртуальные машины имеют устаревшие компоненты интеграции, можно просмотреть журнал событий Microsoft-Windows-Hyper-V-Integration/Admin. Если виртуальная машина использует устаревшие компоненты интеграции, то при ее запуске в журнал будет записано следующее событие:

Log Name: Microsoft-Windows-Hyper-VIntegration-Admin

Событие с идентификатором 4010 будет записано для каждой устаревшей службы интеграционного компонента виртуальной машины (экран 1).


Экран 1. Событие 4010 в журнале

Функция Refresh virtual machine configuration и кластер

Консоль управления Hyper-V не поддерживает кластеры, и это означает, что изменения настроек виртуальных сетей или виртуальных машин в данной консоли должны быть продублированы на другие узлы кластеров с помощью функции Refresh virtual machine configuration в консоли диспетчера отказоустойчивых кластеров.

Если не воспользоваться этой функцией, то виртуальная машина либо вообще не сможет перемещаться между узлами кластера, либо ее параметры (например, VLAN ID), которые были изменены, будут потеряны при перемещении виртуальной машины на другой узел кластера Hyper-V. Чтобы обновить настройки виртуальной машины, выполните следующие шаги.

  1. В консоли диспетчера отказоустойчивых кластеров откройте раздел Services and Applications, а затем щелкните по виртуальной машине, для которой хотите обновить настройки.
  2. В окне Actions прокрутите список вниз, щелкните мышью на кнопке More Actions, затем выберите функцию Refresh virtual machine configuration, как показано на экране 2.


Экран 2. Функция Refresh virtual machine configuration

В системе Server 2008 R2 функцией Refresh virtual machine configuration можно не пользоваться, если вы меняете параметры виртуальной машины с помощью консоли диспетчера отказоустойчивых кластеров. Для изменения параметров виртуальной машины в этой консоли сделайте следующее:

Ситуация следующая: виртуальная машина 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-V\SRV1.vhdx /grant ″NT Virtual Machine\f72e624c-4cc2-4167-b852-a47d412de8440″:(F)

установка разрешений на файл виртуального диска

Этой командой мы выдали виртуальной машине права Full Control на файл. В этом можно убедиться, открыв свойства файла и перейдя на вкладку Security. Как видите, разрешения в порядке и теперь виртуальная машина должна успешно запуститься.

Примечание. Подобную операцию необходимо проделать для каждого vhdx, и, если у машины имеются моментальные снимки (checkpoint), то для каждого avhdx файла, имеющего отношение к данной ВМ.

проверка разрешений

В заключение опишу некоторые ситуации, которые могут привести к потере прав:

• Перенос файла виртуального диска в другое расположение. Напомню, что при переносе файла на другой диск разрешения файловой системы удаляются и заменяются наследуемыми. Избежать этого можно, перенося файлы виртуальных машин с помощью встроенных средств Hyper-V, таких как Storage migration или Export\Import;
• Копирование файла виртуального диска. Ошибка может возникнуть при попытке подсунуть виртуальной машине чужой диск. Поэтому для ″размножения″ лучше воспользоваться либо экспортом, либо, при наличии VMM, клонированием виртуальных машин;
• Восстановление ВМ из бэкапа. Некоторые программы резервного копирования, например тот же DPM, при восстановлении в другое расположение не выставляют на файлы нужные права.

Parallels Desktop выдает следующую ошибку:

Операция не выполнена

При доступе к жесткому диску, используемому <имя ВМ>, произошла ошибка. . PRL_ERR_DISK_READ_FAILED(820021029),errno=5 (input/output error)

Причина

  • Виртуальная машина находится на сетевом диске, который в данный момент отключен
  • Повреждение жесткого диска Mac
  • Сбой виртуальной машины Boot Camp

Возможное решение

Если виртуальная машина находится на сетевом диске, убедитесь, что он подключен.

Если виртуальная машина находится на жестком диске Mac, значит, скорее всего, он поврежден. Это можно проверить следующим образом:

Запустите программу Консоль (Finder > Программы > Служебные > Консоль).

Для Mac OS X Lion и ранее: найдите kernel log.

Найдите упоминания "I/O". Вы должны увидеть похожие ошибки:

Это значит, что ваша виртуальная машина находится в поврежденных секторах жесткого диска и Mac OS X не может прочитать ее данные.

Мы настоятельно рекомендуем вам обратиться в службу поддержки Apple, так как поврежденные секторы могут свидетельствовать о неисправности оборудования и, как правило, возникают повторно.

До обращения в службу поддержки Apple рекомендуем вам попробовать восстановить данные с жесткого диска виртуальной машины:

Найдите pvm-файл виртуальной машины на жестком диске Mac с помощью функции Spotlight, затем щелкните по нему правой кнопкой и выберите "Показать содержание пакета".

Внутри вы увидите файл с расширением .hdd - щелкните по нему правой кнопкой и откройте его с помощью Parallels Mounter. Виртуальный жесткий диск будет подключен к вашей файловой системе и появится в окне Finder.

Если в Finder появился новый диск, откройте его и скопируйте нужные папки на жесткий диск Mac - по одной, не все сразу.

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

Если в Finder не появился новый диск, значит, данные виртуальной машины повреждены слишком сильно и не могут быть восстановлены средствами Parallels Desktop.

Примечание. Независимо от результатов диагностики данная проблема не имеет отношения к Parallels Desktop и не может быть решена на стороне Parallels.

Если виртуальная машина установлена с раздела Boot Camp 1. Найдите pvm-файл виртуальной машины Boot Camp в Spotlight и переместите его в корзину 2. Переустановите виртуальную машину с раздела Boot Camp с помощью меню Parallels Desktop > Файл -> Создать.

Ошибка Hyper-V при смене жесткого диска - крупный план клавиатуры с логотипом

Некоторые пользователи сталкивались с ошибкой Hyper-V при внесении изменений на жесткий диск всякий раз, когда они пытались изменить настройки своей виртуальной машины.

Люди испытывают большое разочарование по поводу этой проблемы. Невозможность изменить настройки вашей виртуальной машины будет означать, что вы застряли с первоначальной настройкой вашей виртуальной машины.

Вот что сказал один пользователь об этой проблеме в блогах Microsoft:

Это может создать еще больше проблем, если вам нужно обновить объем оперативной памяти вашей виртуальной машины, чтобы она работала правильно.

Посмотрим, что вы можете сделать с этим вопросом. Пожалуйста, внимательно следуйте методам в этом списке, чтобы избежать других осложнений.

1. Убедитесь, что другие виртуальные машины не используют тот же жесткий диск

hard disk - Hyper-V error applying hard drive changes

Этот метод применяется в случае, если вы используете несколько виртуальных машин с одного хоста.

Пожалуйста, проверьте виртуальные жесткие диски, связанные с каждой из ваших виртуальных машин, чтобы убедиться, что между ними нет конфликтов.

  1. Откройте диспетчер Hyper-V.
  2. Выберите хост-компьютер, который вы хотите проверить на жестком диске -> щелкните по нему правой кнопкой мыши -> выберите Настройки Hyper-V.
  3. В открывшемся окне -> проверьте расположение вашего виртуального жесткого диска (нажмите «Обзор», чтобы изменить его при необходимости).

2. Проверьте, не блокирует ли какой-либо антивирус или программное обеспечение для резервного копирования

hard-drive - Hyper-V error applying hard drive changes

Точные действия для использования этого метода зависят от используемого вами антивирусного или резервного копирования. Тем не менее, убедитесь, что вы занесены в белый список вашего виртуального жесткого диска внутри программного обеспечения.

3. Измените настройки контроллера ISCSI или IDE

laptop on desk with notepad - Hyper-V error applying hard drive changes

  1. Откройте диспетчер Hyper-V.
  2. Щелкните правой кнопкой мыши хост-компьютер -> выберите настройки Hyper-V.
  3. В разделе « Контроллер SCSI» в правом меню -> щелкните правой кнопкой мыши на жестком диске -> выберите « Свойства».
  4. Щелкните раскрывающееся меню в разделе « Контроллер » -> выберите другой параметр (в зависимости от настроек по умолчанию точные параметры будут различаться).

4. Извлеките и снова добавьте привод DVD из виртуальной машины Hyper-V

DVD drive - Hyper-V error applying hard drive changes

Удалять:

  1. Откройте диспетчер Hyper-V.
  2. Нажмите Пуск -> Администрирование -> щелкните Диспетчер Hyper-V.
  3. Под именем виртуальной машины на панели действий -> нажмите Настройки.
  4. Выберите DVD-привод на левой панели.
  5. Нажмите Удалить в окне DVD-привода.
  6. Нажмите ОК.

Для повторного добавления:

Вывод

В этом руководстве мы рассмотрели лучшие варианты, доступные для сортировки Hyper-V без применения изменений на жестком диске. Мы надеемся, что вы нашли это руководство полезным.

Пожалуйста, не стесняйтесь сообщить нам, если это руководство было полезно для вас, оставив комментарий.

Читайте также: