Установка linux на флешку через virtualbox

Обновлено: 05.07.2024

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

Установка Linux на VirtualBox достаточно проста и не требует много знаний. Нужно только выбрать подходящие параметры, настроить жесткий диск и пройти процесс установки, как и при установке обычной системы. В одной из предыдущих статей мы рассматривали как пользоваться VirtualBox в более общем смысле, в этой же поговорим как установить Linux на VirtualBox.

Установка Linux на VirtualBox

Для того чтобы установить Linux на VirtualBox нам понадобиться несколько вещей:

  • Образ диска с Linux - определитесь какой дистрибутив вы собираетесь устанавливать и загрузите его образ на официальном сайте, например, Ubuntu или Fedora. Также обратите внимание на архитектуру образа, если у вас 32 битная основная система, то вряд ли у вас получиться запустить 64 бит гостевую;
  • Установленная виртуальная машина - VirtualBox, это кроссплатформенная программа, которая может работать не только в Linux, но и в Windows и MacOS. Поэтому вы можете запускать Linux в любой операционной системе. Для большинства из них можно скачать установщик VirtualBox на официальном сайте программы;
  • Компьютер с поддержкой аппаратной виртуализации - конечно, вы можете запускать виртуальные машины и без поддержки аппаратной виртуализации, но они будут работать в разы медленнее. Большинство современных процессоров поддерживают AMD-V или Intel-VT-X. Посмотрите нельзя ли включить такую возможность в вашем BIOS.

Если у вас все это поддерживается мы можем перейти к созданию виртуальной машины. Запустите VirtualBox и нажмите кнопку создать:


Следующий шаг - нужно выбрать количество оперативной памяти для вашей машины, но умолчанию VirtualBox предлагает количество памяти в зависимости от используемой машины, но для современных дистрибутивов будет достаточно 2 Гб, это нужно для более плавной и удобной работы, хотя система будет работать и при 1024 Мб и даже меньшем объеме.

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

Сначала выберите "Создать новый виртуальный жесткий диск", затем выберите тип диска:

Виртуальная машина почти готова, но нужно еще кое-что настроить. По умолчанию VirtualBox выделяет 16 мегабайт оперативной памяти для машин, но современным дистрибутивам этого мало, поэтому нажмите "Настройки", а затем на вкладке "Дисплей" установите значение видеопамяти в 128 мегабайт. Этого уже должно хватить. Кроме того, отметьте галочку 3D ускорения:

Еще нас будет интересовать раздел "Система", вкладка "Материнская плата", здесь нужно выбрать чипсет " ICH9", Linux работает с ним лучше, также отметьте галочки часов в UTC.

На вкладке "Процессор" нужно отметить использовать "PAE/NX", и не выбирайте много процессоров, одного ядра будет достаточно. В разделе "Ускорение" отметить все галочки и выбрать ваш гипервизор, в Linux лучше всего использовать KVM:

Дальше запускайте виртуальную машину:

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

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

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

Но после завершения установки есть еще несколько настроек. Во-первых - вам нужно установить дополнения гостевой ОС Ubuntu или для другого выбранного вами дистрибутива. Процесс везде одинаковый. Также, если вы используете Ubuntu, нужно включить облегченный режим Unity, чтобы все работало быстрее. Для этого выполните:

gsettings set com.canonical.Unity lowgfx true

На всякий случай, команда для отключения этого режима:

gsettings set com.canonical.Unity lowgfx false

Эти команды работают в Ubuntu 17.04, в более ранних версиях такой режим можно включить только через CompizConfig. Теперь установка Linux на VirtualBox полностью завешена и система готова к использованию.

Выводы

В этой статье мы рассмотрели как установить Linux на VirtualBox, как видите, это совсем не сложно и будет очень полезным для новичков, которые хотят протестировать новую операционную систему или же для пользователей, которые часто устанавливают новые дистрибутивы. А вы используете VirtualBox? Для чего? Часто тестируете системы в виртуальных машинах? Напишите в комментариях!

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление

Linux на USB

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

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

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

Кстати, если вас интересует работа с Windows на USB, то смотрите статью «Как установить Windows на USB диск».

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

