Как сделать загрузку Windows первой в Grub. Введение в процесс загрузки и запуска Linux Загрузка операционной системы linux

Для выбора и запуска операционной системы во время загрузки компьютера используется специализированная программа - загрузчик. Самый популярный загрузчик - Grub. При установке нескольких операционных систем, например, Linux поверх Windows, в меню загрузчика первой будет последняя установленная ОС.

Это не вызовет проблем у пользователей, которые пользуются Linux как основной системой, для них это даже более предпочтительный вариант. Но если вы еще новичок, и хотите использовать Linux второй системой, а Windows пока еще основной, до тех пор, пока не освоитесь, то наверное захотите чтобы первой была Windows. В этой статье мы рассмотрим как сделать загрузку Windows первой в Grub. Рассмотрим два способа: с помощью программы Grub Customizer и вручную, через файлы конфигурации загрузчика Grub.

Grub Customizer

Grub Customizer - это программа, позволяющая настраивать различные параметры загрузчика Grub. В том числе и положение и очередность пунктов загрузки. Установить программу можно из официальных репозиториев. Например, в Ubuntu нужно использовать ppa:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get update
$ sudo apt-get install grub-customizer

Для запуска программы откройте терминал (Ctrl+Alt+T) и наберите grub-customizer:

Для работы программы необходимы права root, в некоторых системах возможно придется использовать такую команду:

gksu grub-customizer

Также программу можно запустить из главного меню. Главное окно выглядит вот так:

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

В меню выберите пункт Переместить вверх . Это действие нужно будет повторить несколько раз, пока Windows не будет первой в списке. Теперь будет выполняться загрузка windows по умолчанию grub.

Если потом вы захотите опустить Windows обратно вниз, есть обратное действие - Переместить вниз .

Для сохранения настроек просто нажмите кнопку Сохранить. Готово. Можете перезагружать компьютер и смотреть что получилось.

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

Здесь для выбора пункта по умолчанию используемого по умолчанию есть список Задействовать :

Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:

Изменение порядка загрузки Grub через терминал

Как я и обещал, теперь рассмотрим как сделать загрузку WIndows первой в Grub с помощью конфигурационных файлов. Конфигурация Grub находится в файле /boot/grub/grub.cfg.

gksu gedit /boot/grub/grub.cfg

Как правило, строки меню выглядят вот так:

menuentry имя_пункта --опции {
...

Например пункт Windows:

menuentry "Windows 8 (loader) (on /dev/sda1)" --class windows --class os $menuentry_id_option "osprob
er-chain-FC324E26324DE66C" {
....

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

Аналогично тому как мы настраивали пункт, загружаемый по умолчанию в Grub Customizer, это можно сделать и в терминале.

Откройте файл /etc/default/grub.

gksu gedit /etc/default/grub

Здесь нас интересует строчка:

Замените 0, на нужный пункт для загрузки, также вместо цифры можно указать имя пункта, например:

GRUB_DEFAULT="Windows 8 (loader) (on /dev/sda1)"

Посмотреть доступные пункты загрузки не открывая файл конфигурации можно командой:

sudo grep menuentry /boot/grub/grub.cfg

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

GRUB_SAVEDEFAULT=true

А в GRUB_DEFAULT укажите saved:

GRUB_DEFAULT=saved

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

Не во всех системах работает такой вариант, поэтому можно использовать другую команду:

grub2-mkconfig -o /boot/grub/grub.cfg

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

Похожие записи:


Linux: Полное руководство Колисниченко Денис Николаевич

1.8. Первый запуск Linux

1.8. Первый запуск Linux

Если вы выбрали для входа в систему графический режим (или инсталлятор выбрал его сам, ни о чем не спросив), то вы увидите графический экран с полем ввода имени и пароля. Зарегистрируйтесь в системе (лучше под тем именем, которое завели для обычного пользователя; используйте root, только если обычных учетных записей у вас еще нет), и вы увидите рабочий стол той оконной среды, которую установили в качестве среды по умолчанию, внешне довольно похожий на рабочий стол Windows.

Как же так, вы ведь слышали, что настоящие линуксоиды работают в среде командной строки? Сейчас найдем и командную строку.

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

В большинстве дистрибутивов Linux по умолчанию обслуживается шесть текстовых виртуальных консолей, седьмая - графическая. На ней вы и находитесь. Чтобы переключиться с нее на первую текстовую консоль, нажмите комбинацию клавиш Ctrl+Alt+F1 (на шестую - Ctrl+Alt+F6).

В ответ на приглашение программы login: введите root и нажмите <Ввод>. Потом введите пароль, и ваш сеанс работы в текстовой консоли начат.

Информацию о сетевом имени машины, версии ОС, архитектуре можно получить по команде uname -а.

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

#useradd < имя >

Если вам ответили «command not found», то, значит, в вашей системе эта команда называется adduser .

#passwd < имя >

Теперь можно регистрироваться под новым именем на другой виртуальной консоли. Чтобы с текстовой консоли переключиться на другую текстовую, нажмите комбинацию Alt+Fn, где n - число от 1 до 6. Вы снова увидите приглашение login: .

Зарегистрировались? Обратите внимание на строку приглашения. На той консоли, где вы зарегистрировались как root, она оканчивается символом #, а для любого обычного пользователя - символом $. Кроме этого символа, приглашение обычно состоит из имени пользователя, имени системы и текущего каталога, причем вид его можно изменить, как только вы узнаете, как это делать. В дальнейших примерах строки, начинающиеся с # или будут обозначать вводимую команду, а строки без такого символа - ее сообщения.

Теперь убедитесь сами, что Linux - действительно многозадачная и многопользовательская система, то есть, в отличие от Windows, несколько пользователей могут работать одновременно. Спросите, кто сейчас работает в системе, введя команду who .

Вы увидите что-то вроде:

root tty1 <дата и время начала сеанса root>

ivan tty2 <дата и время начала сеанса ivan>

root:0 <дата и время начала сеанса root>

<на графической консоли>

ttyN - это номер виртуальной текстовой консоли.

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

Листать экран можно комбинациями клавиш Shift+PgUp и Shift+PgDn.

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

Если вы хотите, не сходя с этой консоли, поработать под именем другого пользователя, введите su <имя> . По умолчанию в качестве имени подставляется root. Обычно это нужно для того, чтобы быстро выполнить какое-то администраторское действие. Возвращайтесь к работе под своим именем по команде exit.

Чтобы переключиться обратно на графическую консоль, нажмите Alt+F7.

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

Рис. 1.13 . Окно виртуального терминала

Количество виртуальных терминалов, в отличие от количества виртуальных консолей, не ограничено ничем, даже традицией.

Чтобы завершить сеанс работы на виртуальном терминале или на виртуальной консоли, введите команду exit (на виртуальной консоли можно также logout) или нажмите комбинацию клавиш Ctrl+D.

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

# shutdown -h 19:00 [Конец рабочего дня]

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

Из книги Мир общения: ICQ автора Леонтьев Виталий Петрович

Первый запуск программы. Интерфейс ICQ После установки ICQ и перезагрузки компьютера в правом углу вашей панели задач появится скромный цветок с бледными лепестками – ICQ Netdetect Agent. Значок ICQВ момент вашего входа в Интернет лепестки цветка должны окраситься в ярко-зеленый

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

1.1.3.1. Запуск программы установки Linux Первым делом нужно настроить компьютер на загрузку с компакт диска. Обычно при запуске компьютера вы видите на экране сообщение:Press DEL to enter SETUP или Press F2 to enter SETUPВ программе SETUP нужно настроить компьютер на загрузку с CD/DVD (рис. 1.2), Если вы

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

Глава 3. Первый запуск ОС Linux 3.1. Загрузка ОС Linux Итак, инсталляция Linux завершена, и вы перезапускаете компьютер. Если Linux - единственная операционная система, установленная на вашем компьютере (а, значит, загрузчик LILO размещается в главной загрузочной записи - MBR), то после

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

П5. К главе 3 "Первый запуск ОС Linux" 1. На странице Алексея Махоткина (http://alexm.here.ru/manpages-ru/index.html) можно найти переводы man-страниц на русский язык. 2. Guido Gonzato, "Из DOS/Windows в Linux HOWTO", перевод Alex Ott, v1.3.2, 22 Февраля 1999 (http://linux.webclub.ru/howtorus/doswinhow/dos-win-to-linux-howto.html). Это очень полезный материал

Из книги Видеосамоучитель монтажа домашнего видео в Adobe Premiere Pro CS3 автора Днепров Александр Г

Запуск игр Windows под Linux Для Linux существует мало игр. Неказуальных игр, позволяющих убить время, в Linux предостаточно, при установке дистрибутива пользователь найдет их несколько десятков. Есть и проекты OpenSource, предлагающие довольно серьезные игры в самых разообразных

Из книги Создание шаблонов Joomla автора Автор неизвестен

Первый запуск программы Premiere Pro Установка программы Premiere Pro на компьютер производится с помощью пошагового мастера. Нужно просто следовать указаниям на экране.Запустим программу Premiere Pro и создадим новый проект, чтобы далее познакомиться с интерфейсом программы.1. Нажмите

Из книги Цифровой журнал «Компьютерра» № 71 автора Журнал «Компьютерра»

Первый запуск После того, как мы создали структуру директории [ПутьКJoomla!]/templates/, наш шаблон появится в соответствующей секции административной части Joomla! (Extensions | Template). Теперь его можно использовать как шаблон по умолчанию. Рис. 2: Структура директории и файлы шаблона

Из книги Компьютерра PDA N113 (28.05.2011-03.06.2011) автора Журнал «Компьютерра»

Первый взгляд на Fedora Linux 15 Евгений Крестников Опубликовано 30 мая 2011 года Это выпуск важен по нескольким причинам. Во-первых, Fedora - популярный дистрибутив, который использует множество людей во всем мире. Кроме того, создается он сообществом

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Первый взгляд на Fedora Linux 15 Автор: Евгений КрестниковОпубликовано 30 мая 2011 годаЭто выпуск важен по нескольким причинам. Во-первых, Fedora - популярный дистрибутив, который использует множество людей во всем мире. Кроме того, создается он сообществом независимых разработчиков

Из книги Наглядный самоучитель работы на нетбуке автора Сенкевич Г. Е.

Первый запуск Как и большинство современных антивирусных программ, AVG Anti-Virus Free является не единой программой, а пакетом, состоящим из нескольких модулей, отвечающих за различные области защиты компьютера:? Anti-Virus - антивирусный сканер, отвечает за сканирование файлов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Первый запуск Почты Windows Live Чтобы запустить установленную почтовую программу, нажмите кнопку Пуск и в открывшемся меню выберите пункт Почта Windows Live (1).Если этот значок в меню отсутствует, щелкните на пункте Все программы. В списке программ щелкните на пункте Windows Live -

Из книги Photoshop CS4 автора Жвалевский Андрей Валентинович

Первый запуск Windows Media Для запуска проигрывателя Windows Media нажмите кнопку на Панели задач или выберите в меню кнопки Пуск пункт Все программы|Проигрыватель Windows Media. При первом запуске проигрывателя предлагается выполнить некоторые его настройки. Установите переключатель

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

Запуск Firebird на Linux/UNIX Суперсервер Каталог инсталляции по умолчанию /opt/firebird. В каталоге /bin находится в двоичном формате сервер Firebird fbserver (ibserver для Firebird 1.0.x), который запускается как процесс-демон в Linux/UNIX. Он запускается автоматически после инсталляции посредством RPM или

Из книги автора

Установка Photoshop CS4 и первый запуск Системные требования для Photoshop CS4 таковы: процессор с тактовой частотой не ниже 1,8 ГГц; операционная система Windows XP с Service Pack 2 (желательно Service Pack 3) или Windows Vista; не менее 512 Мбайт оперативной памяти (рекомендуется 1 Гбайт); 16-разрядная

Из книги автора

Slackware: первый шаг к Linux’у для всех Итак, дистрибутив SLS умер. Но душа его жила. Ещё в период его активного развития Патрик Фолькердинг принял SLS за основу своей Linux-системы, названной Slackware, первая версия которой была обнародована 17 июля 1993 года и с тех пор успешно развивается

Из книги автора

IPLabs Linux Team: начало русского Linux’а Следующая веха на пути русского Linux’а – 1998 год, когда фирма IPLabs (точнее, ее подразделение – IPLabs Linux Team) совместно с Институтом логики (на самом деле это были одни и те же люди – Алексей Новодворский, Алексей Смирнов и Юрий Девяткин с

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.

Нажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:

1. BIOS

  • BIOS отвечает за базовый ввод/вывод данных с устройств/на устройства.
  • Делает некоторые проверки целостности устройств. К тому же, за тестирование работоспособности электроники отвечает POST (Power-on self-test, он же «тест на адекватность себя самого», выполняющийся как этап пре-загрузки), который управляется BIOS
  • Ищет, загружает и выполняет программу-загрузчик ОС
  • Берет загрузчик из флопика, сидюка или жесткого диска. Во время загрузки BIOS"а вы можете нажать на кнопку (обычно это F12 или F2 или Del, зависит от платформы), если вам требуется внести некоторые изменения касательно настройки железа.
  • Как только загрузчик был обнаружен и загружен в память, BIOS передает управление ему.
  • Короче говоря, BIOS загружает и выполняет загрузочную запись (MBR).

2. MBR

  • MBR - это главная загрузочная запись, хранящаяся на жестком диске
  • Она размещена в 1-м секторе загрузочного диска, например /dev/hda или /dev/sda
  • MBR занимает меньше, чем 512 байтов. Она состоит из трех компонентов: 1) главная загрузочная информация, «живущая» в первых 446 байтах; 2) информация о таблице разделов - в следующих 64 байтах; 3) и последние 2 байта нужны для проверки корректности mbr.
  • Она содержит информацию о GRUB"е (или LILO).
  • Простыми словами - MBR загружает и выполняет загрузчик GRUB.

