Как зайти в ubuntu в виртуальной машине

Обновлено: 07.07.2024

VirtualBox — программный продукт виртуализации для операционных систем. Иногда бывают ситуации, когда без операционной системы Windows не обойтись. Можно попробовать использовать wine и запустить то приложение, которое нужно. Но не все из них работают или работают некорректно.

Возможности VirtualBox

Начиная с 4-ой версии Oracle xVM VirtualBox существует в единственной редакции, распространяемой под лицензией GNU GPL с открытыми исходными кодами.

Некоторые дополнительные функции выделены в отдельный пакет Oracle VM VirtualBox Extension Pack, среди которых:

RDP-сервер — позволяет подключаться к виртуальной системе удалённо с помощью любого RDP-совместимого клиента; возможность PXE-загрузки при использовании сетевой карты от Intel.

Пакет Oracle VM VirtualBox Extension Pack распространяется под лицензией PUEL, т.е. его можно использовать бесплатно для личных (некоммерческих) целей.

На данный момент VirtualBox включает в себя следующие возможности:

Нативная x86-виртуализация, не требующая наличия поддержки аппаратных техник Intel VT или AMD-V (которая, однако, может быть включена в настройках). Дружественный пользовательский интерфейс, в том числе и на русском языке (построенный с помощью Qt). Наличие Guest VM Additions для упрощения взаимодействия с хостовыми ОС. Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal). Поддержка дерева сохраненных состояний виртуальной машины (snapshots), к которым может быть произведен откат из любого состояния гостевой системы. Поддержка Общих папок для простого обмена файлами между хостовой и гостевой системами.

Установка VirtualBox

Из репозиториев ubuntu

Для установки необходимо в терминале набрать следующую команду либо нажать специальную кнопку:

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

Из репозиториев Oracle

Версию VirtualBox можно установить с официального репозитория Oracle. На нём находятся более новые версии.

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

Необходимо добавить официальный репозиторий VirtualBox в файл /etc/apt/sources.list . Для этого выполните команду:

Добавим и зарегистрируем в системе ключ репозитория с помощью команды в терминал:

Вы должны увидеть примерно следующий текст в Источниках приложений в „Аутентификации”:

Обновите список пакетов:

Устанавливаем пакет для модулей ядра таких как vboxdrv и vboxnetflt:

Для установки VirtualBox введите:

Если нужна более старая версия: замените virtualbox-6.0 на virtualbox-5.2 для установки версии VirtualBox 5.2

После того как VirtualBox установится, вам нужно добавить вашего пользователя в группу vboxusers. Для этого выполните команду в терминале:

Для применения изменений необходимо завершить сеанс и повторить вход в систему, либо перезагрузиться.

Работа с VirtualBox

Процесс установки гостевой системы на платформе VirtualBox весьма прост и не требует от пользователя дополнительных усилий. При создании виртуальной машины необходимо выбрать:

определить количество выделяемой ей оперативной памяти; создать виртуальный диск (фиксированного размера или динамически расширяющийся по мере его заполнения в гостевой системе).

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

Дополнения гостевой ОС

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

Для Windows

Просто выберите в меню гостевой операционной системы Устройства→Установить дополнение гостевой ОС. Спустя некоторое время в гостевой Windows должен появится диаллог запуска программы. Если этого не произошло - зайдите в CD-ROM и запустите ее вручную.

Во время установки могут появится предупреждения о несовместимости драйверов. Везде соглашайтесь с установкой. После того как программа установится - перегрузите гостевую ОС. После этого появится нормальное разрешение экрана и другие возможности.

Для Ubuntu

Используя диск Guest Additions

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

Используя пакетный менеджер

Рекомендуется что бы версия гостевых дополнений совпадала с версией virtualbox

Расшаривание директорий

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

Чтобы пользоваться функцией «Общие папки», вы должны установить дополнения гостевой операционной системы.

Нажимаем правой кнопкой мыши по нужной виртуальной машине, выбираем Свойства → Общие папки .

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

А для остальных версий:

Для Windows

Кликнув правой клавишей мыши по значку «Мой компьютер», выбираем пункт «Подключить сетевой диск».

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

имя_папки - то самое имя, которые Вы дали расшаренной директории.

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

Для Ubuntu

В свойствах расшаренной директории в настройках virtualbox поставить опцию «Автоподключение» и в виртуальной ubuntu добавить пользователя в группу vboxsf командой

