Linux grub init 3

How to boot a Linux system without graphical server

rather than a permanent change on the system (the standard behaviour should be to boot with the default graphical interface).

As requested, I’m adding the relevant content of /boot/grub2/grub.cgf

menuentry 'openSUSE 13.2' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-179689d2-d2f3-4ec8-9cc3-01ec946c6b11' < load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 179689d2-d2f3-4ec8-9cc3-01ec946c6b11 else search --no-floppy --fs-uuid --set=root 179689d2-d2f3-4ec8-9cc3-01ec946c6b11 fi echo 'Loading Linux 3.16.7-24-desktop . ' linux /boot/vmlinuz-3.16.7-24-desktop root=UUID=179689d2-d2f3-4ec8-9cc3-01ec946c6b11 quiet quiet liveinstall lang=it_IT resume=/dev/disk/by-id/ata-WDC_WD5000BEVT-00A0RT0_WD-WXL1AC0U9725-part7 splash=silent quiet showopts vga=803 echo 'Loading initial ramdisk . ' initrd /boot/initrd-3.16.7-24-desktop >

No, the graphical interface starts as usual. I also tried to replicate your first suggestion by simplifying the linux line to linux /boot/vmlinuz-3.16.7-24-desktop root=UUID=179689d2-d2f3-4ec8-9cc3-01ec946c6b11 ro quiet text , whitout any success.

So, you’re hitting E to edit the menu entry on the grub boot screen and then F10 to boot and it still goes to GUI?

Yes, exactly. I have even tried this on a virtual machine (still with openSUSE) but without any success. As soon as possible I’ll try also with another distro.

5 Answers 5

What you are asking for is not completely clear to me, so I will give you several possible answers, hoping you can find the one you are interested in.

    You can disable the X server at the next boot by going to /etc/default/grub , finding the line

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 
GRUB_CMDLINE_LINUX_DEFAULT="text" 

You can do the vice versa to re-enable the X server.

    You can disable your Window Manager: assuming you are using systemd , which most Linux distros do nowadays,

 menuentry 'Ubuntu (Text mode)' --class ubuntu < recordfail insmod gzio insmod part_msdos insmod ext2 set root='hd0,msdos1' linux /vmlinuz root=/dev/sda1 ro text initrd /initrd.img >
linux /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro quiet 3 

Always usefull when your nvidia drivers brick. The solution with using 3 instead of text did actually work. In my case, I had also to remove the resume=. part

Well, the simplest approach for a one-time boot to text mode would be to select the kernel entry you want to boot when at the GRUB2 screen, hit E , scroll down to the linux line and add text to the end. For example:

linux /boot/vmlinuz-4.0.0-1-amd64 root=UUID=5e285652 ro quiet text 

Then, hit F10 or Ctrl + X to boot.

Unfortunately it doesn’t work for me either; if it matters, I’m using openSUSE 13.2, and the linux line is longer and has some more variables; anyway, adding text apparently does nothing on my system.

Читайте также:  Astra linux java install

@Sekhemty please add the relevant linux line to your question. You can see it in /boot/grub/grub.cfg . I just tried this in an Ubuntu VM and it worked as expected.

Copy paste from /etc/inittab:

# systemd uses 'targets' instead of runlevels. By default, there are two main targets: # # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 # # To view current default target, run: # systemctl get-default # # To set a default target, run: # systemctl set-default TARGET.target # 
systemctl set-default multi-user.target 

Please take a look at this article: How to use Grub2 to boot Linux manually

Indirect booting by chainloading

For Grub1 if you want to fire up an OS, which can be any Dos, MS Windows, BSD, Solaris or Linux, installed in the 2nd partition of the 1st disk the Grub Legacy commands will be Code:

root (hd0,1) chainloader +1 boot 

For Grub2 the commands are slightly different and the changes are highlighted in red Code:

set root=(hd0,2) chainloader +1 boot 

Direct booting by naming the kernel and initrd files

Say if my Linux has vmlinuz-2.6.18-6-686 and initrd.img-2.6.18-6-686 in /boot subdirectory one can boot up the Linux with Grub1 commands of Code:

root (hd0,1) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda11 ro initrd /boot/initrd.img-2.6.18-6-686 boot 

For Grub2 the corresponding commands will be Code:

set root=(hd0,2) linux /boot/vmlinuz-2.6.18-6-686 root=/dev/sda11 initrd /boot/initrd.img-2.6.18-6-686 boot 

Источник

6 шагов загрузки Linux на пальцах

image

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

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки 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.
Читайте также:  Gparted в линуксе нет

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

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 – не используется
    • 5 – X11
    • 6 – перезагрузка

    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/

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

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

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

      Источник

      Changing grub.cfg to boot Ubuntu with run level 3

      I am looking for a way to add another entry in the grub configuration, so that the kernel stops at runlevel 3. I dont want to change the /etc/default/grub, but want to add another entry, so that I can choose if I want to boot in the graphical or the console mode.

      It could be a possible duplicate of askubuntu.com/questions/228402/boot-to-runlevel-3#344490. But still the post does not answer, how can I add another entry in the grub menu.

      3 Answers 3

      Editing grub will change all boots. You can add boot entries in 40_custom and edit boot parameters. Copy current boot stanza and edit to change quiet splash to desired parameters.

      sudo nano /etc/grub.d/40_custom 

      I had a similar problem which I eventually solved. Maybe it also helps you. Maybe interesting to note is that Ubuntu and its variants do not use the normal runlevels. Whatever you read about working with runlevels, be prepared nothing works. Note that this only works if your desktop is using the LightDM display manager. I am using Xubuntu, but I think Ubunutus Unity is the same.

      1) In order to prevernt the login to appear, the responsible DM (LightDM must be modified:

      sudo nano /etc/init/lightdm.conf
      start on ((filesystem and runlevel [!06] and runlevel [!03] and started dbus and plymouth-ready) or runlevel PREVLEVEL=S)
      GRUB_DEFAULT=0 #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=2 GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="3" # comment the next line to disable boot to graphical terminal GRUB_TERMINAL=console

      That should do it. I did not care to create a new grub menu entry, because its really quick to start the x window desktop. I guess you are aware that startx does not work in Ubuntu.

      sudo service lightdm start 

      If you need that often I would put an alias

      alias startx = sudo service lightdm start 

      Источник

Оцените статью
Adblock
detector