Grub how to boot linux

Booting GNU/Linux Manually with GRUB Prompt

This is a recovery tutorial about using GRUB prompt to boot an operating system inside a hard disk drive. GRUB prompt is a program appearing at screen with black and white color, while a normal GRUB bootloader failed to be installed. GRUB prompt is similar to bash command line, usually in Terminal, but it has special commands because it is actually also the bootloader. By using GRUB prompt you can boot an operating system manually inside internal or external hard disk drive in any partition. Later, by successfully boot a GNU/Linux operating system with GRUB prompt, you may install the GRUB bootloader from the operating system.

System Summary

  • ASUS X44C
  • Internal hard disk drive 320 GB with 3 primary partitions.
  • External hard disk drive 320 GB with 3 primary partitions, 1 extended partition, and 6 logical partitions.
  • External hard disk drive has no GRUB bootloader (selecting bootloader), but has only GRUB prompt.

1. See Normal Prompt

It means it waits the user to enter a command.

2. See All The Hard Disk Drives

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos3) (hd1,msdos2) (hd1,msdos1)
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos3) (hd1,msdos2) (hd1,msdos1)

Hard disk drive: GRUB names every hard disk drive with the name format (hdd_position) then names every partition (partition_position, partition_type[partition_number]). Then (hd0) means your first hard disk drive detected by GRUB, and hd1 is your second. In GNU/Linux, we usually call them /dev/sda and /dev/sdb respectively. If your have more hard disk drives attached, you will have hd2, hd3, and afterwards.

Partition: (hd0,msdos1) is the first partition in the first hard disk. In some systems, this will be the /dev/sda1. Pay attention into the name /dev/sda for the hard disk and /dev/sda1 for the partition inside the hard disk. Notice the number following the name. Then (hd0,msdos2) and (hd0,msdos3) are /dev/sda2 and /dev/sda3 partitions inside the same hard disk respectively.
If you have more than one hard disk, then (hd1,msdos1) usually means /dev/sdb1 partition . (hd1,msdos2) and (hd1,msdos3) usually mean /dev/sdb2 and /dev/sdb3 partitions inside the same hard disk.

Msdos: The name msdos in every partition name showing that the partition is using Master Boot Record (MBR) partition table scheme. It is an old partition table from the MSDOS era so it is called simply msdos.

Читайте также:  Линукс скопировать файл и переименовать

3. See Your OS Partition

You should remember where is your OS partition, whether it is in the first hard disk or in the second hard disk. Then after you are sure, you should be sure in what partition it is.

In our example, we want to boot the operating system inside (hd0,msdos3) or in our system in the second hard disk drive, in the /dev/sdb3 (not /dev/sda3) partition, with the operating system name Kubuntu 15.10 Wily Werewolf.

4. The First Command

The first command to perform is to enter the hard disk drive. We want to enter (hd0,msdos3) so we type this command:

5. The Second Command

The second command is to call the operating system kernel to live. Because we have entered the (hd0,3) or /dev/sdb3 in our external hard disk drive, we type the command:

linux /boot/vmlinuz-4.2.0-16-generic root=/dev/sdb3

TAB: press tab button after writing /boot/vmli and GRUB will automatically complete the long name for you. It is very similar with bash shell. You don’t have to type vmlinuz-4.2.0-16-generic long name manually.

PARAMETER: the second argument (root=/dev/sdb3) is a clue for the kernel to find the root operating system. You must give it correctly, otherwise you will find a kernel panic error. We’ve mentioned that our (hd0,msdos3) is /dev/sdb3, so we give here parameter root=/dev/sdb3.

Explanation: the format of this command is . Because we want to boot a GNU/Linux operating system, then we use the linux as , /boot/vmlinuz-4.2.0-16-generic as , and root=dev/sdb3 as .

6. The Third Command

The third command is to call initrd (initial ram disk) to help kernel to boot. The command is very similar:

initrd /boot/initrd.img-4.2.0-16-generic

TAB: press tab button after writing /boot/init and GRUB will automatically complete the long name for you. It is very similar with bash shell. You don’t have to type long name initrd.img-4.2.0-16-generic manually same as when you type the kernel name.

7. The Fourth Command

The fourth command is to execute all three commands have typed. In another word, to boot the OS. The command is simply:

8. Commands Summary

set root=(hd0,3) linux /boot/vmlinuz-4.2.0-16-generic root=/dev/sdb3 initrd /boot/initrd.img-4.2.0-16-generic boot

9. The Result

You will see your monitor shows many line of texts output as usually you see from a normal bootloader. At the final steps, you will see your operating system is booted and ready to use.

Источник

GRUB — загрузчик системы

GRUB

GRUB (GRand Unified Bootloader 1) ) — программа-загрузчик операционных систем.
GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS -DOS, OS /2 и другие системы.
После настройки GRUB пользователь при включении компьютера видит список операционных систем, которые установлены на его компьютер и которые можно загрузить, выбрав подходящую и нажав Enter .
GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки.
GRUB — самый популярный загрузчик в мире Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.

Читайте также:  Jetbrains mono font for linux

Здесь и далее в иных статьях под названием программы GRUB подразумевается GRUB 2, который используется в операционных системах семейства Ubuntu начиная с версии 9.10, до него использовался GRUB первой версии, сейчас известный как GRUB Legacy. GRUB 2 полностью переписан с нуля и не имеет ничего общего с GRUB Legacy, разработка которого была остановлена в пользу более совершенного и мощного GRUB.

Первые шаги

При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.

Настройка GRUB производится теперь принципиально иным способом — основным файлом конфигурации является «/boot/grub/grub.cfg«. Однако же, не торопитесь править его так, как привыкли это делать с «menu.lst» в GRUB Legacy. При внимательном прочтении мы видим в начале файла «grub.cfg» такие строки:

# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #

И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.

Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.

/etc/default/grub

Данный файл содержит в себе основные настройки для GRUB. Через него, собственно, они и изменяются. Для наглядности ниже приводится примерное содержимое этого файла:

GRUB_DEFAULT=6 #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="" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entrys #GRUB_DISABLE_LINUX_RECOVERY="true"

Файл представляет из себя набор опций в понятном формате ОПЦИЯ=ЗНАЧЕНИЕ.
Наиболее часто встречающаяся потребность при настройке GRUB — изменение стандартного пункта загрузки и/или времени показа меню. Рассмотрим же, как это делается.

Изменение стандартного пункта загрузки

По умолчанию стандартный пункт (выделенный при показе меню) — верхний в списке. После установки Ubuntu она окажется наверху, а Windows, например, будет последним пунктом.

Читайте также:  Какие дистрибутивы линукс лучше

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

Нумерация пунктов меню начинается с нуля. Значение по умолчанию — 0, поэтому и выбирается первый пункт.

Пятому сверху пункту будет соответствовать значение 4, второму — 1, первому — 0. В вышеприведенном примере установлено значение 6, то есть стандартным задан седьмой пункт меню.

Команда sudo grub-reboot 1 однократно выбирает второй пункт меню по-умолчанию (только для следующей загрузки),

Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.

Пример

Если в «grub.cfg» пункт меню выглядит так:

menuentry ‘Example GNU/Linux distribution’ —class gnu-linux —id example-gnu-linux

То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:

GRUB_DEFAULT=example-gnu-linux

Ранее документацией предлагалось указывать название пункта меню загрузки (так, как он отображается в самом меню). Хотя этот способ по-прежнему работает, использовать его не рекомендуется, поскольку эти названия могут меняться, например, при обновлении ядра/версии ОС

Изменение времени отображения меню

По умолчанию меню загрузки отображается 10 секунд (при наличии других установленных ОС, если система одна — GRUB по умолчанию не отображается и сразу начинает загрузку), после чего загружается стандартный пункт, если раньше не нажат Enter или не выбран другой пункт, что останавливает таймер. За эту задержку отвечает параметр «GRUB_TIMEOUT», значение задается в секундах.

Если поставить значение «-1», то меню будет отображаться до тех пор, пока пользователь не выберет какой-либо пункт

Обратите внимание, что цифра указывается в кавычках. В нашем примере это значение — 2, то есть меню отображается две секунды.

«Скрытое» меню

В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».

В случае, когда установлены другие ОС, этот параметр закомментирован (# в начале строки). Данное значение позволит приостановит загрузку на заданное количество секунд, давая пользователю возможность вызвать меню загрузки, нажав Esc .

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

Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.

Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:

sudo gedit /etc/default/grub

Источник

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