Общая папка будет монтироваться при загрузке гостевой ОС и иметь адрес /media/sf_имя

Работа с USB устройствами

Если вы хотите использовать USB устройства в гостевой системе, то делаем несколько простых шагов:

Перед включением поддержки USB обязательно отключите гостевую операционную систему

После того, как вы нажмете на устройство - VirtualBox без предупреждений заберет ресурс и отдаст его гостевой операционной системе. Так что будьте аккуратны с сохранением данных на устройстве, прежде чем отдать его гостевой ОС. Если вы выберите этот пункт еще раз - устройство также без предупреждений отключиться из гостевой cистемы.

Работа с USB 2.0 устройствами

Начиная с версии 4.0, для работы с USB 2.0 устройствами необходимо установить VirtualBox Extension Pack , который можно найти на официальной странице загрузки.

После загрузки, просто запустите его и он автоматически установится.

Убираем меню и строку состояния машины

Иногда более удобно работать с виртуальной машиной в режиме обычного окна (например, чтобы иметь удобный доступ к другим приложениям). В таком случае меню и строка состояния машины занимают рабочее пространство, которое могло бы быть использовано с пользой. Для того, чтобы отключить меню и строку состояния виртуальной машины, воспользуйтесь командой:

Чтобы включить меню и строку состояния:

Создание RAW диска

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

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

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

Стоит отметить, что создание RAW диска недоступно через графический интерфейс. Придется запускать команды в консоли.

Первое, что надо сделать - определиться какой раздел или диск мы отдадим на растерзание виртуальным системам:

и в него пишем следующую строчку

Если доступ нужен любому пользователю, имеющему право запускать виртуальные машины, проще прописать доступ всей группе vboxusers:

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

Перегружаем систему и проверяем:

Теперь все готово к созданию диска. Вводим команду (без sudo):

Все, диск создан.

Теперь при создании виртуальной машины, вместо создания нового виртуального диска, выберите «Использовать существующий», справа от поля ввода нажмите кнопку «Выбрать образ» и укажите путь до созданного vmdk файла (в нашем случае /home/stc/.VirtualBox/HardDisks/sda.vmdk).

Стоит уточнить, что выделенные таким образом в виртуальный RAW диск разделы, будет рассматриваться гостевой системой как отдельные диски, поэтому основная система к нему обращаться не сможет (в каждом разделе будет вся структура диска, с MBR и своей разбивкой на разделы). Именно поэтому при создании таких разделов, не стоит их форматировать и монтировать к основной системе.

Собственно такой метод позволяет экспериментировать на виртуалке с любыми таблицами разделов. На хосте может быть GPT, а виртуалке на выш выбор MBR или тоже GPT (но своя). Важно! Если вы создаете «снимок» состояния системы, это значит, что все изменения в состоянии виртуального диска будут записываться не на диск, а в файл изменений, что снизит быстродействие вашей виртуальной машины. Каждый такой снимок на любом типе виртуального диска по определению будет замедлять операции записи и чтения пропорционально количеству уже существующих снимков.

Сохранение и восстановление RAW дисков

В отличие от обычных образов дисков, которые сохраняются и копируются как обычные файлы основной системы, RAW диск - это реальный раздел на диске, который основная система видит как неформатированный. Поэтому для его сохранения используем команду dd и архиватор, умеющий работать с потоками. Могут подойти bzip2 или 7-zip (7za).

Для создания образа диска надо ввести команду

Не забываем подставлять вместо sda6 имя своего раздела!

Степень сжатия особой роли играть не должна. В примерах у bzip2 стоит максимальное сжатие, а у 7za - слабое. Гораздо больше на качество сжатия будет влиять процедура предварительного удаления лишних данных с виртуального диска и заполнение свободного места определенным символом (обычно нулевым). Сделать это можно специализированными процедурами в соответствующей гостевой системе типа Disk Wiper (windows) или BleachBit (ubuntu).

Для восстановления раздела подойдет команда

Здесь стоит обратить внимание на пару тонкостей.

Во-первых, команда dd достаточно медленная и на копирование, например, 20 GiB диска может уйти около 4 часов. Примерно такое же время потребуется и на восстановление.