Кстати, именно с возможных проблем давайте и начнём.

БИОС и EFI

БИОС и EFI — это разные варианты загрузчиков. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Некоторые компьютеры поддерживают только БИОС, некоторые поддерживают только EFI, некоторые работают с обоими вариантами.

Live образы почти всех современных дистрибутивов Linux — это гибридные диски. Они имеют раздел и для работы с БИОСом, и для работы с EFI. В зависимости от того, что именно обнаружено на вашем компьютере запускается тот или иной вариант.

Причём установщики для БИОС и EFI могут различаться даже визуально. Один и тот же диск, запущенный на компьютере с БИОС:


И этот же диск запущенный на компьютере с EFI:


Имеются отличия в пунктах меню. Но главное отличие — если была запущена версия для БИОСа, то она устанавливает загрузчик GRUB, предназначенный для работы (как можно догадаться) именно с БИОСом. Если же была запущена версия для EFI, то в качестве загрузчика будет выбран GRUB с поддержкой EFI.

Следовательно, при переносе USB флешки/диска с одного компьютера на другой, она может не загрузиться по причине того, что предназначена для работы с EFI, а другая машина не поддерживает это. Или наоборот.

Это первый подводный камень, который у меня занял время пока я разобрался — помните о БИОС и EFI, если также столкнётесь с проблемой, что система не загружается на другом компьютере.

Имя диска Linux зависит от количества дисков на компьютере

Первый диск в Linux обычно называется /dev/sda, второй диск /dev/sdb, третий диск /dev/sdc и так далее. То есть обычно название имеет вид /dev/sdX, где вместо X идёт латинская буква. Названия могут быть другими — зависит от типа подключения, но обычно всё-таки это /dev/sdX. Кстати, разделы диска называются также как и сам диск, но ещё добавляется цифра. Например, первый раздел первого диска имеет имя /dev/sda1.

Поскольку буква зависит только от порядкового номера диска, то при переносе на другой компьютер, имя диска может поменяться. Например, у вас диск с Линукс был вторым и назывался /dev/sdb, а на другом компьютере это третий диск и он называется /dev/sdc.

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

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


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

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


Обратите внимание на строку, начинающуюся с linux. В моём случае там присутствует запись

Поскольку при установке в виртуальном компьютере кроме флэшки не было других медиа, то ей было присвоено имя /dev/sda1. В реальном компьютере имеется ещё минимум один жёсткий диск, и имя /dev/sda1 могло быть присвоено ему. А флэшка, с которой я пытаюсь загрузиться, теперь имеет другое имя. Этим именем может быть /dev/sdb1, или, /dev/sdc1 или другое (в зависимости от количества дисков в системе).

Если вы не знаете новое имя, то просто перебирайте разные варианты. Переместите курсор на имя диска и поменяйте его на /dev/sdb1. После этого нажмите клавишу F10 и дождитесь загрузки. Если загрузка неудачная, то перезапустите компьютер и поменяйте запись на /dev/sdс1 (и так далее по алфавиту), нажмите F10 и проверьте успешность загрузки.

После успешной загрузки в систему, поменяйте имя загружаемого диска. Например, в моём случае имя диска оказалось /dev/sdс1 (с буквой c). Тогда команда для изменения загрузочного диска будет выглядеть так:

Вместо /dev/sdc подставьте имя вашего диска или флэшки.

Теперь при перезагрузке не будет возникать ошибка.

Как установить Linux на флешку или USB диск из VirtualBox

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

Установка через VirtualBox чуть сложнее, но зато происходит в полностью изолированном окружении. Благодаря этому шансов что-то повредить просто нет.

Первая проблема, с которой вы можете столкнуться: при установке в VirtualBox в качестве загрузчика был выбран обычный БИОС, но новые компьютеры не всегда его поддерживают. То есть это та самая дилемма о которой я говорил чуть выше.

Если у вас современный компьютер, то после создания виртуальной машины, поставьте галочку «Включить EFI (только специальные ОС)»:


Будет выполнена установка с поддержкой EFI. На моём ноуте нет поддержки БИОСа и поэтому система, установленная без этой галочки, просто не запускается — у вас может быть также.

