Linux на флешке: установка и другие подсказки по использованию Linux на USB носителях

Оглавление

1. Linux на USB

2. БИОС и EFI

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

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

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

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

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

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

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

10. Железо


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 и, следовательно, всю систему.

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

The disc contains an unclean file system (0, 0)

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

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

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

root=/dev/sda1

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

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

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

sudo grub-install --recheck /dev/sdc
sudo grub-mkconfig -o /boot/grub/grub.cfg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Укажите диск:

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

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

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

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

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

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

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

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

sudo fdisk -l

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

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

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

sudo gdisk /dev/sda

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

x

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

z

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

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

reboot

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

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

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

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

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

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

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

Как это сделать подробно описано в статье «Как в VirtualBox загрузиться с USB».

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

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

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

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

То есть будет выведен UEFI Interective Shell, также будет сообщение «Press ESC in 1 second to skip startup.nsh or any other key to continue».

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

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

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

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

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

В приглашении

Shell>

наберите:

fs0:

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

dir EFI

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

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

dir EFI\parrot

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

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

edit startup.nsh

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

\EFI\parrot\grubx64.efi

Для сохранения:

ctrl-s <cr>
<enter>

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

ctrl-q <cr>

Для перезагрузки:

reset

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

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 хабы — от них очень много проблем
  • во время установки не шевелите флешки и провода дисков
  • флешки могут отключаться от перегрева — помните об этом

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

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

Поддерживает USB 3.0, в него я вставил 2.5 дюймовый SSD диск от старого ноутбука — работает реально быстро! Размером примерно с ладонь или с современный мобильный телефон. Корпус прозрачный, установка диска выполняется без отвёртки и шурупов — правда, у меня сомнения, можно ли его потом оттуда вытащить не повредив контакты… Покупал у этого продавца. 6 баксов, Карл!

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

Рекомендуется Вам:

2 комментария to Linux на флешке: установка и другие подсказки по использованию Linux на USB носителях

  1. Nikolay:

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

    а сейчас не могу найти даже через гугол ))

    по аналогии образа WIM для виндовс

  2. Max:

    Спасибо за статью! Очень информативно и подробно, все как я люблю!! Круто!!!

Добавить комментарий

Ваш e-mail не будет опубликован.