1、引言
GRUB (Grand Unified Bootloader)是一个广泛使用的开源bootloader,用于引导大多数Linux操作系统。它是一个多操作系统bootloader,支持引导多个操作系统,如Linux、BSD、Solaris等。在Linux启动时,GRUB用作bootloader程序,并从硬盘驱动器或其他启动设备中引导内核。为什么启动系统时会出现GRUB呢?下面我们来一一解答。
2、MBR和GRUB
在计算机启动时,主引导记录(MBR)是引导加载程序的第一个扇区。MBR位于磁盘的第一个扇区(第零轨道,第一副面),通常具有446字节的代码区、四字节的分区表和两字节的签名。启动时,计算机BIOS先检查MBR,如果MBR有引导记录,BIOS会加载该代码并暂停解释。
GRUB是用于识别和选择可用的操作系统,乃至在外部设备中的内核镜像的bootloader。当计算机启动时,BIOS启动以读取MBR中的引导记录。但是,MBR容量只有446个字节,无法容纳完整的GRUB启动代码。为了解决这个问题,GRUB安装在磁盘的第一扇区中,称为boot sector,主要功能是启动GRUB Stage 2。
3、多系统安装和GRUB
在计算机上安装多个操作系统在同一硬盘上时,每个操作系统都需要有一个引导加载程序。如果没有bootloader,无法启动操作系统。当一个操作系统中有多个内核时,GRUB是一个非常有用的多引导管理器。
当安装第一个操作系统时,MBR中的引导记录由该操作系统的bootloader设置。但是,当安装第二个操作系统时,会覆盖MBR中的引导记录。此时,需要GRUB安装在每个分区的boot sector中,以便加载共享的bootloader like stage2、stage2_eltorito等。因此,每个分区都有一个GRUB引导记录,而不是MBR。
4、修复GRUB
GRUB在系统启动时非常重要。如果GRUB损坏或丢失,系统无法启动。有时可以通过引导Linux系统安装CD/DVD来修复GRUB。进入恢复模式并执行以下步骤:
1.使用"fdisk-l"命令列出所有分区
2.使用“mount”命令安装根目录
3.使用"chroot"命令更改为根文件系统,例如`"chroot /mnt/sysimage"`
4.使用“grub-install/dev/sda”命令重新安装GRUB
这时,GRUB就会被修复并重新安装,以便正确引导系统。
转载请注明出处安可林文章网 » 为什么做系统出现grub 为何系统出现grub?