3. GRUB

  • GRUB - Grand Unified Bootloader.
  • Если в вашей системе установлено более, чем одно ядро, у вас есть возможность выбирать, которое из них должен выполняться
  • GRUB отображает красивую анимацию plymouth заставку, и, подождав несколько секунд интерактивного воздействия пользователя, если он не нажал ни одной клавиши, он загружает ядро, установленное по умолчанию в файле конфигурации grub.
  • GRUB понимает, что такое файловая система (древние загрузчики Linux"а, например, LILO этого не понимают).
  • Конфигурационный файл Grub обычно лежит по пути /boot/grub/grub.conf (так же /etc/grub.conf может быть символьной ссылкой на него). Вот пример файла конфигурации для CentOS:
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-194.el5PAE)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/
    initrd /boot/initrd-2.6.18-194.el5PAE.img
  • В качестве примечания к информации выше, конфигурационный файл содержит путь к ядру и образу initrd
  • Если быть кратким, GRUB просто напросто загружает и выполняет образы ядра и initrd.

4. Ядро или Kernel

  • Ядро монтирует файловую систему в соответствии с настройкой «root=» в фале grub.conf
  • Выполняет программу /sbin/init
  • Поскольку init - это первый процесс, запущенный ядром Linux, поэтому она имеет идентификатор процесса (PID) №1. Можете выполнить «ps -ef | grep init» и убедиться в этом.
  • initrd - это Initial RAM Disk, он же временный диск в оперативной памяти
  • initrd используется самим ядром в качестве временной корневой файловой системы, пока kernel не загрузится в реальную примонтированную файловую систему. Этот временный диск также содержит необходимые для загрузки драйверы, позволяющие получить доступ к разделам дисков и другому оборудованию

