Hyper v virtualbox ошибка

Вчера написал про виртуальные машины, параллельно тестируя их. С утра же, когда устанавливать операционные системы, оказалось, что в VirtualBox вылетает ошибка «Не удалось открыть сессию для виртуальной машины». Код ошибки на скриншоте ниже. Дескать не поддерживается технология виртуализации. Проверил ещё раз настройки BIOS для надёжности — всё в порядке. Настройки VirtualBox и виртуальной машины так же в норме. Оказалось, что просто конфликтуют две программы, а точнее Hyper-V от Microsoft забирал виртуализацию на себя. Решается эта проблема удалением Hyper-V.

Конфликт Hyper-V и VirtualBox. Ошибка «Не удалось открыть сессию для виртуальной машины» 1

Итак, ошибка вот такая:

Конфликт Hyper-V и VirtualBox. Ошибка «Не удалось открыть сессию для виртуальной машины» 2

Удаляем Hyper-V:

Нажимаем Win + R, вводим OptionalFeatures и нажимаем Enter. Или же открываем:

Панель управления ➝ Все элементы панели управления ➝ Программы и компоненты ➝ Включение и отключение компонентов Windows

В открывшемся окне Компоненты Windows снимаем отметку с раздела Hyper-V.

Конфликт Hyper-V и VirtualBox. Ошибка «Не удалось открыть сессию для виртуальной машины» 3

Жмём ОК и перезагружаем компьютер. После этого в VirtualBox необходимо создать новую виртуальную машину и можно начинать с ней работать.


Спасибо, что читаете! Подписывайтесь на меня в социальных сетях Facebook, Twitter, VKOK и мессенджерах Telegram и TamTam!

Читайте анонсы и посты целиком в ЖЖ, Medium, Голосе и Яндекс.Дзен!

Поддержите мой блог финансово. Все донаты пойдут на оплату хостинга и развитие сайта!


На сегодняшний день VirtualBox является самой популярной бесплатной платформой виртуализации, однако даже у её приверженцев в какой-то момент может возникнуть желании опробовать другие виртуальные машины, в частности, встроенную платформу Hyper-V. Только вот включивший её пользователь очень вскоре обнаружит, что виртуальные машины на его любимом VirtualBox больше не запускаются, а платформа выдаёт ошибку «Не удалось открыть сессию для виртуальной машины» с кодом E_FAIL (0x80004005).

Ошибка E_FAIL (0x80004005)

Причиной ошибки может быть неудачная запись состояния ВМ в файл VBOX, кривое накопительное обновление самой Windows, отключение виртуализации в BIOS, но в данном случае причина кроется в конфликте VirtualBox с Hyper-V. Восстановить нормальную работу виртуалбокс можно удалив компоненты Hyper-V из системы, только вот как быть, если установленные на эту платформу машины вам всё же нужны? Запускать ВМ на одном ПК с включенными VirtualBox и Hyper-V нельзя, но можно временно отключить штатный компонент виртуализации, не удаляя его.

Делается это элементарно. Запустите от имени администратора командную строку или консоль PowerShell и выполните в ней команду bcdedit /set hypervisorlaunchtype off, а затем перезагрузите компьютер.

bcdedit

Виртуальные машины VirtualBox станут запускаться без ошибок. Чтобы вернуть Hyper-V в рабочее состояние, выполните команду bcdedit /set hypervisorlaunchtype auto и опять же перезагрузитесь.

PowerShell

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

Кроме того, вы можете добавить режим работы системы с Hyper-V и без него в загрузочное меню.

Для этого в запущенной с повышенными правами командной строке (не PowerShell) выполните команду bcdedit /copy {current} /d «Hyper-V отключена». При этом будет создан новый элемент в загрузочном меню, а в консоли отобразится его идентификатор (32-значная строка). Скопируйте её в буфер, замените ею элемент GUID в команде bcdedit /set {GUID} hypervisorlaunchtype off и выполните команду.

Командная строка

Перезагрузившись, вы увидите меню выбора операционной системы.

Меню выбора операционной системы

Первое будет загружать рабочий стол с включенной Hyper-V, второе — без неё.

Загрузка…

Ошибка « Необработанный режим недоступен благодаря Hyper-V ( VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT )» появляется для VirtualBox, когда они пытаются запустить виртуальную машину. У некоторых пользователей эта ошибка возникает, несмотря на то, что на их машинах отключена технология Hyper-V.

