微型计算机之bootloader是什么呢

bootloader

当启动计算机系统时,BIOS和UEFI初始化系统(准备好可用状态),并启动“引导加载程序”。OS从引导加载程序启动。也就是说,这是“启动的触发器”。

当多个OS安装在HDD或SSD(这些辅助存储介质)上时,从引导加载程序指定并启动OS。在使用传统MBR(MasterBootRecord)环境的情况下,从MBR加载引导扇区,并加载子系统,最终加载OS(Linux内核)。

在UEFI的情况下,UEFI本身形成为一个系统,通过自己的力量检测FAT系统的分区,然后加载GPT并读取OS。

Unified Extensible Firmware Interface(统一扩展固件接口,UEFI)是定义操作系统(OS)和平台固件之间的软件接口的规格。

如果是近来的GRUB,即使在UEFI环境下运转也没有问题。但是,如果有什么情况,必须使用旧的引导加载程序,例如必须使用LILO时,如果使UEFI以传统的模式动作,则会再现与以往的BIOS和MBR的组合相同的动作。

bootloader安装

引导加载程序安装一次后几乎不会安装其他引导加载程序。另外,如果设定错误,OS就不会启动等,对入门者来说会导致致命的事故。大多数情况下,安装程序会在初始阶段适当地设置引导加载程序。

在更换引导加载程序的情况下,为了增加理解,只要是“能够做好事故的觉悟”或者在实机上“可以管理实验机”就可以了,如果不是这样的话,请先使用虚拟机进行实验。

事实上,如果你知道“GRUB2”,今后很少遇到麻烦,即使是只知道“GRUB Legacy”,“LILO”也没有问题。

GRUB2

当代Linux下的引导加载程序“GRUB2”已成为标准。

当代GRUB2和之前的旧GRUB通常被区分为“GRUB Legacy”。可以说,与GRUB Legacy是有共通的,因为它自带shell,所以即使你设置错误了,也可以从GRUB的shell启动操作系统。

但现代的GRUB2与“GRUB Legacy”相比结构更加复杂。配置文件也使用命令自动生成。对于CentOS 7,默认情况下安装GRUB2。

如果希望在启动状态下重新安装引导加载程序等。如果在与MBR的组合中使用GRUB2

# grub2-install /dev/sda

在“/dev/sda”的MBR中GRUB2被安装

或者在UEFI的机器上

# yum reinstall grub2-efi shim

这样一来,可以安全地重新安装。

GRUB Legacy

配置文件在Debian等的情况下为“/boot/grub/menu.lst”,在RedHat等的情况下为“/boot/grub/grub.conf”

设定例子如下所示

timeout=5
 
title Linux
 
root (hd0,0)
 
kernel /vmlinuz root=/dev/sda1
 
initrd /initrd.img
 
root (hd0,0) インストールされているディスクを指定
 
kernel /vmlinuz root=/dev/sda1 カーネルとパラメータを指定
 
initrd /initrd.img

LILO

当LILO命令被执行时,LILO写入MBR,并且由于在启动时不使用高级shell,所以当设置错误时,会发生诸如“无法启动”的状态。配置文件的位置是“/etc/lilo.conf”

设定例子如下所示

prompt
 
timeout=50
 
default=linux
 
boot=/dev/sda
 
map=/boot/map
 
install=menu
 
image=/boot/vmlinuz
 
  label=linux
 
  initrd=/boot/initrd.img
 
  read-only
 
  root=/dev/sda1

Boot=/dev/sda:指定实际安装的HDD等。
Image=/boot/vmlinuz:现在硬盘上的哪里内核存在的信息设定。
Label=linux:在菜单中显示的名称。
Initrd=/boot/initrd.img:在有初始盘的情况下指定。
Root=/dev/sda1:是根分区。
在设定项目上,如果知道这么多,几乎不会有问题。编辑设置后,执行如下命令

# lilo

另外,lilo在设定不完备的情况下,不启动的可能性很高。因此,请注意lilo命令运行时的消息。

结束语

简单介绍了“引导加载程序”和“引导加载程序的安装方法”。希望对Linux感兴趣的人有所帮助。

猜你喜欢

转载自blog.csdn.net/qq_18191333/article/details/107531331
今日推荐