Но вернёмся к самому началу — созданию виртуальной машины. При её создании выберите «Не подключать виртуальный жёсткий диск»:


Остальные настройки на ваше усмотрение. Если вы совсем новичок по работе с виртуальными машинами, то смотрите пример создания в статье «Установка Kali Linux на флэшку или на внешний диск как полноценную ОС».

Затем при запуске виртуальной машины подключите вашу флэшку или ваш USB диск к реальному компьютеру, и затем подключите его к виртуальной машине:


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

Итак, первый вариант

выбираем Ручную разметку диска:


Там могут быть какие-то разделы:


Если они вам не нужны, удалите их все, получится:


Теперь выберите Автоматическую разметку:


Авто — использовать весь диск:



Оставьте как есть, если не знаете как это использовать:


Если ставите с EFI, то будет создана похожая разметка:


Обратите внимание, что раздел ESP должен быть обязательно — без него EFI просто не увидит ваш диск. Это небольшой раздел в FAT32, где размещается загрузчик. По своему усмотрению, можно подредактировать другие разделы, например, я убрал файл подкачки и уменьшил размер диска:


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


Поэтому есть второй вариант.

В самом начале, когда доходим до загрузки, вместо установщика выберите Live Mode. Когда система загрузится в Live режиме, подключите вашу флешку/диск к реальному компьютеру, а затем подключите её к виртуальному, если вы этого не сделали ранее.

Следующей командой проверим имя диска:

Оно должно быть /dev/sda


Сделаем полную очистку флешки /dev/sda. На всякий случай: полная очистка означает, что ВСЕ ДАННЫЕ с флешки будут УДАЛЕНЫ! Обращаю внимание, это мы делаем В ВИРТУАЛЬНОЙ МАШИНЕ. Не делайте так на реальном компьютере, если вы не понимаете, какое имя у вашей флешки — сотрёте первый (скорее всего системный) диск.

Открываем его программой gdisk:

Для перехода в экспертный режим там введите

Затем для удаления GPT введите

Дважды согласитесь, чтобы полностью очистить диск.


Перезагружаем виртуальный компьютер:

При последующей загрузке выберите пункт для установки системы — далее как обычно.

Как установить Linux на флешку или USB диск

Описанным выше способом можно также установить Linux на USB прямо в физическом компьютере, без использования VirtualBox. При этом будьте внимательны, чтобы случайно не перепутать флешку с каким-то внутренним диском и не стереть на нём информацию.

Также помните про название дисков после того, как отключите установочную флешку. Например, на этой фотографии первой идёт установочная флешка (sdb), а за ней внешний USB диск, на который я хочу выполнить установку (sdc):


Если продолжить установку, то затем придётся переименовывать диск в загрузчике. Я поступил проще, отключил компьютер и поменял флешку и диск местами в USB гнёздах, получилось так:


Теперь даже после отключения установочной флешки, USB диск с системой всё равно будет иметь имя sdb и не придётся ничего дополнительно настраивать.

Загрузка Linux с USB из VirtualBox (БИОС)

Кстати, для меня этот метод оказался очень полезным: некоторые системы, например Parrot, после установки не загружаются на физическом компьютере. Проблема решается тем, что я загружаюсь с этого диска через VirtualBox и обновляю систему. После этого система способна загрузиться уже и на физическом компьютере. На аналогичные проблемы (Live система прекрасно работает, а после установки система не загружается) жалуются также некоторые пользователи Kali Linux. Видимо, дело в какой-то несовместимости с железом, которая исправлена в новых версиях ядра.

Загрузка Linux с USB из VirtualBox (EFI)

С EFI в VirtualBox есть свои особенности. Во-первых, нужно начать загрузку с внешнего диска, как это описано в этой статье.

Но загрузка завершиться неудачей:


Причина ошибки в том, что загрузчик VirtualBox EFI не видит файлы .efi для продолжения загрузки ОС.

Вариантов решить эту проблему два:

1) явно указать загрузчику нужные файлы

2) поменять название требуемых файлов на дефолтные — которые загрузчик точно найдёт.

1. Указываем загрузчику файл .efi:

Теперь выполните команду

