Главная >> Инструкции >> Установка Linux на флешку

Установка Linux на флешку

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

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


Содержание статьи

Стоит ли устанавливать Linux на флешку?

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

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

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

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

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

Установка Linux на флешку

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

Рассматривать весь процесс будем на примере Ubuntu и все будет сделано с помощью официального установщика. Нас не будет интересовать обычная запись образа на диск или работа из оперативной памяти. В конце мы получим именно полноценную операционную систему на флешке.

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

Здесь будет одно замечание, нужно, чтобы система не была загружена с той флешки, на которую вы собираетесь ее устанавливать, в противном случае установить ubuntu на флешку вы не сможете. То есть кроме установщика, к системе должна быть подключена еще одна чистая флешка. Если все было сделано правильно, то кроме основного диска /dev/sda, в окне разметки появится флешка /dev/sdb:

flashubutnu

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

flashubuntu1

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

Первый раздел нужно создавать с файловой системой FAT32 и именно первым, чтобы с ним могла работать Windows. Например, если у вас флешка размером 16 Гб, то 5-4 Гб можно отдать под данные. Точка монтирования для этого раздела - /home:

flashubuntu2

flashubuntu3

Второй раздел применяется для системных файлов, здесь нам нужно не менее восьми гигабайт. Файловую систему лучше взять Btrfs, поскольку нам не нужна журналируемая ext4, а у btrfs есть сжатие и оптимизация для ssd. В качестве точки монтирования укажите /:

flashubuntu4

flashubuntu5

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

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

Оптимизация Ubuntu для работы на флешке

Установка Ubuntu на флешку завершена, но теперь нам осталось заставить работать ее так, чтобы по минимуму записывать данные на диск. Все это нужно делать в уже установленной системе.

Большинство настроек будут проводится в файле /etc/fstab, сначала включим сжатие всех файлов и оптимизацию для ssd в btrfs, которая использована в качестве корня. Для корня у нас использовался раздел /dev/sdb2, поскольку /dev/sdb1 мы использовали для /home:

vi /etc/fstab

/dev/sdb1 / btrfs errors=remount-ro,noatime,nodiratime,compress=lzo,ssd,commit=60 0 1

Возможно, у вас диски в fstab будут именоваться по UUID, тогда вам придется найти запись, в которой указана точка монтирования / и файловая система btfs, а потому уже ее изменять. Рассмотрим опции:

  • errors=remount-ro - перемонтировать только для чтения во время ошибок;
  • noatime - не обновлять время доступа к файлам;
  • nodiratime - не обновлять время доступа к папкам;
  • compress=lzo - использовать сжатие lzo, это самый быстрый алгоритм zlib дает больший степень сжатия но работает дольше;
  • commit=60 - по умолчанию файловая система записывает всю информацию об изменениях файлов каждые 30 секунд на диск, но с помощью этого параметра можно указать свое значение, но не более 300;
  • ssd - набор оптимизаций для твердотельных накопителей.

Некоторые папки, в которые чаще всего записываются временные файлы системы можно переместить в оперативную память, для этого в конец файла /etc/fstab добавьте строки:

tmpfs /tmp tmpfs rw,size=100m 0 0
tmpfs /run tmpfs rw 0 0
tmpfs /var/lock tmpfs rw 0 0
tmpfs /var/log tmpfs rw,size=10m 0 0

Ядро не пишет сразу данные на диск, а кэширует их в памяти, а записывает когда диск не будет загружен или их больше нельзя будет хранить в памяти. Для настройки параметров сброса данных на диск используются файлы /proc/sys/vm/. Приведенные ниже настройки уменьшают количество записей, за счет увеличения потребления оперативной памяти.

Максимальное время между записями данных на диск:

sudo sysctl -w vm.laptop_mode=120
sudo sysctl -w vm.dirty_writeback_centisecs=12000
sudo sysctl -w vm.dirty_expire_centisecs=12000

Максимальное количество памяти для кэша в процентах:

sudo sysctl -w vm.dirty_ratio=10

