Какая команда включает загрузку linux. Процесс загрузки Linux-системы

Под начальной загрузкой (bootstrapping), понимается запуск системы при включении питания. Поскольку обычные средства операционной системы на данном этапе еще недоступны, система должна «самозагрузиться», в буквальном смысле «обслужить себя самостоятельно». В ходе этого процесса ядро системы загружается в память и активизируется. Затем выполняется ряд инициализационных задач, после чего система готова к обслуживанию пользователей.

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

Когда включается питание, запускается на выполнение загрузочный код, хранящийся на постоянном запоминающем устройстве. Он должен запустить ядро. Ядро опрашивает состояние аппаратных устройств, а затем запускает демон init, идентификатор которого всегда равен 1.

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

Главное - активизировать командную оболочку

При нормальной работе системы сами выполняют начальную загрузку в автономном режиме, после чего к ним могут получить удаленный доступ администраторы и пользователи. Однако администраторам необходимо иметь инструмент восстановления системы в случае, если неожиданный отказ дисковода или какая-нибудь проблема конфигурации помешает системе нормально выполнить процесс начальной загрузки. Системы UNIX (вместо загрузки «по полной программе») могут ограничиться только самым необходимым, а именно активизацией командной оболочки на системной консоли. Этот вариант называют входом системы в так называемый «однопользовательский режим», режим восстановления или профилактический режим - все эти термины взаимозаменяемы. Однопользовательский режим не позволяет выполнять сетевые операции, а для использования системной консоли вам нужно иметь физический доступ к ней.

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

Этапы загрузки

Типичная процедура начальной загрузки состоит из шести отдельных этапов:

  • считывание начального загрузчика с главной загрузочной записи;
  • обнаружение и конфигурирование устройств;
  • создание процессов ядра;
  • вмешательство администратора (только в однопользовательском режиме);
  • выполнение системных сценариев запуска.

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

Инициализация ядра

Ядро представляет собой программу, и в качестве первой задачи начальной загрузки выполняется запись этой программы в память для последующего выполнения. Имя файлу ядра дает его изготовитель, но по традиции оно называется /unix или /vmunix . В Linux-системах ядро обычно получает путевое имя в виде вариации на тему /boot/ vmlinuz .

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

Ядро выполняет тесты, позволяющие определить, сколько памяти имеется в распоряжении системы. Часть внутренних структур ядра имеет фиксированный размер, поэтому ядро резервирует определенный объем физической памяти для самого себя. Эта память недоступна пользовательским процессам. Ядро выдает на консоль сообщение об общем объеме физической памяти и объеме памяти, доступной пользовательским процессам.

Конфигурирование аппаратных средств

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

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

Создание процессов ядра

После завершения этапа базовой инициализации ядро создает в области памяти, выделенной для пользовательских программ, несколько «самовыполняющихся» процессов. Это происходит «в обход» стандартного системного механизма fork .

Количество таких процессов зависит от операционной системы, хотя демон init всегда имеет идентификатор процесса (PID ), равный 1. Большинство систем UNIX использует sched в качестве процесса с идентификатором 0.В Linux процесс с идентификатором PID, равным 0, отсутствует. Демон init работает в сопровождении с различными обработчиками памяти и сигналов ядра. Все эти процессы имеют идентификаторы с низкими номерами, а их имена в листингах команды ps заключены в квадратные скобки (например, ). Иногда имена процессов могут содержать в конце символ косой черты и цифру, как, например, . Число указывает процессор, на котором выполняется данный процесс. Эта информация может быть полезна при настройке многопроцессорной системы.

Некоторые наиболее часто встречающиеся процессы ядра в Linux-системах
Процесс Назначение

k journald Записывает обновления журнала на диска
kswapd Выполняет подкачку процессов при недостаточном объеме физической памяти

ksoftirqd Обрабатывает мягкие прерывания, если ими нельзя заняться во время переключения контекста

khubd Выполняет конфигурирование USB-устройств

Для каждой смонтированной файловой системы ext3 или ext4 существует один процесс kjoumald.

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

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

После создания этих процессов ядро больше не принимает участия в процедуре начальной загрузки системы. К этому моменту, однако, еще не создан ни один из процессов, управляющих базовыми операциями (например, регистрацией пользователей в системе), и большинство демонов не запущено. Обо всем этом позаботится (в некоторых случаях косвенно) демон init.

Действия оператора (только в режиме восстановления)

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

В однопользовательском режиме команды выполняются почти так же, как и в полностью загруженной системе. Однако иногда монтируется только корневой раздел. Для того чтобы можно было использовать программы, находящиеся вне каталогов /bin, /sbin или /etc, необходимо вручную смонтировать остальные файловые системы.