чтобы увидеть содержимое папки EFI:


Видим там папку parrot, теперь посмотрим, то внутри этой папки:


Итак, видим там файл grubx64.efi. Получается, что файл, который не может найти система, находится по пути \EFI\parrot\grubx64.efi

Открываем файл для редактирования:

И вписываем туда строку (у вас может быть другая, например, \EFI\Manjaro\grubx64.efi или ещё какие-то варианты):

Для выхода из редактора:

После этого система нормально загрузится:


2. Изменяем имена файлов на отказоустойчивые

Как мы только что увидели, файл для загрузки находится по пути /EFI/parrot/grubx64.efi, отказоустойчивым именем, которое система ищет по умолчанию, является /EFI/BOOT/BOOTX64.EFI

Можно открыть этот диск и просто переименовать папку и файл в /EFI/BOOT/BOOTX64.EFI — система загрузится и ни на что другое это не повлияет.

Установка нескольких дистрибутивов Linux на одном USB

Ничего не мешает установить на USB диск второй дистрибутив Linux, а также третий, четвёртый, пятый и так далее.

Процесс всегда примерно одинаковый — из (части) свободного места создаётся новый раздел и на него устанавливается новый дистрибутив.

Загрузчик Linux хорошо определяет соседние системы


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


Могут быть разные нюансы с «дружественными» дистрибутивами. Например, Ubuntu изображает из себя Windows и не хочет устанавливаться на USB. Всё решается подключением диска особым способом как описано в этой статье.

Эта же самая Ubuntu не даёт вручную задать размер диска и занимает всё свободное пространство…


С помощью GParted Ubuntu вылечена от жадности:


В общем если вы хотите сделать «шаг влево шаг вправо», то «дружелюбность» сразу превращается в головную боль.

Почему Linux не загружается с USB

Кроме уже перечисленных вариантов, когда могут возникнуть проблемы, также проверьте, отключены ли у вас в настройках EFI опции Security Boot и Fast Boot.

Железо

  • старайтесь не использовать USB хабы — от них очень много проблем
  • во время установки не шевелите флешки и провода дисков
  • флешки могут отключаться от перегрева — помните об этом

Вам может это пригодиться:

  • внешний USB диск
  • внешний USB SSD диск
  • SATA-USB чехол-переходник
  • карта памяти USB на 64 Гб
  • карта памяти USB на 128 Гб
  • карта памяти USB на 256 Гб

Я себе купил два вот таких SATA-USB переходника. Первый:


А этот я купил в местном магазине (600 рублей), поддерживает только USB 2, заметно медленнее предыдущего, в комплекте приятный чехол. В него я вставил HDD диск (тоже со старого ноутбука):

Прочитал статью Оживление легенды: ставим ОС на Libretto 50 CT
в которой описывается способ №3 установки ОС Linux на HDD из виртуальной машины. И решил предложить другой вариант, как мне кажется более правильный, чем тот, который изложен в статье. Во всяком случае автору статьи, smashrod, советую попробовать. Может быть этот вариант окажется рабочим.

Для решения задачи нам понадобится:
1.работающий компьютер с ОС Linux
2.установленный в этой ОС VMware Server
3.съемный диск, подключенный к рабочему компьютеру

Что нужно сделать:

1.Создать виртуальную машину в VMware по конфигурации приближенную к той, в которой будет работать реальная система. Винт нужно создать IDE, необходимого размера, не резиновый, цельный.
2.Разбить виртуальный hdd на разделы, установить систему.
3.Далее нам понадобятся сведения о конфигурации винта в виртуальной системе. Для этого нужно выполнить команду в консоли: sudo fdisk -ul /dev/sda, где /dev/sda имя винта в системе. Важно заметить, что ключ «u» следует указывать обязательно, он переводит единицы измерения границ разделов из цилиндров в секторы.

Результат выполнения команды будет примерно таким:

Диск /dev/sda: 74.3 ГБ, 74355769344 байт
255 heads, 63 sectors/track, 9039 cylinders, всего 145226112 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0x23e223e1

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 63 530144 265041 82 Linux своп / Solaris
/dev/sda2 * 530145 16996769 8233312+ 83 Linux
/dev/sda3 16996770 145211534 64107382+ 83 Linux