5. Init

  • Смотрит в файл /etc/inittab для того, чтобы определить уровень выполнения (run level).
  • Есть следующие уровни выполнения:
    • 0 – прервать выполнение
    • 1 – Однопользовательский режим, так называемый «Single user mode», или иными словами, консоль восстановления
    • 2 – Многопользовательский режим без поддержки NFS
    • 3 – Полноценный многопользовательский режим
    • 4 – не используется
  • Init определяет уровень выполнения по умолчанию исходя из /etc/inittab и использует его для загрузки всех необходимых программ.
  • Выполните «grep initdefault /etc/inittab» на вашей системе, и вы узнаете, какой уровень по умолчанию у вас используется
  • Если у вас не получается жить спокойно, то можете установить стандартный уровень на 0 или 6. :)
  • В большинстве случаев вам будет достаточно уровня 3 или 5.

6. Уровень выполнения программ (Runlevel)

  • Когда Линукс выполняет свою загрузку, вы можете наблюдать загрузку различных служб. К примеру, это могут быть сообщения типа «starting Postfix … OK» (запускается Postfix). Эти службы - и называются программами уровня выполнения, выполняемые из директории, которая соответствует нужному уровню выполнения.
  • Исходя из настроек по умолчанию, система будет выполнять файлы в соответствии с нижеприведенными директориями.
    • Выполнение уровня 0 – /etc/rc.d/rc0.d/
    • Выполнение уровня 1 – /etc/rc.d/rc1.d/
    • Выполнение уровня 2 – /etc/rc.d/rc2.d/
    • Выполнение уровня 3 – /etc/rc.d/rc3.d/
    • Выполнение уровня 4 – /etc/rc.d/rc4.d/
    • Выполнение уровня 5 – /etc/rc.d/rc5.d/
    • Выполнение уровня 6 – /etc/rc.d/rc6.d/
  • Но имейте ввиду, что еще в каталоге /etc могут быть символические ссылки. Например, /etc/rc0.d залинкован на /etc/rc.d/rc0.d.
  • В каталогах /etc/rc.d/rc*.d/ вы можете увидеть список программ, имя которых начинается из букв S и K.
  • Программы, начинающиеся на S используются для запуска. S, потому что s tartup.
  • Программы, которые начинаются с литеры K используются - правильно - для завершения работы. K, потому что k ill.
  • Еще есть номера рядом с буквами S и K в именах программ. Эти номера используются для определения порядка запуска этих программ.
  • К примеру, S12syslog предназначен для запуска демона syslog, его порядковый номер 12. S80sendmail - для запуска демона sendmail, имеющего порядковый номер 80. Таким образом, программа syslog будет запущена перед sendmail.