Во-вторых, восстанавливать образ можно и не в тот же раздел, что был источником. Для этого настоятельно рекомендуется записать точный размер диска, подглядев его, например, в дисковой утилите. В частности размер того же 20 GiB диска был 21 475 885 056 байт. При создании нового раздела для восстановления следует учитывать, что он должен быть как минимум не меньше оригинала. Лучше, если у вас получится создать раздел ровно такого же размера, как и оригинальный.

И еще: сохранять и восстанавливать образы стоит после того, как доступ к разделу будет предоставлен соответствующему пользователю или группе (см. выше).

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

Некоторые воскликнут: «Но ведь можно поставить две системы в DualBoot или виртуальную машину, с которой можно общаться напрямую!» К сожалению, ни один из этих трёх способов не является панацеей. При использовании первого приходится постоянно скакать между системами, а также он доступен не на всех устройствах (на моём MacBook Pro 2017-ого года поставить нативно Linux — весьма неприятное занятие). Второй также требует работы с двумя разными системами, что может сильно ударить по чувству перфекционизма, а также требует весьма больших мощностей для использования средств по сглаживанию разницы между ними. Про третий же сейчас чуть подробнее расскажу.

Начну с предупреждения о том, что если вам в разработке необходим доступ к графическому интерфейсу, то этот способ не для вас (если пользуетесь Windows, то рассмотрите вариант с WSL. Linux там очень урезанный, зато можно подключить к ней X Window System). Будем подключаться к дистрибутиву на базе ядра Linux, но этот способ можно интерполировать на другие системы. Также замечу, что изначально мною рассчитывалось сделать небольшой туториал для одногруппников, но тема оказалась достаточно интересной, чтобы попытаться превратить её в статью. Поэтому то, о чём я собираюсь говорить может показаться некоторым пользователям Хабра слишком тривиальным.

У меня же возникла потребность в таком решении в виду следующих причин:

  1. Valgrind на MacOS Mojave не работает (на High Sierra он хотя бы компилировался, а -fsanitize мне не нравится).
  2. У моего устройства весьма небольшой объём батареи, в сравнении с моделями 2015-ого года, и ему часто приходится держаться до конца пятой пары.
  3. Не хочется перенастраивать VIM
  4. «Всё, что нас не убивает, делает нас сильнее»

Для начала перейдём на сайт Ubuntu и скачаем установочный образ Ubuntu Server


Можно, в принципе, выбрать и любой другой дистрибутив, даже всемогущий Arch, но мне было лениво.

После чего создаём новую виртуальную машину в вашей любимой для этого программе. На Parallels и VMWare это делается просто и естественно, а на VirtualBox или QEMU придётся покурить мануалы. В случае первых двух рекомендую отключить разные не особо нужные плюшки типа «общих принтеров». Также можете попробовать ограничить производительность виртуальной машины для сохранения энергии, но не переборщите. В противном случае система просто не запустится.


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



Выберите язык и начните установку Ubuntu Server. Вас должен встретить такой экран —
(Да, он просит выбрать язык ещё раз)

Дальше ничего сложного (собственно, и не было). Просто тыкайте «далее» прямо как в Windows. Но, как говорится:


Потом настройте пользователя и запомните его логин (не путайте с полным именем) и пароль.


Также хочу отметить, что установщик попытается скачать дополнительные 66 мегабайт пакетов.

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


После этого всё должно быть готово, однако вы можете попробовать дополнительно настроить подключение по SSH. Для этого отредактируйте с помощью nano или Vim (чтобы из него выйти, наберите :wq) файл /etc/ssh/sshd_config от имени администратора:


Далее нам нужно узнать ip адрес нашего устройства. Для этого нам пригодится команда: Найдите среди вывода программы ваше устройство (иногда его название можно определять в настройках виртуальной машины) и запомните его адрес, помеченный как inet:


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


где «hovushka» и «10.211.55.28» нужно заменить на ваш логин и ip адрес. Далее вас попросят ввести ваш пароль и вуаля! Вы зашли в Ubuntu:


Но на этом веселье не заканчивается! Мы, конечно, настроили подключение, и можем управлять виртуальной машиной, но это весьма бесполезно, так как мы не можем получить так просто доступ к её локальным файлам из родной системы. Конечно, Vim и по SSH прекрасно работает, но всё ещё отличий от простого использования виртуальной машины практически нет.

