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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

 

Дальше установка 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 на флешку завершена, система более-менее готова для использования на флешке и не будет ей так сильно вредить. Но все равно не забывайте время от времени делать резервные копии важных данных, потому что все может сломаться в самый неподходящий момент.

Источник

Понравилась статья? Поделиться с друзьями: