首页 > 系统相关 >简记:/boot/grub/grub.cfg同/boot/efi/EFI/ubuntu/grub.cfg的区别

简记:/boot/grub/grub.cfg同/boot/efi/EFI/ubuntu/grub.cfg的区别

时间:2022-11-10 04:11:25浏览次数:34  
标签:grub cfg boot efi ubuntu root

很简单:
/boot/grub/grub.cfg是给传统Legacy引导的GRUB用的配置文件。
/efi/ubuntu/grub.cfg是给现代UEFI引导的GRUB用的配置文件。
不同的GRUB会去找对应的grub.cfg看配置。

不过一般安装好后,打开/efi/ubuntu/grub.cfg你会看到里面只有这么几行字:

search.fs_uuid a4b1bb59-b7f9-41fb-90f1-35aa3c37aa6d root 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

想必您也猜出大意来了:
EFI版的GRUB一启动,就会先来找/efi/ubuntu/grub.cfg看配置。结果这个配置文件这么说的:
你先找一个uuid为a4b1bb59-b7f9-41fb-90f1-35aa3c37aa6d的分区去,把它标成root,
然后设了个变量叫prefix,把它设成这个root里/boot/grub这个路径
好了,去看这个路径下面另外那个叫grub.cfg的文件吧,我不管了。

再明显不过,这个root分区就是系统的/。
所以说,用efi引导GRUB,它找的配置文件不是/boot/grub/grub.cfg,而是在efi目录里的那个grub.cfg。不过这个文件把它指向了/boot/grub/grub.cfg。所以嘛,它最终还是去找了/boot/grub/grub.cfg。

这也给了个提示,grub-update等命令修改的是/boot/grub/grub.cfg。所以如果哪天改过什么然后发现这样改grub不生效的话,考虑打开efi分区里那个grub.cfg,看一看它search.fs_uuid所指的那个分区究竟是不是你的系统分区吧。(当然,如果你的boot就在一个单独分区里的话,这个东西指向的UUID会是您boot分区的UUID,然后下面prefix会set到($root)'/grub'。)

同时似乎也说明,把/boot/grub/grub.cfg直接copy到/efi/ubuntu/grub.cfg,应该也能用,不过会把grub-update淦蒙圈,所以最好别折腾了还是。

标签:grub,cfg,boot,efi,ubuntu,root
From: https://www.cnblogs.com/izwb003/p/boot-grub-gurbcfg_and_efi-ubuntu-grubcfg.html

相关文章

  • Spring Boot 中使用 tkMapper
    说明:基于MyBatis有很多第三方功能插件,这些插件可以完成数据操作方法的封装、数据库逆向工程的生成等。tkMapper和MyBatis-plus都是基于MyBatis提供的第三方插件,功......
  • 01-SpringBoot注解
    SpringBoot注解Spring常用注解配置注解含义@Configuration定义一个类是Spring配置类@Bean配置自定义的Bean,如DruidDataSource@Componen......
  • Spring Boot:文件下载
    测试代码​​pom.xml​​:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst......
  • SpringBoot 01: JavaConfig + @ImportResource + @PropertyResource
    springboot的前置知识:通过注解创建对象和读取配置文件1.JavaConfig设计思想使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式可以创建java对象并把......
  • Spring Boot:自定义SpringApplication
    自定义SpringApplication如果​​SpringApplication​​​的默认值不满足我们的需求,可以创建​​SpringApplication​​实例并对其进行自定义设置,例如,要关闭横幅:packagecom......
  • Spring Boot:热部署
    配置IDEA勾选​​Buildprojectautomatically​​选项。搜索​​Registry​​​(双击​​Shift​​​键),找到并勾选​​compiler.automake.allow.when.app.running​​选项。......
  • Spring Boot:替换Web服务器
    ​​SpringBoot​​​应用包含默认的嵌入式​​Web​​容器。对于​​servlet​​​应用,​​spring-boot-starter-web​​​通过依赖​​spring-boot-starter-tomcat​​​......
  • Spring Boot:HTTP端口
    在​​SpringBoot​​​应用程序中,​​HTTP​​​端口默认为​​8080​​。可以通过​​server.port​​​属性来设置,往配置文件​​application.properties​​中添加以......
  • springBoot实现全局跨域
    importlombok.extern.slf4j.Slf4j;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.s......
  • spring boot 项目,使用 maven 构建工具打包的两种方法
    根据pom.xml文件指定的打包格式,打包成对于格式的包。如下:<packaging>war</packaging>使用IDEA的终端直接操作(或者cmd)。第一种方式:输入​​mvnpackage​​:打包成......