Я предлагаю поступить более креативно и воспользоваться sshfs. На MacOS он ставится летящей походкой через brew (он попросит сначала поставить FUSE). После этого достаточно ввести команду


где так же следует заменить логин и ip адрес, а "

/SSH" на какую-нибудь удобную для вас директорию. Далее к ней будет примонтирован домашний каталог нашего пользователя из виртуальной машины:


Теперь можно файлами виртуальной системы как угодно распоряжаться из-под хоста и пользоваться привычными программами и приложениями, запуская нужные команды через подключенный по SSH терминал:


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

Один из возможных способов работать в Linux без лишних сложностей вроде установки системы, настроек GRUB и необходимости пользоваться Linux при учёбе - поставить Linux на виртуальную машину, запущенную в вашей любимой ОС.

Oracle VirtualBox - бесплатная виртуальная машина, доступная на Windows, Linux и Mac OS.

Инструкция по установке Ubuntu Linux на VirtualBox

Загрузка нужных файлов и установка

3) В VirtualBox создать новую виртуальную машину, оно попросит выбрать .ISO образ инсталляционного диска Linux
Внимательно прочитайте все окна, которые выдаёт виртуальная машина!
Для учебных целей достаточно виртуального жёсткого диска 8GB, 512-1024MB виртуальной RAM.

4) Устанавливаете Linux, будто на "обычную" машину; установщик достаточно понятный.
Обязательно запомните пароль root!
Это ещё не всё!

Настройка Ubuntu для эффективной работы

5) После установки виртуальной машины в меню VirtualBox (сверху) выбираете "Install Guest Additions".
Внутри виртуальной машины появится "вставленный компакт-диск", с него нужно установить дополнения для ОС.

Если автозапуска не происходит, откройте терминал (Ctrl+Alt+T), там введите

затем введите пароль root, который выбрали в пункте 4.

После завершения установки перезагрузите виртуальную машину (из виртуального Linux).

ВАЖНО: процедуру установки Guest Additions необходимо выполнять после каждого обновления ядра гостевой ОС.

6) Установить компиляторы и другие полезные программы (в терминале, Ctrl+Alt+T):

Проверка "я могу компилировать и запускать программы"

Проверим простейший сценарий "написать и запустить helloworld":



8) (Необязательно) Можно сделать выборочные папки основной ОС (напр., Windows) доступной для гостевой (виртуальной) ОС.

Допустим, мы хотим сделать папку C:\vmshare в Windows доступной для гостевого Linux как /home/$USER/shared (где $USER - имя вашего пользователя в Linux).

В настройках/меню виртуальной машины выберите пункт "Устройства > Общие папки" ("Devices > Shared Folders").


Выберите там папку C:\vmshare, укажите " Автоподключение" и " Создать постоянную папку" ( "Auto-mount" и "Make Permanent"):


В гостевой ОС создайте папку /home/myusername/shared

Проверьте что всё работает как предполагается - файлы синхронизируются между ОС.






Ну, что приступим.

Установка VirtualBox.

Переходим по кнопке «Download VirtualBox 5.0»

01

Выбираем VirtualBox для соответствующей системы. В нашем случае для Windows «VirtualBox 5.0 for Windows hosts»

02

Приступаем к установке. Запускаем инсталлятор.

03

Ничего не меняем, устанавливаем по дефолту

04

05

Опять же ничего не меняем. Жмем «Next»

06

Для начала установки жмем «Yes»

07

Галочку оставляем и жмем «Finish». Все установка VirtualBox завершена.

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

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

09

В открывшемся окне в полях:

  • Имя – вписываем название наше виртуальной машины
  • Тип – выбираем Linux
  • Версия – выбираем Ubuntu(32-bit)

10

В следующем окне устанавливаем, выделяемый объем оперативной памяти для нашей виртуальной машины. В моем случае я выделил 2ГБ. Жмем «Next».

11

В следующем окне выбираем «Создать новый виртуальный жесткий диск» и жмем «Создать».

12

В следующем окне указываем тип – VDI и жмем «Next»

13

В следующем окне выбираем «Динамический виртуальный жесткий диск» и жмем «Next»

14

Указываем объем виртуального жесткого диска. Система рекомендует 8ГБ, так и оставим. Жмем «Создать»

15

Все виртуальная машина создана.

16

Теперь можно приступить к установке Ubuntu Server на VirtualBox.

Установка Ubuntu Server на VirtualBox.