Записывать данные на диск когда свободно только % памяти:

sudo sysctl -w vm.dirty_background_ratio=1

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

Выводы

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

30 комментариев к “Установка Linux на флешку”

  1. Блин, автор только не обижайся, просто опять хочу внести немного дополнений в статью... В fstab добавлять опцию ssd (в девичестве discard) не имеет никакого смысла, т.к. после выхода ядра 3.19 (если мне память не изменяет) ядро само определяет, что используется диск ssd и включает соответствующие параметры. А для установки linux на флешку (лично мое мнение, для продления жизни флешки, у самого так работает) я бы сам собрал образ с нужным набором программ и запаковал в squashfs, а для записи изменений использовал бы файл live-rw. Но не думаю, что люи пишут линукс на флешку для повседневного использования....

    Ответить
  2. У меня уже третий год на 16г стоит Mageja, до неё флешке было столько же, работает, пользуюсь на работе, раздел home прописан на жесткий, комп с виндой. Удобно, с винды мой раздел не видно и без флешки винда грузится со своего загрузчика. Может в не подходящий момент накроется. Что интересно ставил на шару.

    Ответить
  3. MagOS на базе Rosa Linux, загружается с флэшки и сохраняет на нее результаты вашей работы. Драйвера практически для любого компьютера уже установлены, вы можете носить в кармане свою ОС - со всеми файлами и программами.
    MagOS Linux практически неубиваем, с ним можно легко и безопасно экспериментировать - всегда можно вернуть систему в первоначальное состояние.

    Ответить
  4. К сожалению после перезагрузки вот эти переменные возвращаются в исходное состояние
    $ sudo sysctl -w vm.laptop_mode=120
    $ sudo sysctl -w vm.dirty_writeback_centisecs=12000
    $ sudo sysctl -w vm.dirty_expire_centisecs=12000
    $ sudo sysctl -w vm.dirty_ratio=10
    $ sudo sysctl -w vm.dirty_background_ratio=1

    Ответить
    • Ты просто добавь эти переменные (каждую с новой строки) в конец файла /etc/sysctl.conf и будет тебе "щасте". vm.laptop_mode=120 и т.д.

      Ответить
    • Я бы еще добавил vm.swappiness=5 - используется для указания процента свобойдной памяти для начала использования подкачки. Т.е. 5 означает, что подкачка будет использоваться при 95% занятой оперативки...

      Ответить
    • Так в статье все написано. Только с одной оговоркой, что vm.laptop_mode - отвечает за энергосбережение,а не за время между сбросом буфера на диск и параметр принимает значения от 0 до 5, где 0 - отключение энергосбережения,а 5 - самый "агрессивный" режим энергосбережения.

      Ответить
  5. Поставил Linux на внешний HDD USB 3.0, всё прекрасно работает дуалбутом рядом с Win 8.1 UEFI, при этом родной загрузчик Win остался в девственной чистоте. На флэшку тоже ставил без проблем, но с другой целью, как Boot Repair.

    Ответить
  6. Доброго времени. Установил, загрузился, тормозит ужасно. Может из-за того, что под систему выделил 5 гигов, а файл подкачки 4 гига отрезал от физического диска. Просветите пожалуйста. Спасибо.

    Ответить
    • Ну я подразумеваю, что если Вы хотите грузить linux с флешки, то у Вас должно быть достаточно оперативки для использования системы без файла подкачки...

      Ответить
      • Кстати, если хотите, могу скинуть ссылку на мой "Rescue Disk". Сборку образа создал на основе ubuntu 16.04 и DE lxde. Грузится даже на 128 мерах оперативы. Включает: работу с разделами и дисками, восстановление файлов, создание резервных копий дисков и разделов, работа в интернет (браузер), сетевые утилиты, инспекция подключенных устройств и т.д.

        Ответить
  7. Добрый день.
    Сильно не пинайте, Linux’ом начал увлекаться 3 дня назад)))
    Столкнулся с такой проблемой при установке ОС на флешку.
    При разбивке флешки в разделе «Тип установки» для первого раздела выбираю Первичный – начало этого пространства, и вот дальше возникает проблема. При выборе формата fat32 в разделе «точка монтирования» мне доступны только опции - /dos и /windows. Тогда я попробовал сменить формат на любой другой (ext4, ext2), выбрал в точке монтирования /home и после этого опять выбрал fat32, потом сделал все как указано в статье относительно второго раздела с точкой монтирования «/». Прописал установку системного загрузчика на флешку на которую хочу поставить ОС. После этого нажал на кнопку «Продолжить установку» и получил окно следующего содержания: «Файловая система с типом fat32 не может быть смонтирована на /home, так как она не является полнофункциональной файловой системой Unix. Выберите другую файловую систему, например ext2».
    Вопрос: что делать? Как разделу с fat32 присвоить точку монтирования /home???

    Заранее благодарю.

    Ответить
  8. Подскажите пож если я буду устанавливать не убунту а дебиан 9 в чём будет отличие установки?
    Хочу дебиан установить на флешку)))
    Заранее большое спасибо)))

    Ответить
  9. Здравствуйте, подскажите, пожалуйста, кто знает какую скорость записи/чтения/перезаписи должна иметь флешка, чтобы установленная на ней ОС работала более-менее адекватно?

    Ответить
  10. Устанавливал xubuntu и в рабочей системе и в ливсд. установщик прописывает загрузчик на флешку и соответственно рабочая система не грузится. пришлось оба раза править efi чтоб заработало. правка в bash-like строке перед загрузкой груба, и grub-install в livecd результата не дали.
    В папке /efi файл grub.cfg.

    Ответить
  11. Большинство настроек будут проводится в файле /etc/fstab, сначала включим сжатие всех файлов и оптимизацию для ssd в btrfs, которая использована в качестве корня. Для корня у нас использовался раздел /dev/sdb2, поскольку /dev/sdb1 мы использовали для /home:

    vi /etc/fstab

    /dev/sdb1 / btrfs errors=remount-ro,noatime,nodiratime,compress=lzo,ssd,commit=60 0 1

    чего то у меня лыжи не едут...для корня (и для btrfs) использовался раздел sdb2
    так почему же настройки btrfs мы пишем для раздела sdb1 ?

    Ответить
  12. кстати жуткие тормоза при работе 🙁 установочная флешка работает раз в 10 шустрее ( да просто не тормозит вовсе). при таком раскладе хочется просто внести пару изменений в установочную флешку ( присутствие раскладок, настройки браузера и пару тройку программ добавить) и всё...а то каждый раз настраивать и устанавливать очень затратно по времени...
    кто нибудь подскажет, это возможно ?

    Ответить
  13. Большинство настроек будут проводится в файле /etc/fstab, сначала включим сжатие всех файлов и оптимизацию для ssd в btrfs, которая использована в качестве корня. Для корня у нас использовался раздел /dev/sdb2, поскольку /dev/sdb1 мы использовали для /home:

    vi /etc/fstab

    /dev/sdb1 / btrfs errors=remount-ro,noatime,nodiratime,compress=lzo,ssd,commit=60 0 1

    чего то у меня лыжи не едут...для корня ( и для btrfs соответственно) использовался раздел sdb2, а настройки пишем для sdb1 ...

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

    Ответить
  14. Подскажите пожалуйста, чем можно скопировать установленный линукс на флешке на свой пк,(резервную копию) то есть вытащить флешку с сервера и вставить в пк на котором win7?

    Ответить
  15. Откуда нужно запускать установщик убунту? Вот у меня есть ISO образ дистрибутива , но откуда запускать то нужно? С виртуалки?

    Ответить
  16. Всем доброго дня! Кто нибудь знает, почему слетает загрузчик Windows 10, при установке Linux на флешку? На флешке в том числе создавал загрузочный раздел и раздел swap. Устанавливал Solus и Mint. В обоих случаях слетал загрузчик Windows. Восстанавливал через diskpart итд.

    Ответить

Оставьте комментарий