首页 > 编程语言 >GRUB(GNU GRand Unified Bootloader)是一个常用的引导加载程序,用于在计算机启动时加载操作系统。它是开源软件,由GNU项目开发并得到广泛应用

GRUB(GNU GRand Unified Bootloader)是一个常用的引导加载程序,用于在计算机启动时加载操作系统。它是开源软件,由GNU项目开发并得到广泛应用

时间:2023-06-25 19:12:43浏览次数:35  
标签:Unified 菜单 GRUB 引导 GNU 支持 Legacy 加载

GRUB(GNU GRand Unified Bootloader)是一个常用的引导加载程序,用于在计算机启动时加载操作系统。它是开源软件,由GNU项目开发并得到广泛应用。

GRUB主要有两个版本:GRUB Legacy和GRUB 2。GRUB 2是较新的版本,也是目前更常用和推荐的版本。下面主要介绍GRUB 2的特点和功能:

多操作系统支持:GRUB 2具有多操作系统支持的能力,可以在启动时显示并选择不同的操作系统。这包括支持各种Linux发行版、Windows、macOS等。

强大的启动配置选项:GRUB 2允许用户进行高度自定义的启动配置。用户可以编辑GRUB配置文件以修改启动菜单、设置默认启动项、添加自定义选项等。

支持图形界面:与GRUB Legacy相比,GRUB 2引入了图形界面的支持,使得用户可以通过可视化界面进行交互。这使得操作更加直观和友好。

支持UEFI引导:GRUB 2对UEFI固件的支持更好,可以作为UEFI固件的引导加载程序。它可以与EFI System Partition(ESP)配合使用,实现安全引导(Secure Boot)和UEFI兼容性。

支持数据加密:GRUB 2支持对文件系统进行加密,以保护系统的安全性和数据的机密性。通过在GRUB配置文件中设置加密选项,可以要求用户输入密码来解密文件系统。

模块化的架构:GRUB 2采用模块化的设计,各个组件可以以插件形式加载和卸载。这样可以灵活地扩展和定制GRUB的功能,添加新的特性或支持新的文件系统。

GRUB有两个主要版本:GRUB Legacy和GRUB 2。这里将分别介绍它们的功能更新:

GRUB Legacy(0.9x版本系列):

多操作系统支持:GRUB Legacy可以引导多个不同的操作系统,包括Linux、Windows、BSD等。
引导菜单界面:GRUB Legacy提供了一个文本界面的引导菜单,用户可以选择不同的操作系统或内核版本进行启动。
配置文件编辑:用户可以编辑GRUB配置文件(grub.conf)来自定义引导菜单、设置启动项、修改内核参数等。
支持网络引导:GRUB Legacy可以通过网络(如使用TFTP协议)从远程服务器引导操作系统。
支持软RAID和LVM:GRUB Legacy能够识别和引导使用软件RAID和逻辑卷管理(LVM)的硬盘。
支持多种文件系统:GRUB Legacy支持多种文件系统,包括ext2/ext3/ext4、XFS、FAT、NTFS等。
GRUB 2(1.x和2.x版本系列):

改进的图形界面:GRUB 2引入了图形界面(简称为“gfxterm”),提供了更美观和直观的引导菜单。
支持UEFI引导:GRUB 2通过EFI模块支持UEFI固件,并能与ESP分区结合使用,实现UEFI引导和安全引导(Secure Boot)。
支持更多文件系统:GRUB 2扩展了对文件系统的支持,包括ext2/ext3/ext4、Btrfs、XFS、FAT、NTFS、ZFS等。
引入脚本功能:GRUB 2引入了脚本功能,允许用户编写脚本来自定义启动过程、添加自定义操作等。
支持模块化架构:GRUB 2采用模块化架构,可以加载和卸载各个功能模块,以方便扩展和定制。
支持快速引导:GRUB 2引入了快速启动(QuickBoot)功能,通过预加载内核镜像来加快引导速度。

GRUB Legacy:

支持反映像(Loopback)设备:GRUB Legacy可以引导反映像文件(如ISO文件),而无需将其提前挂载到文件系统。
命令行编辑:GRUB Legacy提供了命令行编辑功能,允许用户在引导菜单外直接输入命令进行操作。
GRUB 2:

支持自动检测操作系统:GRUB 2具备自动检测已安装的操作系统的能力,无需手动配置引导菜单。
支持图形界面主题:GRUB 2引入了主题支持,用户可以选择不同的图形界面主题样式,以美化引导菜单的外观。
支持快捷键:GRUB 2新增了一些快捷键,例如按"e"键可以进入编辑模式,按"c"键可以进入命令行模式。
支持内存测试:GRUB 2提供了内存测试工具Memtest86+的集成,可以在启动时选择进行内存测试。
引入预加载模块:GRUB 2引入了预加载模块,可以提前加载某些模块以加快引导速度。

GRUB Legacy:

支持密码保护:GRUB Legacy允许用户为引导菜单设置密码,以增加系统安全性。
支持引导修复:GRUB Legacy提供了引导修复功能,可以修复引导过程中可能出现的问题,如损坏的引导记录等。
提供命令行界面:GRUB Legacy具有交互式命令行界面,用户可以在命令行中执行各种操作和配置。
GRUB 2:

引入子菜单:GRUB 2支持创建子菜单,使得引导菜单更加有组织和易于管理。
提供搜索功能:GRUB 2允许用户使用搜索功能来查找特定的内核、操作系统或启动项。
支持可靠性保护:GRUB 2引入了可靠性保护功能,以防止无效或恶意的引导配置破坏系统。
支持文件系统模块:GRUB 2允许将文件系统模块作为可加载模块进行管理,提高了灵活性和可扩展性。
引入GRUB命令行界面:GRUB 2提供了一个更强大和交互式的命令行界面,用于高级配置和故障排除。

多语言支持:GRUB 提供了多语言界面和键盘布局支持,使用户能够在自己熟悉的语言环境下操作。
可定制化的引导菜单:GRUB 允许用户自定义引导菜单的外观、布局和颜色等,以便满足个人偏好。
支持图形背景:GRUB 能够加载并显示自定义图形背景,为引导过程增添了美观和个性。
高级启动选项:GRUB 提供了一系列高级启动选项,如单用户模式、安全模式、恢复模式等,用于故障排除和系统修复。
调试功能:GRUB 内置了调试工具,允许用户在引导过程中进行调试,以帮助解决引导或内核相关的问题。
引导镜像支持:GRUB 能够引导预先制作的引导镜像文件,方便部署和管理大规模系统。

标签:Unified,菜单,GRUB,引导,GNU,支持,Legacy,加载
From: https://www.cnblogs.com/suv789/p/17503729.html

相关文章

  • EFI分区(也称为EFI系统分区或ESP)是一种特殊的分区,通常用于存储引导加载程序和其他与引
    EFI分区(也称为EFI系统分区或ESP)是一种特殊的分区,通常用于存储引导加载程序和其他与引导相关的文件。它是为了支持基于UEFI(统一固件接口)的系统而设计的。下面是一些理由说明为什么需要EFI分区:引导启动:EFI分区中存储着操作系统的引导加载程序(如GRUB、WindowsBootManager等)和相关......
  • Tensorflow整理[11]. 变量创建初始化保存加载
    变量:创建、初始化、保存和加载当训练模型时,用变量来存储和更新参数。变量包含张量(Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。这些变量的值可在之后模型训练和分析是被加载。描述以下两个TensorFlow类。点击以下链接可查看完整的......
  • 通过xml加载菜单Menus
    <MENUxmlns:android="http://schemas.android.com/apk/res/android"><GROUPandroid:id="@+id/myGroup"><ITEMandroid:id="@+id/New"android:title="New"android:orderInCategory="0"></ITE......
  • Android四种Activity的加载模式
    建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式:Android的进程,线程模型其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。AndroidApplicationTaskActivities的关系尤其要明白Task是啥。 一个Activty的生命周期Activty的生命周期的也......
  • Android模仿微博的LazyFragment懒加载
    本文会从头开始一步一步带你去写一个LazyFragment,根据写的过程中一步一步记录,你也可以自己试一试,跟着一起写写。最后也根据遇到的问题去完善了,网上搜的都是不完善的,还是自己写一个吧!懒加载是在加载啥?这个问题显得很愚蠢。但是想一下,懒加载到底是加载数据和视图,还是数据呢??(一开始我也......
  • Android视图加载优化——Factory2设置方法
    前言Factory2是直接继承于Factory,继续跟踪下Factory的源码,比Factory的功能更加强大。当我们新建Activity的时候,大部分情况是继承AppCompatActivity。提供了向后兼容性。本文将深入探索AppCompatActivity的视图加载,探索将xml布局文件中的TextView替换成AppCompatTextVi......
  • 未能加载文件或程序集“****”或它的某一个依赖项的一种情况
    昨天碰到了一个异常:未能加载文件或程序集“*********”或它的某一个依赖项。拒绝访问但是这个需要加载的文件确实存在呀,它依赖的程序集也是存在,最后用FileMon去分析,发现是目录和文件权限的问题正常情况应该是下图:但是,我这里成了下面的情况,这就导致了未能加载文件或程序集“****......
  • ASPX页面如何加载GAC中的组件?
    注意这里是ASPX页面而不是ASPX.cs代码页面引用GAC的组件;要ASPX页面引用GAC中的组件,则需要做下面两步:一、在machine.config中增加你的assembly:在<assemblies>节(在<configuration>/<system.web>/<compilation>/<compilers>/<assemblies>可以找到这个节)中增加下面......
  • dw 的启动时初始化 动态数据源变成私有的 同时mq的监听要比bean后初始化,要么设置成懒
     将applicationContext里面获取到的bean添加到allrunner里面,进行 私有化部署数据源初始化 消费是优于一些bean,这个意思是消息消费注册的时候可能有一些bean还没有,所以等一会,消费者是先于一些bean的 Spring加载RocketMq消费者实例后会立即开始消费,不论Spring容器是否初......
  • .NET6 个人博客-推荐文章加载优化
    个人博客-推荐文章加载优化前言随着博客文章越来越多,那么推荐的文章也是越来越多,之前推荐文章是只推荐8篇,但是我感觉有点少,然后也是决定加一个加载按钮,也是类似与分页的效果,点击按钮可以继续加载8篇文章。我的实现思路同样使用X.PagedList组件去实现分页效果,通过Nuget下载即可......