Виртуализация - изучаем операционные системы

Виртуализация и виртуальные машины
Книга о работе с программами виртуализации


Введение

править

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

  1. Знакомство с разными ОС. Благодаря использованию программ для виртуализации можно опробовать новые операционные системы, перед непосредственной установкой их на компьютер. Это безусловно важный шаг при, например, переходе c Windows на Linux, так как новичку может быть сложно приспособиться к новой системе.
  2. Безопасность. Программы, запущенные на виртуальной машине, теоретически, не могут выбраться за пределы виртуальной операционной системы, благодаря чему можно проверять подозрительные файлы без вреда основной ОС.
  3. Тестирование программ. Разработчикам часто приходится проверять работоспособность на какой-то определенной платформе, а виртуализация идеально помогает выполнить тестирование почти на любой возможной платформе.
  4. Оптимизация ресурсов серверов. Виртуализацию часто используют для более рационального использования ресурсов серверов.
  5. Запуск старых программ. Некоторые старые программы могут не запускаться на более новых операционных системах.
  6. Проведение экспериментов. Виртуализация позволит ответить на вопросы по типу «Что будет, если...?» (например: «Что будет, если удалить такой-то файл?») без вреда для основной ОС. Система снимков состояния виртуальной машины позволит легко восстановить её до рабочего состояния.

Терминология

править

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

  • Хостовая ОС ― операционная система, которая запущена на физическом (хостовом) компьютере. В ней запускается программа виртуализации с виртуальной машиной.
  • Хостовой компьютер — физический компьютер, на котором запущена хостовая ОС.
  • Гостевая ОС ― операционная система, которая работает в виртуальной машине.
  • Виртуальная машина (ВМ) ― среда в которой находится гостевая ОС и которая создаётся программой виртуализации.

Проще говоря, в хостовой ОС запускается программа виртуализации, которая, в свою очередь, запускает виртуальную машину с гостевой ОС.

Программы виртуализации

править

Со своей целью мы определились. Теперь приступим к выбору программ виртуализации. Вы можете выбрать программы из списка наиболее популярных программ виртуализации. Мы же в этом учебнике будем использовать наиболее популярную для целей виртуализации программу — VirtualBox (далее — VB). Её основное преимущество — простота и функциональность. К тому же, она лицензирована под GPL и является бесплатной. Скачать её можно на официальном сайте.

Также, помимо VirtualBox, есть и другие программы виртуализации. Например, VMware.

Решение проблем

править
  • Если возникнут проблемы с запуском машины ― убедитесь в том, что в BIOS/UEFI хостового компьютера включена виртуализация. Если она отключена, включите её.
  • Если не получается запустить только что созданную виртуальную машину (Kernel driver not installed (rc=-1908)), то выключите Secure Boot в BIOS/UEFI.

Установка и настройка VirtualBox

править
 

Итак, давайте настроим наш VB, открыв настройки:

  1. В общих настройках выберите отдельную удобную папку, где будут храниться все ваши виртуальные машины. Также рекомендуем создать отдельную папку для хранения образов ОС. (Например: на Windows C:\vm\VMs для виртуальных машин и C:\vm\OSes для образов ОС.)
  2. В настройках языка выберите удобный для вас язык интерфейса.

Немного об образах ОС

править

Операционные системы (или, сокращённо, ОС) обычно поставляются в формате файла образа диска (.iso). Именно их мы и будем использовать для создания виртуальной (гостевой) ОС. Скачивать эти образы настоятельно рекомендуется с официальных сайтов. Например, скачать официальный образ Windows 10 можно на этой странице официального сайта Microsoft.

Также стоит проверить хеш-сумму образа. Это позволит убедиться в том, что образ скачан корректно, а также в его безопасности. Хеш-сумма — это результат работы хеш функции. То есть, при изменении файла, его хеш-сумма будет изменяться и, таким образом, мы сможем проверить: не подменили ли скачанный образ. Обычно хеш-суммы можно найти на официальных сайтах разработчиков образов. Обычно используются алгоритмы шифрования MD5, SHA-256 (наиболее популярен) и другие. Предположим, что разработчик оставил хеш-сумму скачанного образа Linux.iso 966fead51235cb4f0cd023506d538df1eeecedf1b06971e12eac4b92c862fa2b.

В Linux мы можем запустить вот такую команду для проверки хеш-суммы:

sha265sum Linux.iso