Более всего нас интересует третья колонка в таблице разделов — смещение начала раздела (в секторах). На ее основе вычислим смещение в байтах. Сделаем это для корневого раздела /dev/sda2: смещение начала = 530145 секторов, размер сектора = 512 байт. Считаем:

echo $((530145*512))
271434240
где: 271434240 — это и есть смещение начала раздела /dev/sda2 в байтах

4.Затем корректно завершаем работу виртуальной машины, создаем в ее каталоге новый подкаталог vmroot и монтируем в него виртуальный винт:
mount -t ТИП -o ro,loop,offset=271434240 hda.img ./vmroot
где: ТИП — тип файловой системы; 271434240 — смещение начала раздела (см. выше)
5.Подключаем съемный hdd к реальной системе, разбиваем его на разделы, такие же как и на виртуальном и в том же порядке, форматируем, затем примонтируем этот hdd в систему.
6.Переходим в подкаталог vmroot и копируем:
cp -axv ./bin ./home ./sbin ./sys ./usr ./boot ./etc ./lib ./opt ./root ./srv ./var /dev/съемный диск
7.Заходим в новую систему:
chroot /mnt/съемный диск
8.Правим /etc/lilo.conf и /etc/fstab
9.Далее нужно восстановить загрузчик lilo
/sbin/lilo
lilo -r /mnt/hdd

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

rufus

Начиная с версии Rufus 3.7, приложение начало постоянную поддержку полноценного раздела для Debian и Ubuntu, что позволяет пользователям создавать постоянные хранилища Live USB, как Debian так и Ubuntu Live ISO, которые созданы после 1 – го августа 2019 года

Rufus является популярным бесплатным и графическим инструментом с открытым исходным кодом для создания загрузочных USB-накопителей из Windows. Его можно использовать для создания не только загрузочных дисков Windows из файлов ISO или образов дисков, но и для создания загрузочных USB-дисков Linux из Windows.

Это приложение может создавать постоянные Live диски, которые работают как в режиме UEFI (MBR или GPT), так и в режиме BIOS, при этом для раздела постоянного хранения используется casper-rw, поэтому его размер может превышать 4 ГБ.

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

Экспериментальная поддержка постоянных разделов была впервые добавлена ​​в этот загрузочный инструмент для создания Live USB в Windows версии 3.6, но похоже она работала некорректно, так как когда я тестировал любые изменения, внесенные в Live USB, они не сохранялись после перезагрузки. Однако, с последней бета-версией Rufus 3.7, функция постоянных разделов работает (я протестировал ее на KaliLinux). Но она поддерживает не все дистрибутивы Linux.

В примечаниях к выпуску Rufus 3.7 упоминается, что в этом выпуске поддержка постоянных разделов завершена (поэтому она больше не является экспериментальной) для Debian и Ubuntu. Что касается Ubuntu, функция персистентности работает только с ISO-образами Ubuntu 19.10 Eoan Ermine и новее. Причиной этого является ошибка, из-за которой постоянно происходят нарушения в casper-rw разделах, при изменении порядка последовательности монтирования, которая была исправлена только недавно.

Стоит отметить, что все это работает не только с Ubuntu 19.10, но также с Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Budgie и т. д.


Для создания постоянного хранилища USB для Debian или Ubuntu с использованием Rufus 3.7 или более поздней версии выберите ISO-образ, и у вас сразу-же появится новая опция “Постоянный размер раздела” со слайдером, позволяющим установить постоянный размер раздела. Значение 0 отключает постоянное хранилище, а любое значение большее 0, включает постоянное хранилище.

Прочтите: VirtualBox 6.1.28 выпущен с начальной поддержкой ядер Linux 5.14 и 5.15

Вам просто нужно нажать кнопку “Старт”, а программа все сделает сама.

После того, как программа завершит запись, перезагружаем компьютер, и загружаемся с флешки.


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


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

Откроется новое окно, в котором нужно выбрать русскую локализацию


Для выбора нажмите “Пробел”, и “Enter”. После этого перезагрузите компьютер, и все станет на свои места


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

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