Во многих однопользовательских средах корневой каталог файловой системы монтируется в режиме только для чтения. Если каталог /etc является частью корневой файловой системы (обычная ситуация), редактирование многих файлов конфигурации будет невозможно. Чтобы выйти из положения, придется начать однопользовательский сеанс с повторного монтирования каталога / в режиме чтения/записи. Нужное действие в Linux-системах выполняет следующая команда.

# mount -о rw,remount /

В большинстве других систем вы можете выполнить команду mount / , чтобы реализовать обращение к файлу fstab или vfstab и выяснить, как должна быть смонтирована файловая система.

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

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

Когда интерпретатор команд однопользовательского режима завершит свою работу, система продолжит загрузку в нормальном режиме.

Выполнение сценариев запуска системы

В тот момент, когда система сможет выполнять сценарии запуска, ее уже можно назвать UNIX. Это еще не полностью загруженная система, но «загадочных» этапов процесса загрузки больше не осталось. Файлы сценариев представляют собой обычные командные файлы, которые выбираются и запускаются демоном init по сложному, но, в общем-то, понятному алгоритму.

Точное местонахождение, содержимое и организация сценариев запуска заслуживают отдельного изучения.

Завершение процесса загрузки

После выполнения сценариев инициализации система полностью готова к работе. Такие системные демоны, как DNS- и SMTP-серверы, принимают и обслуживают подключения. Не забывайте о том, что демон init продолжает играть важную роль даже по завершении начальной загрузки.

У демона init есть один однопользовательский и несколько многопользовательских «уровней выполнения», определяющих, какие ресурсы системы будут доступны пользователю.

Последовательность загрузки Linux системы состоит из следующих этапов:

BIOS (Basic Input-Output System - базовая система ввода вывода)

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

Как правило это:

  • Привод CD-ROM
  • Жёсткий диск
  • Дисковод (используются всё реже)

Список зависит от возможностей конкретного BIOS"а, а также вашего оборудования.

Приоритет загрузки может быть изменён в BIOS"е. Войти в меню настройки BIOS"а, как правило, можно нажав Del, F1, F2 или F10 во время загрузки компьютера.

MBR (Master Boot Record - главная загрузочная запись)

Первый сектор загружаемого устройства хранения данных зарезервирован под главную загрузочную запись. Когда происходит загрузка с устройства, BIOS загружает и исполняет загрузчик операционной системы (boot loader), находящийся в MBR.

В большинстве случаев загрузчик достаточно сложен и не может вместиться в 512 байт отведённые MBR. В этом случае в MBR находится так называемый stage1, программа которая просто загружает программу второго этапа загрузки операционной системы - stage2 (иногда в качестве stage2 загружается загрузочный сектор активного раздела, boot manager или программа авторизации и защиты доступа).

В частности, stage2 загрузчика GRUB считывает данные из файла /boot/grub/grub.conf (или /boot/grub/menu.lst, в зависимости от версии), который содержит список всех доступных операционных систем и их параметры загрузки. После этого на экран выводится список операционных систем из которого пользователь выбирает ОС для загрузки.

Загрузчик операционной системы

В некоторых случаях stage1 загрузчика GRUB (GRand Unified Bootloader) производит загрузку stage1.5 код которого находится в первых тридцати килобайтах устройства хранения данных следующих сразу за MBR, и уже stage1.5 производит загрузку stage2.

Когда stage2 получает управление, на экран выводится (псевдо)графическое меню для выбора пользователем ОС для загрузки. Стоит отметить, что параметры загрузки могут быть изменены из этого же меню, что позволяет восстановить систему после того как menu.lst или grub.conf были случайно испорчены.

Как только параметры загрузки были выбраны, GRUB загружает выбранное ядро в память и передаёт управление ядру, которое уже само продолжает загрузку системы. Также GRUB может передать управление не ядру, а другому загрузчику, используя так называемую цепную загрузку (chain loading), например загрузчику ОС не поддерживающей стандарт Multiboot.

Ядро

В свою очередь, ядро проверяет конфигурацию оборудования, инициализирует устройства и запускает initrd (опционально), после чего монтирует с устройство указанное в параметрах загрузки как "root" как корневую файловую систему.

Файловая система устройства определяется автоматически. Если по каким либо причинам монтирование не удаётся, система выдаёт kernel panic и загрузка останавливается.

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

init

init - это последний шаг в последовательности загрузки системы. init является родителем (или же более далёким предком) для всех процессов исполняемых в системе. Этот процесс запускается первым в системе и его запуск производится непосредственно ядром. Он же запускает все системные процессы так как это указано в /etc/inittab.

