Linux для виртуализации windows

Рекомендации по запуску Linux в Hyper-V

область применения: Windows Server 2022, Azure Stack хЦи, версия 20H2; Windows сервер 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 r2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7,1, Windows 7

Этот раздел содержит список рекомендаций по запуску виртуальной машины Linux в Hyper-V.

Настройка файловых систем Linux в динамических VHDX-файлах

Некоторые файловые системы Linux могут потреблять значительный объем свободного места на диске, даже если файловая система в основном пуста. Чтобы уменьшить объем используемого дискового пространства в динамических VHDX-файлах, учитывайте следующие рекомендации.

  • При создании VHDX используйте 1 МБ Блокксизебитес (из 32 МБ по умолчанию) в PowerShell, например:

    Формат ext4 является предпочтительным для ext3, так как ext4 больше пространства, чем ext3 при использовании с динамическими VHDX-файлами.

    При создании файловой системы укажите число групп 4096, например:

    Время ожидания меню GRUB на виртуальных машинах поколения 2

    Из-за того, что устаревшее оборудование удаляется из эмуляции на виртуальных машинах поколения 2, для отображения меню GRUB слишком быстро вычисляется таймер обратного отсчета, и сразу же загружается запись по умолчанию. Пока GRUB не будет использоваться для использования таймера, поддерживаемого EFI, измените /Бут/груб/груб.конф,/т.п./default/grub или эквивалентным параметром «Timeout = 100000» вместо значения по умолчанию «timeout = 5».

    Загрузка PxE на виртуальных машинах поколения 2

    Так как в виртуальных машинах поколения 2 отсутствует таймер «СМОЛой», сетевые подключения к PxE-серверу TFTP можно преждевременно завершить и предотвратить считывание конфигурации GRUB и загрузку ядра с сервера.

    В дистрибутивах Linux, отличных от RHEL 6. x, можно выполнить аналогичные действия, чтобы настроить GRUB v 0.97 для загрузки ядер Linux с PxE-сервера.

    Кроме того, при вводе с помощью клавиатуры и мыши RHEL/CentOS 6,6 не будет работать с предварительно установленным ядром, что не позволит указать параметры установки в меню. Чтобы разрешить выбор параметров установки, должна быть настроена последовательная консоль.

    В файле ефидефаулт на PxE-сервере добавьте следующий параметр ядра «console = ttyS1» .

    На виртуальной машине в Hyper-V настройте COM-порт с помощью этого командлета PowerShell:

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

    Использование статических MAC-адресов с отказоустойчивой кластеризацией

    Виртуальные машины Linux, которые будут развернуты с помощью отказоустойчивой кластеризации, должны быть настроены со статическим MAC-адресом для каждого виртуального сетевого адаптера. В некоторых версиях Linux сетевая конфигурация может быть потеряна после отработки отказа, поскольку виртуальному сетевому адаптеру назначается новый MAC-адрес. Чтобы избежать потери конфигурации сети, убедитесь, что у каждого виртуального сетевого адаптера есть статический MAC-адрес. Вы можете настроить MAC-адрес, изменив параметры виртуальной машины в диспетчере Hyper-V или диспетчер отказоустойчивости кластеров.

    Использование сетевых адаптеров, относящихся к Hyper-V, а не устаревших сетевых адаптеров

    Настройте и используйте виртуальный адаптер Ethernet, который является сетевой картой Hyper-V с повышенной производительностью. Если к виртуальной машине подключены как устаревшие, так и сетевые адаптеры, относящиеся к Hyper-V, сетевые имена в выходных данных команды ifconfig-a могут показывать случайные значения, такие как _tmp12000801310. Чтобы избежать этой проблемы, удалите все устаревшие сетевые адаптеры при использовании сетевых адаптеров, связанных с Hyper-V, в виртуальной машине Linux.

    Для повышения производительности дискового ввода-вывода используйте планировщик заданий (NOOP/None)

    Ядро Linux предлагает два набора планировщиков дискового ввода-вывода для переупорядочивания запросов. Один набор предназначен для более старой подсистемы «BLK», а один — для новой подсистемы «BLK-MQ». В любом случае с современными твердотельными дисками рекомендуется использовать планировщик, который передает решения о планировании в базовый гипервизор Hyper-V. Для ядер Linux, использующих подсистему «BLK», это планировщик «NOOP». Для ядер Linux, использующих подсистему «BLK-MQ», это планировщик «None».

    Для конкретного диска доступные планировщики могут отображаться в этой папке файловой системы:/СИС/класс/блокк/ /куеуе/счедулер с выбранным планировщиком в квадратных скобках. Планировщик можно изменить, записав в это расположение файловой системы. Чтобы сохранить изменения между перезагрузками, необходимо добавить это изменение в скрипт инициализации. Дополнительные сведения см. в документации по дистрибутив Linux.

    Версии ядра Linux ниже 2.6.37 не поддерживают NUMA в Hyper-V с виртуальными машинами большего размера. Эта проблема влияет в основном на дистрибутивы более ранних версий, в которых используется исходное ядро Red Hat 2.6.32, и была исправлена в Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). В системах под управлением модифицированных ядер старше версии 2.6.37 или ядер RHEL старше 2.6.32-504 в командной строке ядра необходимо задать параметр загрузки numa=off в файле grub.conf. Дополнительные сведения см. в статье базы знаний Red Hat 436883.

    Зарезервируйте больше памяти для кдумп

    Если ядро записи дампа завершается с тревогой при загрузке, зарезервируйте больше памяти для ядра. Например, измените параметр crashkernel = 384M-: 128M на crashkernel = 384M-: 256M в файле конфигурации Ubuntu GRUB.

    Сжатие VHDX-файлов или расширения VHD и VHDX может привести к ошибочным таблицам разделов GPT

    Hyper-V позволяет сжимать файлы виртуального диска (VHDX) без учета разделов, томов или структур данных файловой системы, которые могут существовать на диске. Если VHDX-файл сжимается до конца раздела, то данные могут быть потеряны, при этом Секция может быть повреждена, а при чтении секции могут возвращаться недопустимые данные.

    После изменения размера VHD или VHDX администраторы должны использовать служебную программу, например fdisk, или частично обновить структуру разделов, томов и файловой системы, чтобы отразить изменение размера диска. Сжатие или увеличение размера VHD или VHDX с таблицей разделов GUID (GPT) вызовет предупреждение, если для проверки макета раздела используется средство управления секциями, и администратору будет выведено предупреждение об исправлении первого и дополнительного заголовков GPT. Этот ручной этап можно выполнить без потери данных.

    Источник

    Запуск Windows VM под Linux в окне с нативной производительностью


    Looking Glass на домашнем компьютере разработчика

    У многих пользователей под Linux иногда возникает необходимость запустить ОС Windows. Например, для некоторых нативных приложений или игр. Windows можно запустить обычной в виртуальной машине, но за это приходится платить производительностью.

    Разработчик по имени Джеффри МакРэй (gnif) не готов с этим мириться — и поэтому вместе с несколькими единомышленниками несколько лет назад создал приложение Looking Glass для запуска Windows VM под Linux в окне с нативной производительностью. 17 июля 2021 года вышла четвёртая стабильная версия хоста (B4). Если вкратце, Looking Glass позволяет использовать KVM (Kernel-based Virtual Machine), настроенный на сквозной проход сигнала VGA PCI (GPU passthrough) без подключённого физического монитора, клавиатуры или мыши.

    Программа Looking Glass предназначена для использование на локальном компьютере с минимальной задержкой, программа не предназначена для потоковой передачи по сети, а скорее через блок общей памяти. В текущих тестах на частоте монитора 60 Гц можно получить в гостевой системе задержку 16 или менее миллисекунд. Если пользователь не заботится о VSYNC, её можно уменьшить до нескольких (!) миллисекунд.

    В данном случае в роли “Windows host application” выступает дисплейный сервер, который работает в гостевой виртуальной машине. Единственное, что должно быть запущено в ОС Linux — это приложение looking-glass-client , вот инструкция по установке клиента.

    Хост захватывает кадры с гостевой ОС через API, и отправляет их клиенту. Хост может быть на гипервизоре или другой виртуальной машине. Кадры отправляются по протоколу с низкой задержкой через общую память.

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

    В отличие от сетевых потоковых приложений, Looking Glass не использует никаких форм сжатия или преобразования цветового пространства, все кадры передаются клиентскому приложению в 32-битном RGBA без каких-либо преобразований или модификаций. Это возможно благодаря использованию разделяемого сегмента памяти, который обеспечивает высокую пропускную способность при низкой задержке обмена данными между гостем и хостом.

    На данный момент система загружает Windows 10 с любой видеокартой, поддерживающей DXGI Desktop Duplication или NVIDIA Capture API (только профессиональные карты, такие как Quadro).

    На самом деле почти все современные видеокарты поддерживают DXGI. Это можно проверить через DxDiag, проверив наличие поддержки WDDM 1.2 или выше.

    Видеопоток Looking Glass можно добавить как видеоисточник OBS через плагин OBS, который действует как другой клиент Looking Glass. Инструкции по установке см. здесь.

    Looking Glass не поддерживает маршрутизацию аудио. Предпочтительным решением является передача звука через QEMU в аудиосистему хоста. Другим популярным решением является использование Scream, виртуальной звуковой карты, которая передаёт звук по сети. Руководство по настройке scream см. здесь.

    Программа выпущена под лицензией GPL 2.0, исходный код открыт.

    Поговорить с разработчиком можно в канале Discord.

    P. S. По отзывам пользователей, первоначально настроить виртуальную машину сложновато, но потом всё действительно работает с нативной производительностью (разница не более 5%) без сбоев, включая Windows Update, обновления драйверов, почти все онлайновые игры и т. д. В виртуальной машине нормально работают античиты PUBG, Battlefield 1/3/4/5, Titanfall 1&2, Arma 3, 7 Days to Die, Ark, Fortnite, Apex, Halo: The Master Chief Collection, Star Wars Squadrons и др.

    Источник

    Как работать с Linux используя Windows

    Если вы только начали свой путь разработчика и до сих используете операционную систему семейства Microsoft Windows, то уже наверняка столкнулись с ситуацией, когда ваш инструментарий отличается от того, что установлено у большинства людей из этой профессии. Чаще всего проблемы начинаются при работе в командной строке. Дело в том, что Windows не является POSIX-совместимой операционной системой, поэтому в ней отсутствует базовый набор прикладных программ, который необходим для разработки.

    Этот вопрос можно решить установкой какого-либо из многочисленных дистрибутивов Linux в качестве основной, либо альтернативной операционной системы. Для новичков есть способ проще и быстрее — технологии виртуализации. Об этом и поговорим.

    Ubuntu из Microsoft Store

    Если вы работаете на Windows версии 10 с архитектурой x64, то можно можно воспользоваться встроенным решением и установить слой совместимости (Windows Subsystem for Linux) на основе Ubuntu Linux через магазин приложений Microsoft Store.

    Перед тем как начать, необходимо убедиться, что системные требования соответствуют рекомендованным. Для этого запустите приложение Microsoft Store, введите в графе поиска Ubuntu и перейдите по найденной ссылке. Если ранее Windows не обновлялся, то вероятней всего вы получите соответствующее указание сделать это до начала установки Ubuntu. Если всё OK, то нажимайте на кнопку «Получить» и через несколько минут (в зависимости от скорости интернет соединения) вы получите сигнал об успешной установке приложения.

    Первый запуск может вызвать ошибку Error: 0x8007007e и предложение прочитать инструкцию по её решению https://aka.ms/wslinstall. Если хотите сэкономить время, то просто запустите PowerShell (не путать с cmd ) от имени администратора и выполните следующую команду:

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

    Преимущество такого способа установки позволяют стереть грань между операционными системами и получить доступ ко всему инструментарию Linux ( bash , ssh , git , apt и так далее) из стандартной командной строки Windows не теряя привычное окружение и оставаясь на одном файловом уровне.

    Ссылки на официальную документацию:

    VirtualBox

    Если вы работаете на Windows версии ниже 10 или хотите получить изолированную операционную систему Linux, да ещё и с графическим окружением, то можно воспользоваться сторонним бесплатным программным продуктом под названием VirtualBox.

    Инсталлятор Oracle VM VirtualBox для Windows Hosts
    Ссылка на скачивание: Download Oracle VM VirtualBox

    Образ операционной системы Ubuntu Linux в формате ISO
    Ссылка на скачивание: Download Ubuntu Desktop

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

    Нажимаем кнопку «Создать», выбираем из списка тип операционной системы «Linux», если нет своих предпочтений по дистрибутиву, то выбираем версию «Ubuntu» 32 или 64 битной архитектуры, а название можно ввести любое.

    Указываем объём оперативной памяти выделенной под виртуальную систему. Рекомендованный объём составляет 1024 MB.

    Указываем объём дискового пространства выделенного под виртуальную систему. Рекомендованный объём составляет 10 GB.

    Тип виртуального жёсткого диска можно оставить как есть — VDI (VitrualBox Disk Image).

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

    Имя и размер файла можно оставить без изменений и сразу нажать на кнопку «Создать».

    По завершению у вас будет создана виртуальная машина, но она пока без операционной системы. Для того чтобы её установить, нужно скачать Ubuntu Linux (32-bit или 64-bit, в зависимости от того, что было выбрано на шаге, где мы указывали тип ОС).

    Нажатие на кнопку «Запустить» должно привести к появлению диалогового окна с предложением указать путь до скаченного ISO образа. Сделайте этого и нажмите кнопку «Продолжить»

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

    Выберите языковую поддержку в списке слева и нажмите «Установить Ubuntu».

    Можно загрузить обновления сразу на этапе установки.

    Без особых опасений выбираем пункт «Стереть диск и установить Ubuntu» и двигаемся дальше.

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

    Заполните поля и выберите режим входа в систему.

    Далее начнётся процедура разметки диска, переноса файлов, установка обновлений и другие процессы, которые не потребуют прямого участия пользователя.

    По завершению виртуальный компьютер перезагрузится и вы попадёте в уже установленную среду Ubuntu Linux.

    Но это ещё не всё. Весьма желательно установить так называемые «Дополнения гостевой ОС». Они содержат драйверы и прочие системные файлы, необходимые для наилучшей производительности и обеспечения дополнительных функциональных возможностей между виртуальной и гостевой операционными системами.

    Выберите пункт меню «Устройства» программы VitrualBox, подпункт «Подключить образ диска Дополнений гостевой ОС…» и дождитесь предложение запустить приложение для автоматического запуска с виртуального привода.

    Виртуальная ОС Ubuntu Linux установлена и готова к работе.

    Ссылка на официальную документацию: Oracle VM VirtualBox User Manual

    Источник

    Читайте также:  Поиск содержимого find linux
Оцените статью