当打开计算机/服务器时,在POST(开机自检)成功完成后,BIOS会立即找到配置的可启动媒体,并从主启动记录(MBR)或GUID分区表(即前512字节)中读取一些指令可启动媒体。
其中,MBR包含两组重要的信息,一组是引导加载程序,一组是分区表。
什么是引导加载程序?
引导加载程序是存储在MBR或GUID分区表中的小程序,有助于将操作系统加载到内存中。如果没有引导加载程序,操作系统将无法加载到内存中,我们可以在系统上与Linux一起安装多个引导加载程序。在本文中,小编介绍一些比较适合系统管理员使用的Linux引导加载程序。
1、GNU GRUB
GNU GRUB是一种流行且可能是最常用的多重引导Linux引导加载程序,基于由Eirch Stefan Broleyn创建的原始GRUB(GRand Unified Bootloader ) 。作为对原始GRUB程序的增强,它提供了多项改进、新功能和错误修复。
重要的是,GRUB 2现在已经取代了GRUB。值得注意的是, GRUB名称已重命名为GRUB Legacy,并且并未积极开发,但是,由于错误修复仍在进行中,它可以用于引导旧系统。
GRUB具有以下突出特点:
- 支持多重启动
- 支持Linux、Windows等多种硬件架构和操作系统
- 提供类似Bash的交互式命令行界面,供用户运行 GRUB 命令以及与配置文件交互
- 允许访问GRUB编辑器
- 支持设置密码并加密以确保安全
- 支持从网络启动以及其它几个小功能
2、systemd-boot
systemd-boot是一个UEFI引导加载程序,作为systemd系统和服务管理器的一部分开发,旨在加载EFI可执行映像,例如Linux内核、initramfs映像和其它操作系统(例如Windows)。
systemd-boot是一个相对较新的引导加载程序,但由于其简单性和性能而变得流行,它也是许多现代Linux发行版的默认引导加载程序。
对于想要一个简单快速的引导加载程序来引导各种操作系统的用户来说,systemd-boot是一个不错的选择。对于已经使用systemd作为系统和服务管理器的用户来说,它也是一个不错的选择。
3、rEFInd
rEFInd是适用于UEFI和基于EFI的系统的启动管理器,旨在启动各种操作系统,包括Linux、Windows和macOS。
对于想要一个简单且用户友好的引导加载程序的用户来说, rEFInd是一个不错的选择,并且可以进行定制以满足自己使用需求。对于双启动多个操作系统的用户来说也是一个不错的选择。
4、LILO(Linux加载器)
LILO是一个简单但功能强大且稳定的Linux引导加载程序。但随着GRUB的日益普及和使用,GRUB已经进行了许多改进和强大的功能,LILO在Linux用户中已经不再那么受欢迎。
加载时,屏幕上会显示“ LILO ”一词,并且每个字母都会在特定事件发生之前或之后出现。然而,LILO的开发于2015年12月停止维护,它具有以下几个特点:
- 不提供交互式命令行界面
- 支持多种错误代码
- 不支持从网络启动
- 它的所有文件都存储在驱动器的前1024个柱面中
- 面临BTFS、GPT和RAID等方面的限制。
5、BURG——新引导加载程序
BURG基于GRUB,是一个相对较新的Linux引导加载程序。由于它源自GRUB,因此它附带了一些主要的GRUB功能,尽管如此,它还提供了一些显着的功能,例如支持多种平台(包括Linux、Windows、Mac OS、FreeBSD等)的新对象格式。
此外,BURG还支持高度可配置的文本和图形模式启动菜单,以及流媒体以及计划的未来改进,以使其能够与各种输入/输出设备配合使用。
6、Syslinux
Syslinux是一系列轻量级引导加载程序,可以从CD-ROM、网络等进行引导。它支持MS-DOS的FAT和Linux的ext2、ext3和ext4等文件系统。同时,它还支持未压缩的单设备Btrfs。
请注意,Syslinux仅访问其自己分区中的文件,因此,它不提供多文件系统引导功能。
总结
简单来说,引导加载程序允许你管理计算机上的多个操作系统,并选择在特定时间使用哪个操作系统,如果没有它,计算机将无法加载内核和其余操作系统文件。
以上整理几个使用比较广泛的Linux引导加载程序,适合管理员适用,仅供参考。如果你有更好的Linux引导加载程序,也欢迎分享出来。