Вот и все. Возможно, некоторым из вас это не ново и особого интереса не было при чтении статью, поскольку она более ориентирована на начально-средний уровень знакомства з Линуксом.
В таком случае могу лишь сказать, что «повторение - мать учения» (с).

Дополнения, исправления, уточнения

В комментариях неоднократно было апеллировано к тексту статьи, поэтому, думаю, стоит учесть некоторые важные комментарии хабрасообщества. (спасибо artemlight , 3al , Tishka17 , HhyperH , Next_Alex , Ilya_Shmelykh , Aux , soomrack , Xpeh)
  • artemlight: : «Ну скажем прямо - так грузятся далеко не все дистры». С ним согласилось большинство, отмечая и bsd-style init, u-boot, и хоть initrd в статье пропущен, стоить заметить, что он нужен ядру не во всех дистрибутивах. Также отмечено, что в slackware поддержка rc.d осуществляется только в качестве совместимости, а встраиваемые системы грузятся иначе. На декстопах иногда бывает EFI, а кроме того Linux популярен в мире embedded и там ещё куча разных платформ. Линукс в телефоне вообще иначе грузится.
  • soomrack , ссылая на википедию: Еще хочется сделать замечание по поводу MBR, первого сектора и пр. Все несколько усложнилось за последние годы. Сейчас уместней говорить о EFI.

    «GUID Partition Table (GPT) является стандартным форматом размещения таблиц разделов на физическом жестком диске. Он является частью Extensible Firmware Interface (EFI) (Расширяемый Микропрограммный Интерфейс) - стандарта, предложенного Intel на смену отжившего BIOS, одного из последних реликтов первозданной IBM PC. EFI использует GPT там, где BIOS использует Главную загрузочную запись (MBR)....»

  • Так же просили вспомнить о LILO. LILO, ми тебя помним! Привет!
  • Xpeh доплняет , что «BIOS (и не упомянутый тут (U)EFI) прежде всего занимается инициализацией устройств (в том числе загрузку собственных биосов PCI-устройств), про это ничего не написано. Хотя эта роль постепенно сокращается, так как всё больше железа инициализирует себя само и/или поддерживает горячее подключение и потому всё равно инициализируется ОС, но, например, инициализацию оперативной памяти он делает всегда. „
  • VolCh уточняет загрузку для ОС Debian-Ubuntu:
    Для Debian/Ubuntu:
    - каталога /etc/rc.d/ нет;
    - каталоги /etc/rc?.d/ настоящие каталоги, а не ссылки;
    - в этих каталогах хранятся ссылки на скрипты в каталоге /etc/init.d/

    Вручную лучше в /etc/rc?.d/ ничего не править, а использовать команду update-rc.d, которая позволяет создавать ссылки, удалять их, запрещать (фактически переименовывать c S* на K*) и разрешать (c K* на S*) запуск.