При попытке исправить эту ошибку ваша первая остановка — убедиться, что Hyper-V не включен в компонентах Windows. Если он уже отключен, другими потенциальными виновниками могут быть включенная проверка гипервизора, включенная Device Guard (Credential Guard) или какое-то вмешательство, которому способствует функция безопасности Защитника Windows, называемая Core Isolation.

Однако на более старых конфигурациях компьютеров вы также можете увидеть эту ошибку из-за того, что виртуализация оборудования отключена на уровне BIOS или UEFI.

1. Отключите инструменты управления Hyper-V.

Причина номер один, которая вызовет ошибку « Необработанный режим недоступен из-за Hyper-V», — это то, что Hyper-V включен на вашем компьютере. Эта проприетарная технология виртуализации Microsoft позволяет создавать виртуальные машины в системах x86 и x64 под управлением версии Windows естественным образом.

Но ни одна из сторонних альтернатив, таких как VirtualBox или VMware, не использует его по соображениям стабильности. Более того, они специально отказываются работать, когда эта технология включена. Однако Windows 10 теперь запрограммирована на приоритет Hyper-V над аналогичной технологией виртуализации.

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

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

Отключить Hyper-V через графический интерфейс

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите appwiz.cpl и нажмите Enter, чтобы открыть меню « Программы и компоненты» .
  2. Как только вы войдете в меню « Программы и компоненты» , используйте меню справа, чтобы щелкнуть « Включение или отключение функций Windows» на левой панели.
  3. Изнутри функций Windows меню, идти вперед и расширять папку Hyper-V . Затем убедитесь , снимите флажок рядом с Tools Hyper-V Management и Hyper-V платформы , прежде чем , наконец , нажав кнопку OK .
  4. Подождите, пока процедура будет завершена, затем перезагрузите компьютер и посмотрите, будет ли проблема решена после следующего запуска.

Отключить Hyper-V через терминал CMD

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите cmd в текстовое поле и нажмите Ctrl + Shift + Enter, чтобы открыть расширенную командную строку. Когда вы наконец увидите UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить права администратора.
  2. После того, как вам удастся пройти в терминал CMD с повышенными привилегиями, введите или вставьте следующую команду и нажмите Enter, чтобы отключить функцию Hyper-V:
    DISM.exe / Онлайн / Отключить-Функция: Microsoft-Hyper-V
  3. После успешной обработки команды закройте окно CMD и перезагрузите компьютер.
  4. При следующем запуске повторите действие, из -за которого режим Raw был недоступен из-за ошибки Hyper-V, и посмотрите, решена ли проблема.

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

2. Отключить проверку гипервизора.

Как оказалось, вы можете столкнуться с этой проблемой, даже если Hyper-V отключен. Один из популярных сценариев, который может вызвать эту проблему, — это случай, когда для службы HyperVisorLaunchType задано значение AUTO. Это приведет к тому, что ваша система будет проверять приложения, использующие VT-x, перед каждым запуском виртуальной машины.

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

Вот краткое руководство о том, как это сделать на любом компьютере с Windows:

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Затем введите cmd в текстовое поле и нажмите Ctrl + Shift + Enter, чтобы открыть терминал CMD с повышенными правами.

    Примечание. Когда вы перейдете в UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить доступ администратора.

  2. Как только вы окажетесь внутри терминала CMD с повышенными привилегиями, введите следующую команду и нажмите Enter, чтобы проверить состояние HyperVisor:
    bcdedit

    Примечание . Если для состояния hypervisorlaunchtype установлено значение Disabled, пропустите следующие шаги и переходите непосредственно к методу 3 .

  3. Когда результаты будут получены, прокрутите вниз до раздела Hypervisorlaunchtype и посмотрите, установлен ли статус на Авто .
  4. Если статус гипервизора Launchtype показывает Auto , введите или вставьте следующую команду и нажмите Enter, чтобы установить статус Disabled:
    bcdedit / установить гипервизор
  5. После успешной обработки команды закройте терминал CMD с повышенными правами, затем перезапустите хост-машину.
  6. При следующем запуске запустите виртуальную машину VirtualBox и посмотрите, решена ли проблема.

Если проблема не устранена, перейдите к следующему потенциальному исправлению ниже.

3. Отключите Device Guard / Credential Guard.

Другим затронутым пользователям удалось исправить недоступность режима Raw из-за ошибки Hyper-V с помощью Gpedit (редактор локальной групповой политики) для отключения Device Guard (также известного как Credential Guard).