Покуда система работает, init не будет завершён. Стоит отметить что init - пользовательский процесс, а не системный, не смотря на то что он запущен от root"а.

Уровни запуска (runlevel)

Каждая запись в /etc/inittab содержит так называемый "уровень запуска" для процесса, т.е. информацию о том на каком уровне запуска системы данный процесс должен быть запущен.

В Linux системах существует семь возможных значений для уровня запуска: от 0 до 6 включительно:

  1. Останов системы
  2. Однопользовательский режим
  3. Определяется пользователем, как правило это многопользовательский режим без поддержки сети и графической оболочки
  4. Многопользовательский режим без графической оболочки
  5. Определяется пользователем, как правило, не используется
  6. Многопользовательский режим с графической оболочкой

Основываясь на текущем уровне запуска, init запускает скрипты находящиеся в поддиректориях /etc/rc.d/, для каждого уровня запуска существует своя поддиректория, от /etc/rc.d/rc0.d до /etc/rc.d/rc6.d.

В действительности же запуск скриптов каждого уровня запуска выполняется скриптом /etc/rc который вызывается на каждом уровне запуска с параметром равным текущему уровню. Вызов же /etc/rc параметром прописан в /etc/inittab, для каждого из возможных уровней запуска.

Уровень запуска по умолчанию определяется записью в /etc/inittab:

Id:3:initdefault:

Текущий уровень запуска может быть изменён путём вызова:

/sbin/telinit #

Где # - желаемый уровень запуска. Т.е. вызов "/sbin/telinit 6" приведёт к перезагрузке системы.

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

Сразу после запуска компьютера появляется приглашение нажать специальную клавишу для запуска меню BIOS, если этого не сделать продолжится загрузка системы. Дальше мы рассмотрим что же происходит на каждом этапе загрузки linux.

BIOS (Basic Input Output System) - это программное обеспечение, предварительно встроенное в чипсет материнской платы. BIOS загружает компьютер и сканирует все его оборудование, проверяет наличие и работоспособность устройств, таких как жесткий диск, CD-ROM, RAM. На этом этапе начинается процесс загрузки ОС Linux.

Затем BIOS ищет MBR (Master Boot Record), которая обычно расположена в первом секторе жесткого диска и запускает записанный там загрузчик первой степени, например, Grub или Lilo. BIOS подготавливает загрузчик MBR, загружает все данные в оперативную память и выполняет их.

MBR занимает первых 512 байт на жестком диске. Здесь содержится информация о загрузчике операционной системы, туда записываются загрузчики большинства операционных систем, например: Linux, Unix, WIndows.

Несмотря на то, что MBR занимает место на диске, эта область не принадлежит никакому разделу. Адрес MBR, как правило, дорожка 0, цилиндр 0. Это место зарезервировано для программ начальной загрузки. Она включает не только исполняемую программу загрузчика, но и таблицу разделов на диске.

BIOS сканирует MBR, находит загрузчик первой ступени, затем сканирует таблицу разделов и находит загрузчик второй степени на разделе, который отмечен как загрузочный.

Загрузчик

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

Затем подгружаются файлы второй части загрузчика из загрузочного раздела жесткого диска. Например, Grub или Lilo. Такое разделение нужно, потому что весь код загрузчика в 512 байт не помещается.

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

В конфигурационном файле для каждого пункта записано ядро, которое и нужно загрузить. Обычно ядра находятся в папке /boot. Затем Grub загружает нужное ядро vmlinuz-версия

Подготовка ядра

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

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

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

Инициализация ядра

Инициализация ядра включает такие этапы:

  • Инициализация компонентов процессора, например MMU
  • Инициализация планировщика (PID 0)
  • Монтирование файловой системы в режиме чтения и записи
  • Форк процесса инициализации (PID 1)

В процессе инициализации ядро выполняет следующие задачи:

  • Запуск основной системы и общего менеджера ресурсов (RAM, процессор, жесткий диск)
  • Запуск процесса инициализации (/sbin/init)

Система инициализации

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

Процесс загрузки в каждом из случаев немного отличается, но суть одна и та же.

В SysVinit сначала запускается программа /sbin/init, затем она читает файл параметров /etc/inittab чтобы определить нужный уровень запуска по умолчанию. Вот эти уровни загрузки Linux:

  • 0 - выключение
  • 1 - Однопользовательский режим
  • 2 - Многопользовательский режим без сети
  • 3 - Полноценный режим
  • 4 - Не используется
  • 5 - Запуск X11