Если образ скачан корректно и не подменён, то получим точно такую же хеш-сумму, что и на сайте разработчика:

966fead51235cb4f0cd023506d538df1eeecedf1b06971e12eac4b92c862fa2b Linux.iso

Аналогично в Windows:

certutil -hashfile Linux.iso SHA256

Создание виртуальной машины

править

Итак, теперь давайте приступим к созданию виртуальной машины. Для этого нажмите кнопку «Создать» в верхней части окна. (Кнопка «Добавить» предназначена для импорта уже имеющейся машины.)

Выбор ОС и ОЗУ

править
  1. Выберите желаемое имя. Программа может по названию подобрать сразу тип гостевой ОС, что достаточно удобно.
  2. Выберите желаемую папку (по умолчанию будет выбираться папка из настроек), где будут хранится файлы нашей виртуальной машины. Обращайте внимание на путь — VirtualBox любит создавать ВМ в общей папке, из-за чего может начаться бардак в ваших файлах в основной ОС.
  3. Установите (включите) флажок «Пропустить автоматическую установку». Это позволит нам вручную установить ОС, что очень полезно для ознакомления. Пункты выбора версии и типа ОС станут недоступны.
  4. Выберите объём ОЗУ: ОЗУ (оперативную память) следует выбирать в зависимости от системных требований ОС (на ВМ с Windows 10 должно быть 4 ГБ+), от планируемых программ (+1–2 ГБ) и от того, сколько у вас в хостовом компьютере. В целом, ОЗУ ― параметр изменяемый. Заметим также, что лучше не превышать максимума ОЗУ в вашей системе (на хостовом компьютере), так как ОС начнёт использовать раздел (или файл) подкачки, например — swap, что вызовет значительные лаги в системе.

Подготовка жёсткого диска

править

Фактически, программа выделяет на вашем реальном жёстком диске некоторое место, которое становится местом виртуальной машины. При этом это «некоторое место» будет умещаться в один файл, который мы в будущем можем использовать для других виртуальных машин. В меню («Жёсткий диск») мы можем либо не создавать жёсткий диск (что, в целом, бессмысленно), либо создать (мы так и сделаем), либо подключить другой (мы можем использовать диски, которые созданы для других виртуальных машин).

В качестве типа диска мы можем выбрать VDI, если планируем работать только с VirtualBox.

Далее, перед нами стоит выбор — фиксированный или динамический формат хранения. Что это значит?

  • При выборе динамического формата хранения, наш диск будет увеличиваться только по мере необходимости — когда в него будут добавляться файлы. Главное преимущество в том, что если вы изначально задали, например, 100 ГБ в настройках, в действительности он будет занимать гораздо меньший объём (объем, равный объёму реальных файлов этой системы), но учитывайте, что в этом случае система будет работать медленнее, так как будут требоваться ресурсы на его расширение. Если вы просто тестируете ОС и не знаете, сколько вы решите занять места в ходе экспериментов, это идеальный вариант для вас.
  • При выборе фиксированного формата всё будет наоборот: диск займёт выделенные вами 100 ГБ в действительности, но зато наша система будет работать быстрее, так как не будут требоваться ресурсы для его расширения. Данный вариант подойдёт, если вам нужна быстродействующая система и вы приблизительно знаете, сколько места займут ваши файлы.

Заметим, что в общем-то, заметного снижения производительности вы не заметите. Так как цель нашего курса — протестировать ОС, то лучше всего выбрать динамический формат.

Далее нужно указать место, куда будет сохранён файл диска (обычно программа сразу подбирает желаемое место) и размер. Размер зависит от системных требований к выбранной ОС и того, как вы захотите использовать вашу ВМ: обычно выделяют 100 ГБ при динамическом диске. Если вы хотите установить Windows или планируете запускать некоторые внешние программы, то лучше выделить 100–150 ГБ или больше.

Настройка созданной виртуальной машины

править

Мы создали виртуальную машину, но её ещё надо настроить. Для этого нажмём на кнопку «Настроить». Она находится на панели вверху.

  • Во вкладке «Основные» показываются те параметры, которые мы использовали при создании ВМ ― можно изменить, если есть желание или необходимость.
    • Во вкладке «Дополнительно» есть папка для снимков (она обычно удобно размещена в папке нашей ВМ) функция Drag`n`Drop и общий буфер обмена ― о них мы расскажем позже, при работе с машиной.
    • В «Описании» ― описание вашей виртуальной машины (стоит расписать особенности, когда хотите поделиться информацией о машине, но также можно использовать для заметок о машине).
    • В «Шифровании» ― можно зашифровать жесткий диск виртуальной машины (для безопасности файлов, расположенных в вашей ВМ).

