linux引导程序有哪些
Linux 系统有多种引导程序(Boot Loader),它们负责在系统启动时加载内核和初始化内存盘(initramfs),并将控制权交给内核。以下是常见的 Linux 引导程序及其特点:
1. GRUB (GRand Unified Bootloader)
- 当前主流:大多数现代 Linux 发行版的默认选择。
- 版本:
- GRUB Legacy(0.9x 版本):已淘汰,仅支持旧系统。
- GRUB 2(2.0x 版本):支持多系统启动、脚本化配置、文件系统驱动(如 ext4/Btrfs)、UEFI/传统 BIOS。
- 特点:
- 支持复杂的启动菜单(如双系统、内核参数修改)。
- 配置文件路径:
/boot/grub/grub.cfg
(自动生成,通过 /etc/default/grub
和 /etc/grub.d/
自定义)。
- 提供交互式命令行(故障修复常用)。
2. Syslinux
- 轻量级:适合嵌入式系统或简单场景。
- 分支:
- ISOLINUX:用于光盘启动。
- PXELINUX:用于网络启动(PXE)。
- EXTLINUX:支持从 ext2/3/4、Btrfs、XFS 等文件系统启动。
- 特点:
- 配置简单(文本菜单),但功能较 GRUB 少。
- 常用于 Live CD/USB 或安装介质。
3. LILO (LInux LOader)
- 传统引导程序:早期 Linux 的默认选项,现已被 GRUB 取代。
- 特点:
- 无动态配置,修改后需运行
lilo
命令更新引导记录。
- 仅支持 BIOS,不兼容 UEFI。
4. systemd-boot (formerly gummiboot)
- UEFI 专用:适用于使用 systemd 的现代发行版(如 Arch Linux、Fedora)。
- 特点:
- 极简设计,仅支持 UEFI。
- 配置文件位于
/boot/efi/loader/entries/
。
- 依赖 UEFI 固件加载内核,无复杂菜单。
5. rEFInd
- UEFI 增强:图形化引导管理器,支持多系统(Linux/Windows/macOS)。
- 特点:
- 自动检测内核和操作系统(无需手动配置)。
- 支持主题美化,适合桌面用户。
6. Das U-Boot (Universal Bootloader)
- 嵌入式专用:常见于 ARM 开发板(如树莓派、BeagleBone)。
- 特点:
- 支持多种硬件架构(ARM/x86/PowerPC)。
- 通常通过 TFTP 或 SD 卡加载内核。
7. Clover
- Hackintosh 常用:基于 rEFIt 的 UEFI 引导工具,主要用于 macOS/Linux/Windows 多系统。
选择建议
- 通用场景:GRUB 2(兼容性强,功能丰富)。
- UEFI 极简需求:systemd-boot 或 rEFInd。
- 嵌入式/ARM 设备:Das U-Boot。
- 老旧硬件:LILO 或 Syslinux。
常见问题
双系统启动失败:
- 使用
grub-install
重新安装 GRUB,或通过 Live USB 修复。
- 检查 UEFI/BIOS 模式是否匹配。
UEFI 引导配置:
- 确保 ESP(EFI System Partition)存在且挂载到
/boot/efi
。
手动引导内核(应急情况):
grub> linux /vmlinuz-5.xx.x root=/dev/sdXn
grub> initrd /initramfs-5.xx.x.img
grub> boot
如需更具体的配置帮助,请提供你的使用场景(如发行版、硬件架构等)!