//

Программы (Автор: dez)

На страницах этого сайта я уже несколько раз писал всякие вещи про Linux. Эта ОС у меня установлена на ноутбуке, на подстольном хранилище и даже на ТВ-приставке. Но не на основном компе. Неужели пришла пора это исправить?

Не совсем. Я пока не планирую каждый день пользоваться линуксом на десктопе, так что мне лень тормошить порядок, сложившийся у меня внутри компа. Как вариант, для каких-то задач и экспериментов мне было бы вполне удобно загружать линукс снаружи, вот только LiveUSB тут не годится - созданные во время сеанса файлы исчезнут после перезагрузки. Из-за этого LiveUSB сложно рассматривать как что-то большее, чем установщик дистрибутива или набор инструментов для восстановления. Впрочем, недавняя история с ТВ-приставкой заставила вспомнить, что владельцы Raspberry Pi и прочих одноплатников уже несколько лет загружают линукс с SD-карты и всё у них как-то сохраняется при этом. А вдруг люди и с флешками на ПК так делают?

Оказалось, что да. Более того, есть как минимум два варианта - полная установка на флешку и "LiveUSB with persistence". Второй вариант работает за счёт того, что система сохраняет изменения в специальный файл или раздел, который можно очистить и этим откатить систему в исходное состояние. Решение имеет свои особенности, некоторые из которых могут создать проблем (например, с установкой драйверов), так что я не стал на нём останавливаться и выбрал полную установку.

 

Кратко суть

Установка происходит примерно так же, как и на жёсткий диск. Поэтому для данной задачи понадобится 2 флешки. Одна будет установочной (LiveUSB), а вторая превратится в конечный результат. Желательно, чтобы флешки были USB 3.0 (а то займёт много времени), ещё лучше - внешний HDD или SSD (для долговечности).

Основной подвох здесь с загрузчиком. Есть риск, что он запишется не на флешку, а на внутренний диск, стерев при этом стандартный виндовый загрузчик. Чтобы флешка с ОС была самодостаточной и работала на любом компьютере, загрузчик должен быть на ней же. Или даже два загрузчика, если на одном компе материнка поддерживает только BIOS (Legacy), а на другом - только UEFI.

Уставливать я решил, как обычно, Linux Mint (сейчас - версии 22.1). На форуме сообщества этого дистрибутива есть интересная тема, где подробно расписано несколько сценариев, как раз зависящих от материнских плат. В моём случае установка выполнялась на компе с UEFI, а запуск ОС планировался как на новом компе, так и на древнем ноутбуке. Поэтому за основу был взят метод Reverse Hybrid Install.

 

Собственно процесс

1. Сначала я вскрыл комп и выдернул все внутренние жёсткие диски :) Чтобы быть уверенным, что загрузчик точно не ляжет туда, куда не просили. На форуме предлагали альтернативное софтовое решение - через GParted (шаг 3) временно снять флаги boot и esp с EFI-раздела на внутреннем жёстком диске, чтобы не крутить винты и не лезть внутрь компа. Но конкретно использованный мной компьютер достаётся из под стола за две секунды и без всякой йоги, так что меня это не напрягло.

2. Убедился, что на материнке выключен (или отсутствует) Secure Boot. Загрузился с LiveUSB. Для удобства выключил скринсейвер и прочее энергосбережение.

3. Запустил GParted и создал необходимые разделы на целевой флешке. В моём случае LiveUSB называлась sda, а целевая флешка - sdb (у вас может отличаться). На целевой флешке создаётся таблица разделов GPT (Device > Create Partition Table > gpt type), затем три раздела. Первый - 2 МиБ, не форматировать. Второй - 200 МиБ (fat32). Третий - всё оставшееся место (ext4). Кликнуть правой кнопкной мыши на 1-й раздел и поставить флаг bios-grub. Примерно так же со 2-м, но флаги boot и esp.

4. Начал установку. Дошёл до момента, когда предлагают выбрать место для установки, и выбрал "Другой вариант" (Something Else) для тонкой настройки. Раздел sdb3 выбрал в качестве корневого - для этого нажал Изменить, потом в диалоге выбрал файловую систему ext4, не форматировать, точка монтирования "/". В нижней части окна выбрал sdb2 для установки загрузчика. С этими настройками продолжил установку.

5. После установки запустился уже с целевой флешки (всё ещё на компе с UEFI) и установил второй загрузчик. Для этого надо выполнить команду:

sudo grub-install /dev/sda --boot-directory=/boot --target=i386-pc

Обратите внимание на имя диска - это должна быть целевая флешка. У меня это /dev/sda, потому что внутренние HDD я пока не вернул на место, и флешка - единственный носитель, который был воткнут. Когда команда выполнится, можно выключить компьютер, переключить материнку в режим Legacy BIOS (или вставить флешку в достаточно древний комп) и убедиться, что всё работает.

6. Финальный аккорд - выполнить команду timedatectl set-local-rtc 1, чтобы время в винде и в линуксе показывало одинаковое. Иначе оно между сменами ОС будет прыгать туда-сюда на несколько часов в зависимости от часового пояса.

 

Итого

Linux успешно запускается с флешки, причём на нескольких компьютерах разных возрастов (вплоть до ноута 15-летней давности). Сложность под конец была разве что выяснить, на какие кнопки вызывать Boot Menu у всего этого зоопарка. Для одного компа это F8, для другого - F11, у какого-то вообще на Esc...

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

Статья опубликована 2025-07-19 18:10:16, её прочитали 1236 раз(а).

Внимание! Комментарии публикуются после проверки (что занимает некоторое время).
Сообщение может быть отклонено, если содержит спам, противозаконный контент, а так же оскорбления и грубость по отношению к другим участникам обсуждения.

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