Система

править
  • Во вкладке «Материнская плата»:
    • Основная память ― те же настройки ОЗУ, что и при создании ВМ.
    • Порядок загрузки ― опция, подобная такой же опции в BIOS. Компоненты будут загружаться в порядке сверху вниз: если при уже установленной операционной системе на ВМ вы решите вставить диск (фактически, ISO-образ) и поставите загрузку оптического диска на первое место, то система перейдёт в установку с диска.
    • Чипсет — выбор чипсета (PIIX3 или ICH9). При установке Mac OS X в качестве гостевой ОС выберите ICH9. В остальных случаях оставьте PIIX3.
    • TPM — доверенный платформенный модуль. Выберите здесь значение «v2.0», если хотите использовать Windows 11 в качестве гостевой ОС (для неё требуется TMP 2.0). TPM нужен для работы некоторых функций Windows, например, Windows Hello.
    • Манипулятор курсора — тип устройствв, которое будет управлять курсором мыши в ВМ.
    • Дополнительные настройки — другие настройки. Включите некоторые из параметров, если они являются системными требованиями для гостевой ОС. Например, для установки Windows 11 включите флажки «Включить EFI (только специальные ОС)» и «Enable Secure Boot».
  • Во вкладке «Процессор»:
    • Процессоры — здесь нужно выбрать количество ядер процессора, которые будут выделены для ВМ. Изменяйте этот параметр на основе системных требований для гостевой ОС.
    • Предел загрузки ЦПУ — максимальный уровень нагрузки на процессор (в процентах), который будет разрешён ВМ. Рекомендуется оставить этот параметр на «100 %» для лучшей производительности ВМ.
    • Дополнительные возможности — другие параметры.
  • Во вкладке «Ускорение» — выбор интерфейса пара виртуализации и параметры аппаратной виртуализации.

Дисплей

править
  • Вкладка «Экран»:
    • Видеопамять — объём выделяемой гостевой ОС видеопамяти. Понижение этого значения (особенно сильное) может привести к лагам в ВМ.
    • Количество мониторов — кол-во виртуальных мониторов, доступных для ВМ.
    • Коэффициент масштабирования — уровень масштабирования изображения на виртуальных мониторах.
    • Графический контроллер — тип графического контроллера для ВМ.
    • Дополнительные возможности — включение 3D-ускорения.
  • Вкладка «Удалённый доступ» — настройка удалённого доступа к ВМ. Нам это не требуется, так что эту вкладку пропускаем.
  • Вкладка «Запись» — параметры видеозаписи содержимого экрана ВМ.

Носители

править

Этот раздел настроек позволяет управлять дисками, которые подключены к ВМ. Здесь можно подключить, например, диск (ISO-образ диска) с установщиком ОС.

В колонке «Носители» расположено дерево подключённых к ВМ виртуальных дисков. При выделении щелчком ЛКМ по диску, в правой колонке появятся дополнительные параметры диска или контроллера.

Этот раздел настроек позволяет включить звук в ВМ. Рекомендуем оставить флажок «Включить аудио» включённым, чтобы ваша ВМ могла воспроизводить звуки.

  • Аудио драйвер — выбор звукового драйвера.
  • Аудио контроллер — выбор контроллера звука.
  • Дополнительные возможности:
    • Включить аудио выход — включить/выключить подачу звука из ВМ на колонки (или другие устройства вывода звука, например, наушники).
    • Включить аудио вход — включить/выключить подачу звука с физического микрофона, подключённого к компьютеру, в ВМ.

Здесь можно изменить параметры подключения к Сети (обычно, к Интернету). Можно изменить настройки сетевых адаптеров.

Если вам нужно подключение к Сети в ВМ, оставьте флажок «Включить сетевой адаптер» включённым. Для отключения доступа ВМ к Сети, отключите этот флажок.

COM-порты

править

В этом разделе можно управлять последовательными (COM) портами, а также включать/выключать их.

Этот раздел позволяет управлять доступом ВМ к физическим USB-портам. Чтобы виртуальная машина могла захватывать подключённые к хостовому компьютеру USB-устройства (например, флеш-накопители), нужно включить флажок «Включить контроллер USB» (по умолчанию он уже включён).