Уровни загрузки Linux можно переключать и вручную, с помощью команды telinit. По умолчанию используется, обычно, уровень 5.

Затем выполняется скрипт /etc/rc.d/rc.sysinit, а также все скрипты из папки /etc/rc.d/rcx, где x - номер уровня запуска. Например если мы загружаемся с уровнем запуска 5, то будут выполнены все скрипты из папки /etc/rc.d/rc5.d.

Имена скриптов запуска начинаются с буквы S, а завершения - K. После рассмотрения этой структуры, вы уже понимаете как работает автозагрузка сервисов в Linux? Теперь вы можете добавить скрипт в автозагрузку вручную просто создав символическую ссылку в нужной папке.

После выполнения всех этих действий системе остается только запустить все виртуальные консоли TTY и менеджер входа в систему, например XDM или SDDM.

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

Но суть процесса загрузки та же, запускаются такие же сервисы. Вместо уровней запуска используются специальные юниты - .target. Имя юнита содержит номер уровня запуска и слово runlevel. Например: runlevel0.target - отключение, и т д. Эти юниты и тянут за собой в зависимостях все необходимые сервисы для нормальной работы системы.

Linux обычно ставят после Windows так, чтобы GRUB затер загрузчик Windows и отображал во время загрузки обе системы. По умолчанию сначала идет Linux, в конце - Windows. Кого-то такое порядок может не устраивать . Есть и другой важный параметр - время ожидания.

Обычно приходится ждать 10 секунд, и только потом грузится первая ОС. Этот параметр можно легко изменить .

Все, что нужно сделать, - это отредактировать файл «grub.cfg» . Чтобы обезопасить себя, будем работать с копией файла на рабочем столе. Чтобы изменения можно было сохранить, файл нужно открыть от имени администратора - для этого используем консоль .

1 . Заходим в папку «boot/grub/ » и копируем файл «grub.cfg » на рабочий стол. Это можно делать через консоль или через файловый менеджер .


Если выбираете консоль, то введите команду: «sudo cp /boot/grub/grub.cfg /home/kij/Desktop/ » .


«kij» - это имя пользователя, у вас оно наверняка другое.

2 . Открываем файл «grub.cfg » на рабочем столе в текстовом редакторе. Делаем это через консоль: «sudo kate /home/kij/Desktop/grub.cfg »

«kate » - это текстовый редактор Linux Mint KDE 15. Если у вас другой дистрибутив, то и редактор, скорее всего, другой, например, «gedit ».

3. Обращаем внимание на строку «set default=0 ».

Каждый пункт в GRUB имеет свой номер:

Linux - 0;

Linux...recovery mode - 1;

Memory test - 2;

Memory test (другая модификация) - 3;

Windows 7 - 4.


У вас может быть немного по-другому. В моем случае показатель default должен равняться 4, тогда по умолчанию будет грузиться Windows.

4. Теперь изменяем временный параметр. Ищем в том же «grub.cfg » строку «set timeout=... ».


Выставляем, сколько нужно. Если компьютер используют несколько пользователей, выставляем длительный таймаут - секунд 30. Если постоянно загружаете одну ОС, то ставьте 2-3 секунды.

5. Сохраняем изменения. Закрываем редактор.

6. Копируем файл с рабочего стола обратно в системную папку. Используем команду «sudo cp /home/kij/Desktop/grub.cfg /boot/grub/ ».


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

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

Установить Linux несложно. Конечно, есть такие дистрибутивы, как Arch, установка которого довольно трудна для новичка. Но большинство современных дистрибутивов устанавливается очень просто. Пожалуй, даже проще и быстрее, чем Windows.

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

Установить Linux можно на компьютеры под управлением Windows и macOS или на пустой жёсткий диск. Вы можете выбрать Linux своей основной системой либо пользоваться ей параллельно с вашей старой системой.

1. Загрузите дистрибутив Linux

Прежде всего нужно выбрать дистрибутив Linux. Определиться вам поможет рейтинг DistroWatch.com .

Затем нужно загрузить выбранный дистрибутив. Сделать это легче лёгкого: откройте сайт нужного дистрибутива, отыщите раздел загрузок и выберите то, что подходит по разрядности вашему процессору.

Как правило, дистрибутивы Linux на официальных сайтах предлагается скачать двумя способами. Первый способ - обычная загрузка. Второй - через P2P посредством торрент-клиента. Второй способ, естественно, быстрее. Так что выбирайте его, если хотите сэкономить время.

Когда дистрибутив в формате ISO скачан, нужно записать его на CD или обычную USB-флешку.

