Установка полноценной Ubuntu на USB-накопитель
Очень часто у людей возникает желание или необходимость поставить Ubuntu на USB-накопитель и получить возможность пользоваться своей ОС на любом компьютере (лишь бы была возможность загрузится с USB).
В этой статье описывается процесс установки Ubuntu на USB-накопители.
Не стоит путать установку с простой записью образа. Подробнее о записи образов на на USB-накопители смотрите в Usb-creator-gtk.
Некоторые важные замечания и полезная информация собраны в статье Установка и использование Ubuntu на USB флешке. Стоит ознакомиться с ней перед началом установки Ubuntu на USB-накопитель.
Подготовка к установке
Скачайте образ системы отсюда. Если не планируете запускать систему на машинах с более 4 Гб оперативной памяти предпочтительней выбирать 32-х разрядную.
Запись образа
После того, как образ загрузился, его надо записать на CD или USB-накопитель.
На USB носитель образ проще всего записать при помощи UNetbootin. Эта программа существует под большинство популярных ОС (Windows, Linux, Mac) и достаточно проста в обращении. Все что потребуется – указать путь к скачанному образу и выбрать диск, на который будет записан образ.
Можно обойтись без записи образа на какие-либо носители воспользовавшись виртуальной машиной, например VirtualBox или QEMU. Достаточно лишь пробросить в виртуальную машину USB-накопитель. Дальнейшие инструкции для этого метода не поменяются.
Загрузка
Перед тем как загрузится, убедитесь, что в BIOS первым загрузочным устройством выбран USB или CD-ROM, в зависимости от того, с чего вы производите загрузку. В BIOS можно попасть нажав клавишу Del для стационарных компьютеров и F2 или F12 для ноутбуков. О том, как выбрать устройство для загрузки смотрите в интернете или читайте инструкцию к вашему компьютеру.
Если все правильно сделано, вы увидите перед собой загруженную с Live CD систему.
Подготовка USB-накопителя

Запустите программу GParted.

Выберите устройство, на которое вы собираетесь установить Ubuntu.

Отформатируйте его в файловую систему Ext2 или Ext4. Так-же можно разделить USB-диск на 2 раздела для того, чтоб его можно было использовать по прямому назначению (перенос файлов с одного компьютера на другой). Для этого первый раздел раздел отформатируйте в FAT32 (для того, чтобы раздел был виден в Windows), вторым разделом выберите файловую систему Ext2 или Ext4 под Ubuntu. На второй раздел желательно выделить минимум 6 Гб, чтобы можно было не переживать за нехватку места для установки дополнительных программ.
Установка
Перед установкой желательно настроить интернет для скачивания обновлений и не свободных дополнений.
Дальнейшая установка Ubuntu ничем не отличается от установки на жесткий диск.
Выберите на рабочем столе Install Ubuntu и выполните установку по скриншотам:
Главное — не забудьте указать установщику что GRUB надо установить на флеш-накопитель (по умолчанию он ставится на первый жесткий диск в системе).
Установка полноценной ОС Linux на флешку
Дорогие друзья, сегодня мы с вами узнаем, как происходит установка Линукс на флешку как полноценную ОС. Иметь переносную операционную систему очень удобно для некоторых пользователей: вы просто ставите устройство на компьютер или ноутбук и получаете все свои файлы с программами. То есть работа становится намного комфортнее в некоторых случаях. А также вам больше не придётся ставить на один компьютер несколько операционных систем: одна может быть на ПК, а другая устанавливается на флешку.

Узнайте, как установить Linux на флешку правильно и самому
Естественно, без минусов здесь не обошлось. И это неудивительно: если бы всё было так просто, то такой возможностью пользовались бы практически все. Но какие проблемы могут ждать пользователя при совершении этой операции? Давайте разберём этот вопрос.
Установленная ОС на накопителе может просто его уничтожить. Как это происходит? Дело в том, что любая флешка имеет ограничение по числе перезаписей данных на ней. Это ограничение, конечно же, не касается чтения информации. Для записей же оно достигает числа десятка миллионов раз. Вы можете подумать: но эти миллионы раз нужно потратить! Не всё так просто: при стандартном использовании устройства вы, естественно, миллион раз не записываете, удаляете файлы. Именно поэтому в таком режиме флешка служит довольно длительное время.
Но операционная система не одно и то же, что и обычные файлы: файловая система, ядро и другие её компоненты сохраняют, удаляют временные документы постоянно. То есть происходит непрерывная работа с файлами: число перезаписей за один сеанс средней работы в системе может перевалить за десятки тысяч раз. Это и усложняет работу ОС на обычном накопителе. Следовательно, срок её службы для пользователя резко сокращается.
Так стоит ли игра свеч? Ответить на этот вопрос вы должны сами: возможно, вы не так часто будете пользоваться этой флешкой и она проработает вам в таком режиме продолжительное время. Может, и наоборот: через неделю она просто не будет открываться, а вы потеряете все свои данные. Тщательно обдумайте своё решение и только потом переходите к действиям, которые производятся на ваш страх и риск.
Как установить Linux на флешку
Итак, установка Linux на флешку как полноценную ОС. Если вы всё-таки решились сделать это, то стоит сразу сказать, что ваше устройство должно иметь большой запас памяти: накопители объёмом восемь гигабайт явно не подойдут. Обратите внимание ещё на тот факт, что эта память будет и для системы, и для файлов с программами. Рекомендуется посмотреть в сторону накопителей объёмом 32 гигабайт и более.
Когда вопрос с флешкой будет решён, перейдём к пункту об устройстве, которое поможет нам сделать задуманное. Таковым будет являться компьютер с установленной операционной системой Linux. Работая на Windows, вы не сможете это сделать. Ещё один очень важный момент: к компьютеру нужно подключить дополнительную чистую флешку. Иначе на этапе разметки диска вы не сможете ничего сделать. Получается, что вы подключаете один накопитель для ОС и одну чистую флешку.
Итак, весь дальнейший процесс мы будем рассматривать на примере ОС Ubuntu, построенной на ядре Линукс. Если вы готовы, то приступим:
-
Вначале всё делается по стандарту: выбирается язык, параметры ПО и обновлений. Но различия идут уже после этапа с разметками дисков: выберите ручной тип.

Выберите устройство, на которое вы собираетесь установить Ubuntu

Можно разделить USB-диск на 2 раздела для того, чтоб его можно было использовать по прямому назначению

Главное — не забудьте указать установщику что GRUB надо установить на флеш-накопитель

Перед установкой желательно настроить интернет для скачивания обновлений

Установка Ubuntu на флешку ничем не отличается от установки на жесткий диск
Заключение
Друзья, теперь вы знаете, как устанавливать Линукс, как операционную систему, на флешку. Давайте подведём некоторые итоги:
- Используйте накопитель объёмом не менее 16 или 32 гигабайт для корректной работы.
- При установке подключите ещё одну флешку к компьютеру.
- Правильно распределите место на диске под систему и личные файлы.
- Оптимизируйте работу данных при помощи специальных кодов, которые можно найти в интернете.
Надеемся, что у вас всё получилось и не осталось никаких вопросов. Расскажите в комментариях о своих успехах, а также поделитесь своим мнением!
Установка и использование Ubuntu на USB флешке
Довольно часто возникает желание или необходимость поставить Ubuntu на USB флешку и получить возможность пользоваться своей любимой ОС на любом компьютере (лишь бы была возможность загрузиться с USB).
Делается это просто — грузимся с LiveCD Ubuntu (или с LiveUSB 1) ) и ставим систему на флешку. При этом нам не важно какая ос установлена на компьютере. Всё что нужно это сам компьютер, LiveCD/USB и отдельная флешка, на которую и будем ставить систему.
Более подробно процесс установки Ubuntu на флеш-накопитель описан тут.
Как вариант — можно в качестве компьютера использовать эмулятор: VirtualBox или VmWare, (только в них бывает сложно подключить USB для установки Ubuntu). При установке через эмулятор не нужен отдельный носитель с Live системой — образ LiveCD просто подключается в виртуальный привод CD-ROM.
И часто подход к этому вопросу, что называется, «в-лоб» разочаровывает низкой производительностью и тем, что флешка быстро умирает.
Многие смогут возразить, что имея такую флешку с установленной ОС они ей пользуются много месяцев или даже лет. Если уточнить, то выясняется, что пользуются то ей долго, а вот грузятся с нее редко и работают не подолгу. Если же работать с такой флешки ежедневно, по много часов, то «смерть» флешки не заставит себя долго ждать: 2-3 месяца, может больше, может меньше, зависит от флешки (из личного опыта создателя начальной версии этой статьи Sly_tom_cat).
Кроме того и сам процесс установки порой приводит к неприятным последствиям.
Но не надо отчаиваться и опускать руки…. Даже из не очень хорошего сырья можно сделать…, если не конфетку, то, по крайней мере, что-то съедобное!
Разберемся в причинах печального исхода и возможных методов улучшения ситуации.
Основные ошибки при установке Ubuntu на USB флешку и как с ними бороться
По умолчанию установщик Ubuntu предлагает журналируемую файловую систему EXT4 для создаваемых разделов данных.
Кроме того, загрузчик (GRUB) по умолчанию ставится на первый диск в системе, как правило, — это встроенный HDD компьютера.
Установщик Ubuntu, довольно настойчиво, просит создать раздел подкачки (если вы его не создаете, то получите сообщение и должны будете подтвердить свое желание установить систему без swap-раздела).
Приняв эти умолчания, мы сразу создаем две проблемы.
На флешке создаются разделы с файловой системой, которая при работе будет осуществлять большое количество записей на флешку (чем сократит ее время жизни). Это касается и разделов EXT4 и swap-раздела.
Загрузчик установится так, что без флешки ваш компьютер не сможет загрузится.
Разберем подробнее эти две проблемы
Как продлить жизнь флешке
Флеш-память отличается от жестких дисков тем, что количество циклов записи обычно ограничено числами 10 и 100 тысяч записей (для разных типов флеш-памяти).
Для жестких дисков такой параметр (число циклов записи) вообще почти никогда не указывается — там быстрее происходит механический износ элементов диска. А магнитный слой на поверхности диска может перезаписываться почти бесконечно.
Схемы памяти с выдерживающие до 10 тысяч записей стоят гораздо дешевле схем выдерживающих 100 тысяч… как вы думаете — какими схемами комплектуются недорогие флешки, нашедшие широкое распространение?
Но и высокая цена флешки тоже не говорит о повышенной жевучести — тут ключевое слово — тип памяти — MLC (Multi-level cell, многоуровневые ячейки памяти) выдерживает порядка 10 тысяч записей; SLC (Single-level cell, одноуровневые ячейки памяти) — более 100 тысяч. Более дорогие флешки действительно живут дольше, но достигается это другими средствами (о них — чуть позже)
Кажется что 10/100 тысяч — это много, но разберемся как эти циклы записи «съедаются» при работе ОС.
Запись на флеш-носитель происходит по-блочно (как правило — десятки килобайт), и запись последовательно двух байт в файл с интервалом между записями в несколько минут вызовет две записи одного и того же блока памяти (т.е. обновятся два раза несколько тысяч ячеек).
При работе файловой системы (ФС) некоторые служебные структуры ФС обновляются постоянно:
журнал (для журналируемых ФС) — чем чаще он пишется, тем выше вероятность сохранения целостности ФС при сбоях системы или питания. Частота записи в журнал, как правило изменяема, но значения по умолчанию не совсем подходят для работы с флеш-памятью, а увеличение периодов между записью — приводит к увеличению вероятности потери целостности ФС при сбое.
i-node (специальная структура в которой сохраняется заголовок файла или каталога) — при каждом обращении (даже чтение) к файлу или каталогу в i-node прописывается дата/время последнего обращения. Казалось бы — всего несколько байт, но вспомним про блочную запись, и том, что запись их идет при каждом обращении к файлу (прочитали байт — изменились, еще байт — опять изменилось).
Временные файлы и логи — так же часто обновляются.
SWAP-раздел — если он используется в работе системы, то запись в него тоже очень интенсивная.
Кроме того, нужно не забывать, что лимит циклов записи действует на каждую ячейку памяти. И если на флешке в один и тот же блок сделать 10 тысяч записей, а в другие сделать по 100 записей, то блок, куда было записано 10 тысяч раз, на записи 10тысяч + сколько-то «умрет», а контроллер флешки, обнаружив 1 битый блок, может заявить, что умерла вся флешка. А даже если он этого не сделает, то этот блок будет содержать важную для работы системы или ФС информацию 2) , и результат будет практически тем же — внезапная остановка системы и невозможность прочитать данные с флешки. (!)
Как бороться со всем этим?
Для начала поймем и примем как данность:
Флешки не вечны и умирают не предупреждая !
Осознав это поймем, что и
Система на флешке — не может быть долговечной и надежной.
А поняв и приняв это, задумаемся: а нужна ли для такой системы надежность журналируемой ФС (такой дорогой ценой как сокращение времени жизни флешки и системы на ней)?
Однозначно — нет.
Итак, нам потребуется EXT4 с отключенным журналом 3) . Если разбираться с отключением журнал в EXT3/4 не хотите — просто воспользуйтесь EXT2.
Есть и другие ФС, и настройки, которые могут продлить жизнь флешке. Эти решения могут дать большие преимущества. Если есть желание — то поищите другие варианты. Особо обращает на себя внимание опция ssd файловой системы btrfs (!?)…
Избавиться от записи даты/времени последнего доступа к файлам и директориям в i-node помогают опции монтирования файловых систем noatime. Её, после установки системы, нужно будет прописать в файле /etc/fstab для всех разделов системы, которые расположены на флешке.
Вообще, эти опции не только количество записей на флешке сокращают, но и на жестком диске скорость работы ФС увеличивают.
Временные файлы и swap.
Современные компьютеры редко страдают недостатком оперативной памяти (перелом в этом отношении случился в компьютерной индустрии после значительного удешевления схем памяти). И уже при 1ГБ оперативной памяти Linux довольно редко обращается к swap, если не запускать ресурсоёмкие задачи (например кодирование высококачественного видео или редактирование огромных изображений). Если памяти 2ГБ или больше, то заставить Linux использовать swap вообще довольно сложно.
Полное отсутствие swap грозит неадекватным поведением системы при исчерпании ресурсов оперативной памяти, но вспомним, что мы с вами осознали — система на USB флешке не может быть надежной по определению. Вывод напрашивается сам собой — swap для системы на флешке — не нужен. А на компьютерах с малым объемом памяти нужно быть осторожным и стараться не запускать много приложений одновременно. Можно так же настроить ramzswap (он же — compcache): своп в оперативную память с упаковкой свопируемых станиц.
Ресурсы оперативной памяти помогут и со временными файлами — достаточно смонтировать временный каталог системы /tmp в диск организованный в памяти. Для этого нам пригодится замечательная файловая система tmpfs (даже название говорит, что она хорошо подходит для /tmp).
В /etc/fstab нужно прописать строчку:
tmpfs /tmp tmpfs rw,size=32m 0 0
В примере максимальный размер /tmp задан как 32 Мегабайта. Размер можно задать другой, но если ограничения не задать, то «сдуревшее» приложение, которое будет писать бесконечно во временный файл, может подвесить вашу систему.
Размер /tmp важно выбрать правильно т.к. в нем будут хранится самые разные вещи. Например видео с Youtube вы не сможете посмотреть до конца если файл с видео не влезет полностью в ваш /tmp.
Точно также стоит поступить и с /run (ранее известный как /var/run) и /var/lock (в этих каталогах хранится служебная информация актуальная только на время текущей сессии, объем — малюсенький, а вот обновления довольно регулярны). На них лимит размера можно не задавать. Можно пойти дальше и разместить в памяти и логи (/var/log), однако без логов на устройстве постоянного хранения данных (в нашем случае — на флешке) будет крайне трудно разобраться со сбоем системы, вызывающем перезагрузку (после перезагрузки — все что было в памяти — потеряется и логи будут «пустые» — только то, что туда запишется с момента загрузки системы). Лимит size для /var/log стоит задавать порядка 6-10Мб (для типичного десктоп варианта).
Общий вид файла /etc/fstab будет примерно таким:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda2 during installation UUID=57f10d10-de95-4d09-8e18-aaf1c42c3f36 / ext4 errors=remount-ro,noatime,nodiratime 0 1 # /home was on /dev/sda3 during installation UUID=7ecf4c7b-3474-4850-9da5-6e519e415937 /home ext4 noatime,nodiratime 0 2 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
В примере на флешке создан корень и отдельный /home 4) . Если есть еще какие-то разделы с флешки — то им тоже прописываем noatime,nodiratime.
Скорость записи на флешку — тоже «больное место» нашей системы, и сокращая число циклов записи на флеш мы не только продлим время ее жизни, но и скорость работы ОС улучшим.
Как правильно ставить GRUB
А тут все просто — загрузчик (GRUB) надо ставить на флешку. Если вы оставите предложенную установщиком установку (на первый жесткий диск в системе) то в MBR жесткого диска пропишется часть кода GRUB, который станет искать остальную часть своего кода на разделе, куда будет записан /boot при установке системы (т.е. на флешке). Вытащив флешку из компьютера вы не дадите коду GRUB-а на жестком диске найти свое продолжение. И компьютер не сможет загрузить ОС. Восстановить работу GRUB — просто. Если же надо восстанавливать загрузчик Windows, то стоит поискать информацию по восстановлению загрузчика на любом профильном форуме. Но лучше быть внимательным при установке, и не создавать себе лишнюю работу.
Подведем итоги
Если мы хотим пользоваться системой на флешке долго, и не получить разочарования от потери данных, то нужно делать так:
при установке Ubuntu на флешку:
тип ФС для разделов системы выбираем EXT4 с отключенным журналом (или, на худой конец, — EXT2).
swap не создаем (а если на компьютере есть раздел swap — то говорим инсталятору — не использовать его).
GRUB устанавливаем обязательно на флешку, где и создаем разделы для установки системы.
прописываем в /etc/fstab опцию noatime для всех разделов размещенных на флешке.
прописываем в /etc/fstab монтирование /tmp, /run, /var/lock (и, возможно, /var/log) в tmpfs (не забываем про ограничения размеров).
При использовании системы нужно регулярно делать резервную копию важных данных на другой носитель 5) (не забываем про невысокую надежность ОС на флешке и возможную внезапную кончину флеш-памяти).
А при использовании на компьютере с небольшим объемом оперативной памяти (1Гб и менее) стараемся не запускать по много ресурсоёмких задач одновременно или изучаем и настраиваем ramzswap.
Кроме указанного, можно применить и другие приемы оптимизации производительности системы (эти приемы выходят за рамки данной статьи, но их легко найти в Internet-е).
А главное — никогда не забываем про вывод, к которому мы пришли в начале этой статьи. Повторю:
ОС, установленная на флешку не может быть такой же надежной и долговечной как установленная на жесткий диск.
«Подводные камни»
Есть одна досадная ошибка инсталлятора (можно сказать особенность 6) ), которая не позволяет установить Ubuntu на тот же физический диск с которого загрузился Live образ 7) . Т.е. если вы захотите загрузившись с флешки на нее же и поставить Ubunut (в другой раздел) — то вам это не удастся. Обойти эту «особенность» можно удалив «руками» запись о примонтированном разделе с флешки из /etc/mtab.
Альтернативы
Внешний жесткий диск не страдает малым числом циклов записи, однако, операционная система, работая с диском по довольно медленному интерфейсу (обычно — USB2. USB3 и e-SATA интерфейсы — значительно быстрее, но на момент написания статьи — еще не сильно распространены), также требует оптимизации. Тут пригодятся и noatime, а тоже стоит подумать — а нужен ли swap, да и /tmp полезно также разместить в памяти. А вот логи размещать в памяти — не стоит. Ну, а кроме того, внешний диск — это совсем другой размер и вес (!), да и падения для этих устройств — крайне опасны.
Внешний SSD диск — довольно дорогое решение. Тоже не маленький, хотя и легче внешнего жесткого диска и падений — почти не боится (как и флешка). И там тоже есть ограничение по числу циклов записи 8) , но контроллеры твердотельных дисков используют специальные алгоритмы переразмещения записываемых блоков с учетом знаний о том, сколько записей было сделано в каждый блок памяти. Эти алгоритмы значительно продлевают время жизни такого носителя информации.
Упрощенные алгоритмы переразмещения блоков используются и в некоторых (как правило — не самых дешёвых) флешках. Для их работы требуется как избыточное количество ячеек памяти, так и более быстрый и «умный» контроллер. Собственно «особый» контроллер и доп. (не доступная пользователю) память и повышают стоимость флешки… хотя, конечно основное повышение цены делают маркетологи, как обычно (!)
Можно пойти и другим путем — сменить дистрибутив. Есть дистрибутивы специально «заточенные» на работу с флешки (не берусь тут перечислять их все — их легко найти). Ярким представителем таких дистрибутивов является Puppy Linux (русифицированные сборки — PuppyRus Linux). Дистрибутив этот собран минималистично 9) и с использованием самых скромных (по размерам) программ. Это позволяет в процессе загрузки разместить всю файловую систему Linux в оперативной памяти 10) . А в процессе выключения системы все изменения в ФС (произведенные за время работы) записываются однократно обратно на флешку 11) . Изменения можно скинуть и в процессе работы, если есть опасения например в возможном внезапном отключении питания, ну или просто — что бы быть спокойным, что не потеряется ничего. А самое привлекательное для любителей Ubuntu в том, что есть сборки Puppy основанные на Ubuntu. Сайт проекта PuppyRus содержит много полезной информации и инструкций.
А в чем отличие от LiveUSB
Собственно LiveUSB, созданная с файлом сохранения, по сути своей мало отличается от Ubuntu установленной на флешке. Вместе с тем, есть и ряд принципиальных различий.
Коротенько, как устроена и работает LiveUSB:
При создании LiveUSB в файловую систему флешки (FAT) копируется содержимое CD (или DVD), на флешку устанавливается простенький загрузчик syslinux, и в корне флешки создается специальный файл сохранения (внутри которого создается файловая система EXT2) — casper.rw
Когда такая флешка загружается, то корень файловой системы монтируется «хитрым» способом: сначала как корень монтируется специальный файл с упакованной, доступной только для чтения файловой системой (SquashFS), а затем «поверх» него монтируется casper.rw в режиме запись/чтение. Получается, что все необходимые для работы системы файлы лежат в SquashFS, а новые и обновленные файлы — в casper.rw. При запросе к файлу сначала проверяется нет ли его в casper.rw, а потом он ищется в SquashFS, таким образом даже системные файл можно обновить и работать с новыми версиями.
Каталоги /tmp, /run, /var/lock на LiveUSB тоже монтируются в память (tmpfs)
Что же мы получаем применительно к интересующим нас аспектам: Запись на флешку идет примерно в таком же объеме и его не получится сократить (добавив noatime в опции монтирования в /etc/fstab) т.к. монтирование корня происходит на этапе инициализации ядра системы и в /etc/fstab Live системы просто нет монтирования корня.
Производительность по записи (собственно это больное место мы особо и не рассматривали при разговоре об Ubuntu установленной на флешку) здесь будет еще похуже, запись идет в ФС EXT2, а она лежит в фале на ФС FAT.
Дополнительно, флешка всегда хранит один и тот же набор системных файлов в SquashFS и любые обновления системы будут занимать место в casper.rw, но не будут освобождать место в SquashFS и это может стать проблемой при небольшом объеме флешки.
В «сухом остатке»- у LiveUSB нет особых преимуществ 12) перед правильно установленной на флешку системой, а недостатки — присутствуют.
Установка Linux на флешку
Полноценная операционная система на небольшом внешнем носителе — это очень удобно. Вы можете запустить систему практически на любом компьютере, а также иметь всегда под рукой все ваши файлы и данные, и вам больше не нужно держать на основном диске большое количество систем.
Именно по этим причинам много пользователей компьютера интересуются как выполняется установка Linux на флешку, возможно ли это, и если возможно, то как все правильно реализовать. В этой статье мы попытаемся ответить на такие вопросы. А также подробно разберем процесс установки на флешку для одного из самых популярных дистрибутивов — Ubuntu.
Table of Contents
- Стоит ли устанавливать Linux на флешку?
- Установка Linux на флешку
Стоит ли устанавливать 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:
/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 накопителю. Это может показаться немного сложным, но на самом деле все не так сложно, как кажется на первый взгляд. Если у вас остались вопросы, спрашивайте в комментариях!