Если на вопрос: «как добавить программу в автозагрузку?» — начинающие пользователи находят ответ достаточно быстро, то вопрос о запуске скрипта, при выключении/перезагрузки, ставит их в тупик. В статье будет описан стандартный способ для автоматического выполнения команд при включении и выключении linux, а также более простой способ для пользователей, у которых установлен gdm и графический интерфейс, например ubuntu.

Консольный вариант.

Немного теории.
Следует знать, что в Linux существует 7 уровней запуска. Однако, использоваться могут только 6.
Как у всех уважающих себя программ отсчёт начинается с 0-ля.
0 — Остановка или выключение системы.
1 — Однопользовательский режим.
2 — Многопользовательский режим, но без поддержки сети.
3 — Тоже самое, но с сетью.
4 — Добавили для красоты Не используется.
5 — Графический режим с загрузкой X сервера.
6 — Перезагрузка.
Если перейти в папку /etc (В некоторых дистрибутивах /etc/rc.d) то можно увидеть папки с 7-мью уровнями запуска.

Например при выключении компьютера, выполнятся все скрипты из папки rc0.d


Тут следует остановится по подробнее. Дело в том, что самих скриптов (а точнее сценариев) в этой папке нету, а есть только ссылки на файлы, которые лежат в папке /etc/init.d. Эти сценарии выполняют различные задачи, в зависимости от параметра start или stop (например /etc/init.d/reboot start и /etc/init.d/reboot stop это разные команды, а /etc/init.d/reboot вообще не будет работать). Если в ссылке стоит первая буква S, то значит сценарию подаётся параметр start, а если стоит буква K(от слова kill), то параметр stop. Цифра после буквы обозначает порядок выполнения сценария.
Например, на выше вставленном скриншоте вначале выполниться команда /etc/init.d/hddtemp stop, а уже позже /etc/init.d/networking start.
Хватит теории. Переходим к практике.
Для того, чтобы добавить команду в автозагрузку, достаточно поместить её в файл /etc/rc.local.

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

sudo nano /etc/rc.local

И помещаем наши команды чуть выше строчки с exit 0.
Для того, что бы команды выполнялись перед выключением или перезагрузкой нам нужно создать сценарий в папке /etc/init.d

sudo nano /etc/init.d/имя_сценария

Вставляем следующий код:

#! /bin/sh
case "$1" in
start)
echo "подан сигнал start"
;;
stop)
echo "подан сигнал stop"
;; esac

Если будет подаваться только один сигнал, то просто закомментируйте строку поставив в начале команды знак #
Например

...
case "$1" in
start)
#
;;
...

Теперь делаем файл исполняемым:

sudo chmod +x /etc/init.d/имя_сценария

sudo update-rc.d имя_сценария start 20 0 6 . stop 1 0 6 .

Точки важны (обе). Исследуя просторы интернета, у меня сложилось впечатление, что синтаксис этой программы иногда меняется. Актуальные примеры можно посмотреть по команде «man update-rc.d». Примеры будут в низу.

Эта команда создаст по 2 ссылки в каталогах /etc/rc0 .d (второе число в команде) и /etc/rc6 .d (третье число в команде). Причём вначале будет выполняться сценарий с параметром stop (т.к. стоит 1), а уже потом с параметром start (т.к. стоит 20).
Если второй параметр не нужен, то можно выполнить команду:

sudo update-rc.d имя_сценария stop 1 0 6 .

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

Для пользователей ubuntu, да и многих других современных дистрибутивов с gdm можно воспользоваться…

Графический вариант.

Что касается автозагрузки то можно воспользоваться способом описанным .
Или просто открыть «автоматически запускаемые приложения» командой:

gnome-session-properties

Для выполнения скрипта при выключении компьютера, помещаем его в файл /etc/gdm/PostSession/Default

sudo gedit /etc/gdm/PostSession/Default

Прямо над строчкой exit 0.

Windows 8