Linux系统的引导过程是系统启动的核心环节,涉及硬件自检、引导加载程序、内核加载及初始化等多个阶段,正确建立Linux引导不仅能确保系统正常启动,还能在出现引导故障时提供修复手段,以下从引导流程、安装步骤、配置方法及故障修复等方面详细说明Linux如何建立引导。

Linux引导流程概述
Linux引导始于计算机加电后的硬件自检(BIOS或UEFI),随后加载引导加载程序(如GRUB),由引导加载程序读取系统内核和初始化内存盘(initramfs),最终将系统控制权移交内核,完成系统启动,整个流程可分为四个阶段:
- 硬件自检阶段:BIOS(传统BIOS)或UEFI(统一可扩展固件接口)检测硬件并查找引导设备;
- 引导加载程序阶段:从引导设备的引导扇区(MBR或GPT)加载引导加载程序(如GRUB);
- 内核加载阶段:引导加载程序读取配置文件,加载Linux内核和initramfs(用于驱动早期硬件);
- 系统初始化阶段:内核挂载根文件系统,启动systemd或init进程,完成系统服务加载和用户登录界面。
建立Linux引导的详细步骤
确认引导模式:BIOS与UEFI的区别
在安装引导前,需明确计算机使用的引导模式,这直接影响引导安装方式:
- BIOS(Legacy模式):依赖主引导记录(MBR),引导信息存储在磁盘第一个扇区(512字节),支持最大2TB磁盘,最多4个主分区。
- UEFI(现代模式):使用GUID分区表(GPT),引导信息存储在独立的EFI系统分区(ESP,FAT32格式),支持大于2TB磁盘,分区数量更多,且支持安全启动(Secure Boot)。
确认方法:在Linux终端中运行ls /sys/firmware/efi,若返回目录则表示为UEFI模式,否则为BIOS模式。
分区规划:引导分区的必要性
无论BIOS还是UEFI模式,Linux均需独立的引导分区:
- BIOS模式:需创建
/boot分区(建议500MB-1GB,ext4文件系统),用于存放引导文件(如内核、initramfs)。 - UEFI模式:除
/boot分区外,还需创建ESP分区(建议100-300MB,FAT32文件系统),挂载点为/boot/efi,用于存放UEFI引导程序(如grubx64.efi)。
分区示例(GPT+UEFI):
| 分区类型 | 大小 | 文件系统 | 挂载点 | 作用 |
|————|——–|———-|———-|————————–|
| ESP | 256MB | FAT32 | /boot/efi | 存放UEFI引导文件 |
| /boot | 1GB | ext4 | /boot | 存放内核、initramfs |
| /(根分区)| 剩余空间| ext4 | / | 系统根目录 |
安装引导加载程序:以GRUB为例
GRUB(Grand Unified Bootloader)是Linux最常用的引导加载程序,支持多系统引导,以下是安装步骤:

准备工作
确保Linux系统已安装完成,且/boot分区或ESP分区已正确挂载,若为刚安装的系统,通常引导程序会在安装过程中自动配置,但手动安装可确保正确性。
安装GRUB(以GRUB 2为例)
不同发行版的安装命令略有差异:
- Ubuntu/Debian:
sudo apt update sudo apt install grub2 # 安装GRUB包 sudo grub-install /dev/sda # 安装到磁盘(如/dev/sda,注意是磁盘而非分区) sudo update-grub # 生成引导配置文件
- CentOS/RHEL:
sudo yum install grub2-tools # 安装GRUB工具 sudo grub2-install /dev/sda # 安装到磁盘 sudo grub2-mkconfig -o /boot/grub2/grub.cfg # 生成配置文件
注意事项:
/dev/sda为磁盘设备名(如/dev/sdb、/dev/nvme0n1),需根据实际磁盘调整;- UEFI模式下需额外指定ESP分区:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Linux。
配置引导菜单:grub.cfg文件详解
GRUB的引导行为由/boot/grub/grub.cfg(或/boot/grub2/grub.cfg)配置文件控制,该文件通常由update-grub或grub2-mkconfig自动生成,也可手动修改。
常用配置项:
| 配置项 | 作用 | 示例值 |
|—————————-|————————–|———————-|
| GRUB_DEFAULT | 默认启动项 | 0(第一项)、Advanced options for Linux |
| GRUB_TIMEOUT | 引导菜单等待时间(秒) | 5 |
| GRUB_CMDLINE_LINUX | 内核启动参数 | quiet splash |
| GRUB_DISABLE_LINUX_UUID | 是否禁用UUID(改用设备名)| true/false |
手动修改示例:
编辑/etc/default/grub文件(Ubuntu)或/etc/default/grub2(CentOS),修改后运行sudo update-grub生效:

GRUB_DEFAULT=0 GRUB_TIMEOUT=10 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" # 禁用网卡命名规则
引导修复:当引导损坏时的处理方法
若因误删引导文件、重装Windows覆盖MBR或配置错误导致无法启动,可通过以下方式修复:
使用Live CD/USB修复
- 从Linux官网下载ISO文件,制作Live USB启动盘;
- 从Live USB启动,选择“Try Linux without installing”;
- 打开终端,挂载原系统根分区(如
sudo mount /dev/sda2 /mnt); - 若为UEFI模式,挂载ESP分区(
sudo mount /dev/sda1 /mnt/boot/efi); - 绑定必要目录(
sudo mount --bind /proc /mnt/proc、sudo mount --bind /sys /mnt/sys、sudo mount --bind /dev /mnt/dev); - 切换到原系统环境(
sudo chroot /mnt); - 重新安装GRUB(如
grub-install /dev/sda)并更新配置(update-grub); - 重启计算机,移除Live USB。
修复MBR/GPT引导记录
- BIOS模式:使用
fdisk或parted修复MBR:sudo fdisk /dev/sda,执行o(清空MBR)后w保存; - UEFI模式:确保ESP分区存在且格式为FAT32,手动复制GRUB文件到ESP:
sudo cp /boot/efi/EFI/Linux/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI。
相关问答FAQs
问题1:重装Windows后Linux引导消失怎么办?
解答:重装Windows会覆盖MBR或ESP中的引导记录,导致Linux无法启动,修复方法:使用Linux Live USB启动,按上述“引导修复”步骤进入chroot环境,重新安装GRUB到MBR(grub-install /dev/sda)或ESP(grub-install --target=x86_64-efi --efi-directory=/boot/efi),并运行update-grub生成配置文件,若ESP分区被Windows覆盖,需重新创建ESP分区并格式化为FAT32后再安装GRUB。
问题2:如何修改GRUB默认启动项和等待时间?
解答:1. 编辑配置文件:sudo nano /etc/default/grub;2. 修改GRUB_DEFAULT和GRUB_TIMEOUT参数,例如将GRUB_DEFAULT设为2(第三项),GRUB_TIMEOUT设为8;3. 保存文件后运行sudo update-grub(Ubuntu)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(CentOS)使配置生效;4. 重启计算机即可看到修改后的引导菜单。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30572.html