Прежде чем приступить к установке Ubuntu. Необходимо скачать сам дистрибутив. Для этого заходим на сайт Ubuntu. Выбираем в меню «Download» пункт «Server»

17

Дальше выбираем «Alternative downloads and torrents»

18

И скачиваем Ubuntu 14.04.2 LTS Server (32-bit)

19

Теперь мы можем приступить к установке Ubuntu.

Вставляем наш, только что скачанный iso в привод нашей виртуальной машины. Для этого в разделе «Носители» жмем по «Оптический привод» и выбираем только, что скачанный образ дистрибутива Ubuntu Server.

20

Вот, что у нас получилось

21

Теперь запускаем виртуальную машину.

Нас попросят выбрать загрузочный диск. Выбираем Ubuntu-14.04.2-server-i386.iso и жмем «Продолжить».

22

Пошла установка Ubuntu. Выбираем язык установки. И жмем «Enter».

23

На следующем шаге выбираем «Установить Ubuntu Server»

24

Дальше установка Ubuntu идет стандартно, никаких фокусов нет. Поэтому я и подробно останавливаться не буду. После установки Ubuntu сразу рекомендую обновить все пакеты и установить mc.

Отлично. Теперь пришло время для настройки сети в Ubuntu.

Настройка сети.

Как я говорил выше, на гостевой системе нам нужен выход в интернет и связь с хостом. Для этого для гостевой системы у нас будет две сетевые карты. В нашем случае eth0 – для связи с хостом, а eth1 – для выхода в интернет. Выход в интернет будет через NAT. Хорошо, настраиваем.

Открываем файл /etc/network/interfaces для редактирования под рутовыми правами. Я делаю, так:

  • Открываю mc под рутом, команда sudo mc
  • Перехожу в нужный каталог
  • И открываю файл на редактирование F4

25

Редактируем файл следующим образом:

Вот как, получилось:

26

Отлично, теперь выключаем виртуальную машину. И переходим к настройкам VirtualBox.

Для этого открываем в меню «Файл» пункт «Настройки». Выбираем «Сеть». Во вкладке «Сети NAT» ничего не меняем. А вот во вкладке «Виртуальные сети хоста» выбираем «VirtualBox Host-Only Ethernet Adapter» жмем на кнопку редактирования.

27

Во вкладке «Адаптер» в поле «IPv4 адрес» прописываем адрес 192.168.100.1, в поле «IPv4 маска сети» прописываем 255.255.255.0. Во вкладке «DHCP сервер» отключаем DHCP сервер, убрав галочку с «Включить DHCP сервер». Жмем «Ok».

28

Таким образом мы настроили сам VirtualBox. Теперь надо настроить саму виртуальную машину.

Для этого жмем правой кнопкой мыши по виртуальной машине и выбираем «Настроить». Переходим в пункт «Сеть». И во вкладке «Адаптер 1»:

  • Включаем сетевой адаптер
  • Тип подключения выбираем «Виртуальный адаптер хоста»
  • Имя выбираем «VirtualBox Host-Only Ethernet Adapter»
  • Все остальное оставляем без изменений

29

Переходим во вкладку «Адаптер 2»:

  • Включаем сетевой адаптер
  • Тип подключения выбираем «NAT»
  • Больше ничего не трогаем

30

Жмем «Ok». Все мы с Вами настроили сеть для работы с гостевой системой Ubuntu Server из нашей Windows 10, а также настроили выход в интернет для самой гостевой системы. Давайте проверим. Запускаем нашу виртуальную машину.

Проверяем запустились ли наши интерфейсы. Для этого вводим команду

Так, интерфейсы поднялись:

31

Проверяем интернет, запустим пинг

Пинг идет – интернет есть.

32

Теперь проверим доступность Ubuntu Server с нашего хоста. Вызываем в Windows 10 командную строку, для этого жмем Win+R и вводим cmd, жмем Enter. В открывшемся окне запускаем пинг на адрес 192.168.100.100:

33

Как видите все работает.

Закючение.

В данной статье мы с Вами установили VirtualBox на Windows 10, затем создали виртуальную машину, на которую установили гостевую систему Ubuntu Server. Настроили VirtualBox, виртуальную машину и Ubuntu Server таким образом, что гостевая система имеет доступ в интернет, а также из основной системы мы имеем доступ к гостевой ОС.

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