Здесь же можно выбрать контроллер USB. Каждая версия USB является обратно совместимой. Поэтому, лучше выбрать пункт «Контроллер USB 3.0 (xHCI)».

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

Например, вы можете добавить в фильтры свой внешний жёсткий диск с важными файлами, чтобы ВМ его проигнорировала. Тем самым вы сможете избежать потери данных на этом накопителе.

Общие папки

править

Здесь можно управлять общими папками, которые будут доступны ВМ. Для работы этого требуются Дополнения гостевой ОС, о которых мы поговорим позже.

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

Интерфейс пользователя

править

Здесь можно управлять пунктами меню управления ВМ. Эти пункты будут отображаться в окне с ВМ.

Советуем включить все пункты (в верхней части раздела), чтобы иметь возможность детально управлять ВМ.

Ниже расположены дополнительные опции:

  • Визуальный режим — режим отображения окна с ВМ. Рекомендуем выбрать «Полноэкранный». По умолчанию выбран пункт «Оконный». При оконном режиме ВМ отображается в виде окна. В полноэкранном же режиме ВМ будет отображена во весь экран. Это выглядит более приближенно к виду, если бы ОС была запущена на реальном компьютере. Также полноэкранный режим даёт лучшую видимость.
  • Мини тулбар — настройки мини-панели инструментов (мини-тулбара).

Снизу отображаются значки состояния ВМ. Их рекомендуем все включить.


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

При необходимости, в будущем вы сможете изменить значения этих параметров. Обратите внимание, что если ВМ включена, то часть параметров будет недоступна. Для изменения недоступных параметров потребуется выключить ВМ.

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

Запуск виртуальной машины и установка гостевой ОС

править

Давайте запустим нашу ВМ. Попутно мы будем изучать дополнительные аспекты работы с виртуальными машинами в VirtualBox.

Для запуска ВМ нажмите на кнопку «Запустить» со значком в виде зелёной стрелки вправо. Эта кнопка расположена рядом с кнопкой «Настроить». Справа появится сообщение «Включение ВМ...».

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

При полноэкранном режиме виртуальная машина откроется на весь экран. При оконном — в виде обычного окна, как, например, окно Менеджера VirtualBox.

Как только ВМ запустится, сначала на секунду появится заставка VirtualBox.

Далее начнётся загрузка установщика гостевой ОС. По завершению загрузки откроется сам установщик. Для каждой ОС он разный. Приведём пример установки Windows 8.1 (32 бита).

  1. Выбираем язык устанавливаемой ОС, формат времени и денежных единиц и метод ввода.
  2. Нажимаем «Далее» в правом нижнем углу окна установки.
  3. Нажимаем «Установить» в центре экрана.
  4. Появится надпись «Начало установки» внизу экрана. Ждём начала установки. Далее следуем инструкциям на экране (в окне ВМ) (шаги 5+).
  5. Вводим ключ активации продукта.
  6. Выбираем редакцию Windows: «Windows 8.1 Профессиональная».
  7. В окне с Лицензионным соглашением читаем его, далее ставим флажок «Я принимаю условия лицензии» и нажимаем «Далее».
  8. В вариантах установки выбираем «Выборочная».
  9. В окне с выбором диска для установки («Где вы хотите установить Windows?») у нас уже будет выделен единственный раздел — «Незанятое место на диске 0». Так как мы хотим просто установить Windows для тестов, просто нажимаем «Далее». У нас будет только раздел «C:», размер которого будет равен размеру виртуального диска.
  10. Начнётся процесс установки Windows. Будет выполнено копирование файлов, подготовка файлов для установки, установка компонентов, установка обновлений и завершение (установки).
  11. После установки обновлений будет выполнена перезагрузка ВМ. Установщик будет ждать 15 секунд, но также можно нажать «Перезагрузить сейчас» в правом нижнем углу для выполнения досрочной перезагрузки без ожидания.
  12. После перезагрузки появится сообщение «Press any key to boot from CD or DVD...». Это сообщение означает, что для загрузки с CD или DVD (точнее, с ISO-образа) нужно нажать любую клавишу на клавиатуре. Нам нужно продолжить установку, поэтому ничего не нажимаем и просто ждём — через некоторое время начнётся запуск Windows (установщика) и установка продолжится.
  13. Дожидаемся окончания завершения установки.