Запись на CD можно осуществлять стандартными средствами системы: «Запись образа диска» Windows или «Дисковая утилита» macOS. Достаточно щёлкнуть по загруженному образу правой кнопкой мыши и выбрать соответствующий пункт в меню.

Для записи ISO на флешку вам понадобятся специальные утилиты. Для Windows лучше выбрать Rufus , а для macOS - UNetbootin . У этих программ очень простой интерфейс, в них довольно сложно запутаться.

3. Подготовьте раздел диска

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

Windows

Откройте «Средство управления дисками» Windows. Выберите диск или раздел, от которого вы планируете отрезать немного места для установки Linux. Большинству дистрибутивов с лихвой хватит 10 ГБ. Но если вы планируете устанавливать много приложений, возьмите больше. Щёлкните по разделу правой кнопкой мыши и выберите «Сжать том». Введите размер и нажмите ОК.

Процесс может занять довольно много времени, так что запаситесь терпением.

Когда «Средство управления дисками» закончит изменять размеры разделов, на диске появится пустое неразмеченное пространство, отмеченное чёрным цветом. Туда мы и установим Linux.

Позже, если Linux вам не понадобится, можно будет удалить разделы с ним и отдать освободившееся место обратно Windows при помощи всё того же «Средства управления дисками».

macOS

Выделить место для установки Linux можно через «Дисковую утилиту» macOS. Выберите ваш диск и щёлкните по значку «+», чтобы создать раздел для Linux. Создание нового раздела может занять некоторое время.

4. Подготовьте загрузчик

Windows

Этот пункт касается только новых компьютеров под управлением предустановленной Windows 10, 8.1 или 8. На таких компьютерах используется загрузчик UEFI, который не позволит вам загрузить какую бы то ни было систему, кроме Windows.

Чтобы это исправить, зайдите в настройки BIOS вашего компьютера и отключите опцию Secure Boot. Затем перезагрузитесь. Готово, теперь вы можете загружать и устанавливать другие системы рядом со своей Windows.

macOS

В отличие от большинства компьютеров, Mac требует пары дополнительных действий для того, чтобы установить Linux в дуалбуте с macOS.

Прежде всего, отключите SIP. Перезагрузите Mac и нажмите Cmd + R. Появится меню Recovery. Выберите в нём «Терминал» и введите csrutil disable .

Перезагрузите Mac ещё раз. SIP отключён.

Ручной

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

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

Чтобы установить Linux вместо вашей системы, выберите раздел с установленной системой и удалите его кнопкой «–». Затем на освободившемся месте создайте новые разделы.

  • Корневой раздел для системных файлов Linux. Выберите файловую систему Ext4 и точку монтирования /.
  • Swap-раздел, или раздел подкачки, пригодится, если у вас не хватает оперативной памяти, но зато быстрый SSD-диск. В списке файловых систем выберите «Раздел подкачки».
  • Home-раздел, где будут храниться ваши файлы. Выберите файловую систему Ext4 и точку монтирования /home.

Нажмите «Продолжить» и подтвердите изменения. Установщик сотрёт выбранные вами разделы и создаст новые на освободившемся месте.

Как установить Linux рядом с текущей системой

Установить Linux рядом с вашей системой можно двумя способами.

Автоматический

Большинство установщиков Linux сразу обнаруживают установленные у вас системы. Если вы не создавали отдельное пространство на диске для Linux, то можете попробовать выбрать пункт «Установить рядом с Windows». Установщик самостоятельно создаст нужные разделы, и вам не придётся ничего делать вручную.

Ручной

Если же вы хотите сами определить, сколько места выделять системе, и выполнили указания в пункте 3, щёлкните «Другой вариант» и нажмите «Продолжить». Вы увидите разделы своего диска и пустое место, которое мы приготовили для Linux. Создайте там корневой раздел (точка монтирования /), как описано выше. Домашний раздел в таком случае не обязателен: вы сможете копировать и изменять файлы в своей основной системе.

Нажмите «Продолжить». Установщик оставит ваши файлы на своих местах. Он просто создаст новые разделы на свободном месте. Вы сможете выбирать, какую систему хотите загрузить при запуске.

8. Завершите установку Linux

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

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

Что делать после установки

Когда вы перезагрузитесь и перед вами появится рабочий стол вашей Linux, вы сможете делать всё то же, что и в Windows и macOS: сёрфить в интернете, редактировать документы и слушать музыку. Не забудьте обновиться и заглянуть в «Магазин приложений» (или его аналог в зависимости от дистрибутива), чтобы доустановить нужные вам приложения.

Попробуйте Linux, и вы увидите, что в повседневной жизни она ничуть не сложнее Windows или macOS.