Как выясняется, такая комбинация корпоративного программного обеспечения и служб, направленных на обеспечение безопасности, может в конечном итоге вступить в конфликт с некоторыми функциями VirtualBox VM. Если это является виновником VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT, вы можете легко решить проблему, отключив Device Guard через редактор локальной групповой политики.

Но учтите, что не во всех версиях Windows по умолчанию есть утилиты Gpedit. Windows 10 Home и пара других связанных подверсий не будут включать его. Однако есть шаги, которые вы можете предпринять, чтобы установить gpedit.msc в Windows 10 .

Убедившись, что редактор локальной групповой политики доступен в вашей версии Windows, вот краткое руководство по отключению защиты устройства:

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Затем введите gpedit.msc и нажмите Enter, чтобы открыть редактор локальной групповой политики .

    Примечание. Если появится запрос UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить права администратора.

  2. Как только вы окажетесь в редакторе локальной групповой политики, используйте левое меню, чтобы перейти к следующему месту:
    Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Система> Device Guard
  3. После того, как вам удастся добраться до нужного места, перейдите в правый раздел утилиты Gpedit и дважды щелкните Включить безопасность на основе виртуализации .
  4. Как только вы окажетесь в окне « Включить безопасность на основе виртуализации» , просто измените статус на « Отключено» и нажмите « Применить», чтобы сохранить изменения.
  5. После того, как вам это удастся, НЕ перезагружайте компьютер. Вместо этого откройте командную строку с повышенными привилегиями, нажав клавиши Windows + R , введите « cmd » и затем нажмите Ctrl + Shift + Enter .

    Примечание. Когда вы увидите запрос UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить разрешение администратора терминала CMD.

  6. Внутри окна CMD вставьте следующие команды и нажимайте Enter после каждой, чтобы удалить связанные переменные EFI, которые все еще могут вызывать эту проблему:
    mountvol X: /s copy %WINDIR%System32SecConfig.efi X:EFIMicrosoftBootSecConfig.efi /Y bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "EFIMicrosoftBootSecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: mountvol X: /d copy %WINDIR%System32SecConfig.efi X:EFIMicrosoftBootSecConfig.efi /Y bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "EFIMicrosoftBootSecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: mountvol X: /d 

    Примечание. Имейте в виду, что X — это неиспользуемый диск. Отрегулируйте значение соответствующим образом.

  7. После успешной обработки каждой команды перезапустите хост-компьютер и посмотрите, будет ли проблема решена при следующем запуске.

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

4. Отключите изоляцию ядра в Защитнике Windows.

Как оказалось, за эту проблему также может быть ответственна функция безопасности антивируса по умолчанию. В Windows 10 Защитник Windows имеет функцию Core Isolation — это, по сути, дополнительный уровень безопасности на основе виртуализации, предназначенный для отражения более изощренных атак.

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

Несколько затронутых пользователей, которые также столкнулись с ошибкой « Необработанный режим недоступен из-за Hyper-V» , подтвердили, что они, наконец, смогли решить проблему, применив некоторые изменения, которые позволили им отключить изоляцию ядра из меню настроек Windows Security. .

Вот краткое руководство по отключению Core Isolation в меню настроек Защитника Windows:

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите « ms-settings: windowsdefender » в текстовое поле и нажмите Enter, чтобы открыть вкладку «Безопасность Windows» (ранее «Защитник Windows») в приложении « Настройки» .Диалог запуска: ms-settings: windowsdefender
  2. Зайдя на вкладку « Безопасность Windows », перейдите в правый раздел и нажмите « Безопасность устройства» в разделе « Защита» .
  3. Затем прокрутите список доступных параметров и щелкните Сведения об изоляции ядра (в разделе Изоляция ядра ).
  4. В меню изоляции ядра убедитесь, что переключатель, связанный с целостностью памяти, установлен в положение « Выкл» .
  5. После того, как изменение вступит в силу, перезагрузите компьютер и посмотрите, будет ли проблема устранена при следующем запуске.

Если переключатель, связанный с изоляцией ядра, неактивен или вы получаете сообщение об ошибке при попытке установить его в положение ВЫКЛЮЧЕНО, вот краткое руководство по достижению того же результата с помощью редактора реестра:

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно « Выполнить ». Затем введите «regedit» в текстовое поле и нажмите Enter, чтобы открыть редактор реестра. Затем нажмите Да в UAC (запрос учетной записи пользователя), чтобы предоставить права администратора.
  2. В редакторе реестра используйте левый раздел, чтобы перейти к следующему месту:
    Компьютер  HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Control  DeviceGuard  Scenarios  CredentialGuard

    Примечание. Вы можете перемещаться туда вручную или опубликовать местоположение прямо на панели навигации и нажать Enter, чтобы сразу попасть туда.

  3. После того, как вам удастся попасть в правильное место, перейдите в правую часть и дважды щелкните по клавише Enabled .
  4. После того, как вам удастся открыть значение Enabled , оставьте основание в шестнадцатеричном формате и измените данные значения на 0 .
  5. Нажмите « ОК», чтобы сохранить изменения, затем закройте редактор реестра и перезагрузите компьютер, чтобы увидеть изменения.
  6. При следующем запуске компьютера повторите действие, которое ранее вызывало код ошибки VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT, и посмотрите, сохраняется ли проблема.

Если проблема все еще не решена, перейдите к следующему потенциальному исправлению ниже.

5. Включите виртуализацию в BIOS или UEFI.

Другая потенциальная причина, которая может вызвать эту проблему, — это случай, когда виртуализация оборудования отключена в настройках BIOS или UEFI. Имейте в виду, что в настоящее время виртуализация включена по умолчанию на каждом новом оборудовании, в старых конфигурациях компьютеров эта опция может быть отключена по умолчанию.

Если у вас более старая конфигурация ПК, вам может потребоваться включить виртуализацию оборудования вручную в настройках BIOS или UEFI. Несколько затронутых пользователей подтвердили, что проблема была полностью решена после того, как они это сделали.

Вот краткое руководство по включению виртуализации в настройках BIOS или UEFI:

  1. Если у вас есть компьютер с питанием от BIOS, запустите его и начинайте нажимать кнопку Setup несколько раз, как только вы увидите экран запуска. В большинстве конфигураций клавиша Setup может быть одной из клавиш F (F2, F4, F6, F8) или клавишей Del .

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

  2. Как только вы войдете в настройки BIOS или UEFI, начните просматривать меню, чтобы найти свою материнскую плату, эквивалентную технологии виртуализации (Intel VT-x, Intel Virtualization Technology, AMD-V, Vanderpool и т. Д.)
  3. When you manage to locate it, ensure that you set it to Enabled.

    Note: In most cases, you will find this option under Processor, Security, Chipset, Advanced, Advanced Chipset Control or Advanced CPU configuration. But keep in mind that your screen might be wildly different from ours depending on the motherboard that you’re using and the CPU manufacturer. In case you’re not able to find the option by yourself, search online for specific steps according to your configuration.

  4. After you manage to enable the virtualization technology, save the changes you made to your BIOS or UEFI settings and restart your computer to allow it to boot normally.
  5. При следующей последовательности запуска повторите действие, которое вызывало ошибку « Необработанный режим недоступен из-за Hyper-V», и посмотрите, решена ли проблема.

Если проблема не устранена, перейдите к следующему потенциальному исправлению ниже.

Если вы использовали гипервизор Hyper-V и в какой-то момент решили установить VirtualBox, то при запуске виртуальной машины столкнетесь с ошибкой «Не удалось открыть сессию для виртуальной машины»:

Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED).

Код ошибки: E_FAIL (0x80004005)
Компонент: ConsoleWrap
Интерфейс: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Решить это можно, удалив компоненты Hyper-V в Windows: Панель управления — Программы и компоненты — Установка и удаление компонентов. Однако, если виртуальные машины Hyper-V вам нужны, это может быть неудобно.

Для того, чтобы иметь возможность запускать виртуальные машины VirtualBox при установленных компонентах Hyper-V, требуется выключить запуск гипервизора Hyper-V. Для этого запустите командную строку от имени администратора и введите следующую команду:

> bcdedit /set hypervisorlaunchtype off

После выполнения команды перезагрузите компьютер. Теперь VirtualBox будет запускаться без ошибки «Не удалось открыть сессию для виртуальной машины» (однако Hyper-V запускаться не будет).

Чтобы вернуть всё в исходное состояние, используйте команду

> bcdedit /set hypervisorlaunchtype auto

с последующей перезагрузкой компьютера.

Этот способ можно модифицировать, добавив в меню загрузки Windows два пункта: один с включенным Hyper-V, другой — с отключенным. В в командной строке от имени администратора:

> bcdedit /copy {current} /d "Отключить Hyper-V"

Будет создан новый пункт меню загрузки Windows, также в командной строке отобразится GUID этого пункта.

> bcdedit /set {GUID этого пункта меню} hypervisorlaunchtype off

В результате, после перезагрузки Windows 10 или 8, вы увидите два пункта меню загрузки ОС:

/files/blog/429/3.jpg

Поиск:
Web-разработка • Windows • Ubuntu • Linux • Виртуальная машина • VirtualBox • MS Hyper-V • bcdedit

Каталог оборудования

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Производители

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Функциональные группы

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

vb_and_hyper_v_logo

После установки Microsoft Hyper-V Oracle VM VirtualBox при запуске виртуальной машины выдаёт сообщение как на скриншоте ниже.

Ошибка возникает из-за особенностей работы гипервизора от Microsoft с nested virtualization (вложенной виртуализацией).

Современные процессоры поддерживают аппаратные функции, которые делают виртуализацию быстрее и надежнее. Hyper-V использует эти расширения процессора (например, Intel VT-x и AMD-V) для выполнения виртуальных машин. Как правило, после запуска Hyper-V другое программное обеспечение блокируется с помощью этих возможностей процессора. Это предотвращает запуск Hyper-V на гостевых виртуальных машинах.

https://docs.microsoft.com/ru-ru/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

Для совместной, но не одновременной, работы обоих гипервизоров необходимо отключать Hyper-V. Делается это через настройку загрузчика Microsoft Windows — bcdedit.

Запустите командную строку Windows или PowerShell с правами администратора. И выполните команду:

bcdedit /set hypervisorlaunchtype off

Изменения вступят в силу после перезагрузки Windows. Чтобы вернуть в исходное состояние работоспособность Hyper-V выполните команду:

bcdedit /set hypervisorlaunchtype Auto

Изменения по прежнему вступят в силу после перезагрузки Windows.

Для автоматизации переключения состояния Hyper-V я собрал небольшой скрипт для PowerShell. Из-за настроек безопасности Windows выполнение PowerShell скриптов не разрешено. Обходить запрет можно несколькими способами: либо включением возможности выполнения скриптов, либо прибегать к иным способам.

Чтобы включить выполнение скриптов достаточно единожды выполнить в терминале PowerShell команду

Set-ExecutionPolicy Unrestricted

Теперь можно выполнять свои скрипты на PowerShell! Чтобы вернуть настройки выполнения скриптов в исходное состояние выполните команду:

Set-ExecutionPolicy Restricted

Если по каким-то причинам вы не хотите прибегать к данному способу, то попробуйте выполнить приведённый скрипт ниже при помощи нескольких ухищрений. Сохраните скрипт к себе на компьютер. В той директории, в которую вы сохранили скрипт, запустите PowerShell.

TYPE .ваше_название_скрипта.ps1 | PowerShell.exe -noprofile -
PowerShell.exe -ExecutionPolicy UnRestricted -File .ваше_название_скрипта.ps1
PowerShell.exe -ExecutionPolicy Bypass -File .ваше_название_скрипта.ps1

Более обширно о альтернативных вариантах выполнения скриптов в этой статье https://www.securitylab.ru/analytics/461333.php

Скрипт для автоматического включения/выключения Hyper-V.

# Запускайте скрипт с правами администратора!
# Thanks for the solution https://stackoverflow.com/a/31602095

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }

$hypervisor_status = Invoke-Expression "bcdedit /enum" | Select-String "hypervisorlaunchtype"
$reboot_timeout = 300; #Время в секундах до перезагрузки компьютера
$status_message = "Выключаем Hyper-V. Компьютер будет перезагружен через $reboot_timeout секунд.";
$message_displayed = 15; # How long the message will be displayed
$commentary_to_system_journal = @("Включаем Hyper-V","Выключаем Hyper-V");
$reboot_reason = "P:2:4";

If( $hypervisor_status -match "auto" )
{
    Write-Host $status_message;
    Start-Sleep -Seconds $message_displayed;
    bcdedit /set hypervisorlaunchtype off;
    shutdown -r -t $reboot_timeout /c $commentary_to_system_journal[1] /d $reboot_reason;
} Else {
    Write-Host $status_message;
    Start-Sleep -Seconds $message_displayed;
    bcdedit /set hypervisorlaunchtype Auto;
    shutdown -r -t $reboot_timeout /c $commentary_to_system_journal[0] /d $reboot_reason;
}

Метки: виртуализация, hyper-v, скрипт, Powershell, scripts, virtualbox, Windows


This entry was posted on 2018/07/19 at 21:54:07 and is filed under Software. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Hyper stark dx650 ошибка е3
  • Hydronic чтение ошибок
  • Hydronic d5ws ошибки
  • Hybrid evo s ошибка радара

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии