grub-install 做了什么?_grub-install会修改其他地方吗-程序员宅基地

技术标签: Linux管理  

就我看过的资料来看,每个人对于grub-install的说法不一,

我没有亲自试过,悟了很久,感觉悟出了点什么,能够解释一下。

首先我先说说我的疑惑,根据网上和某些资料,一般有以下两种认识不统一。

1.grub-install 只设定配置文件,真正的boot loader 需要用grub shell另外安装,MBR和boot sector需要分别安装(鸟哥这么认为,如果我没理解错的话)

2.grub-install 能安装boot loader,但是只能装到MBR(某些网页上大部分人这么认为)

理解:

首先,man page是这么说的:

grub-install  copies  GRUB  images into the DIR/boot directory specfied by --root-directory, and uses the grub shell to install grub into the boot sector。

对于以上这三种,我肯定会相信man page了。但是既然他们有别的看法,那肯定说明他们那么做成功了。这很难解释。我想了很久。

鸟哥有一点错地很明显,grub-install并不止是设定配置文件,还进行了安装。

看一下grub-install 的命令:

grub-install [OPTION] install_device

其中选项--root-directory会改变GRUB images的安装路径(默认是/boot/grub/)

你可以选择你的配置文件的路径和要安装的设备或分区(MBR还是某个boot sector?)


一般人认为grub 只会安装到MBR是因为grub只安装到MBR就已经够用了。

理解一下启动流程:

MBR中的boot loader启动后,根据配置文件,会有以下两种操作

1.直接将linux引导起来

2.转交给其他boot sector中的boot loader(如果还装有Windows)。

根据上面的流程,安装到MBR,就已经能应对多系统的问题了。

那么,grub-install能不能将boot loader装到boot sector中而不是MBR中呢?能,鸟哥试过了。

但是装上这个之后有什么作用呢?假设一下MBR中和boot sector中都有boot loader的情况。

如果MBR中能直接引导Linux那么,boot sector中的boot loader就起不到作用了。

如果MBR中指定的是转交给boot sector中的boot loader,那么引导Linux的任务就成了此boot sector 中boot loader的功能。

上面这种设定对配置文件有要求,就是要求MBR中的boot loader和boot sector 中的boot loader要使用不同的设定文件。

MBR中应该设定为交给boot sector 中的boot loader,而不是直接引导起Linux

boot sector 中应该设定为引导Linux。如果此时跟MBR使用同一套配置。那么,就现象而言的话,应该是一直停留在选单画面进入不了系统(如果你一直选择进入Linux而不是Windows)(鸟哥的配置就类似于此,他做了一个在选单上循环跳但是进不了系统的实现,因为他使用了同一套配置文件)

鸟哥在他的例子当中,装完boot sector中的boot loader时,说了一句“我们还没有配置文件哦,那要自己建立”。最后还是跟MBR的boot loader使用了同一个配置。


推测:

其实不用像鸟哥说的那样使用完grub-install后,再用grub shell进行安装,grub-install已经帮你安装好了(man page)。

只要使用两次grub-install,就能达到鸟哥同样的目的。

不知道上面的推测对不对,有机会实践一下。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/midsum/article/details/8666753

智能推荐

layui 富文本编辑 c# mvc 图片上传服务接口_c#mvc如何获取layui的富文本编辑器-程序员宅基地

文章浏览阅读351次。layui 富文本编辑 c#_c#mvc如何获取layui的富文本编辑器

C++ 函数类型(虚函数...)_虚函数 c++ 分类-程序员宅基地

文章浏览阅读538次。http://blog.csdn.net/acorld/article/details/8860397_虚函数 c++ 分类

Ubuntu 16.04 插拔USB网卡后1分钟或2分钟后网络断开问题_modemmanager[7773]: <info> couldn't check support -程序员宅基地

文章浏览阅读658次。USB Tethering keeps disconnectingUSB Tethering keeps disconnectingAsk QuestionAsked4 years, 8 months agoActive1 year agoViewed17k times147I'm trying to connect via USB tethering from my LG G4. I have Ubuntu 16.04The tethering ..._modemmanager[7773]: couldn't check support for device at '/sys/device

新手初识安信可ESP8266 12f机智云开发板微信直连云-程序员宅基地

文章浏览阅读3.3w次,点赞21次,收藏67次。第一次接触esp8266开发板,也是一脸懵逼,一方面网络上的资料还不全面,一方面,资料散乱或者资料讲的不明不白。新手入门让我抓狂了两天。我使用的是安信可esp8266 12f开发板。先不建sdk的开发。首先先让我们来认识一下这一块板子,然后烧烧固件玩玩。下面是官方的简介_新手初识安信可esp8266 12f机智云开发板微信直连云

标准STUN判断NAT类型的过程及改进_primary: independent mapping, port dependent filte-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏4次。这里基于stund的实现,来研究标准STUN协议,判断NatType的过程。stund用于判断NatType的接口的用法首先来看stund中用于判断NatType的接口的用法。这里主要来看stund中的STUN客户端client.cxx的实现。client.cxx是一个常规的C/C++ app,这个app的主要code如下:void usage() { cerr << "Usage:_primary: independent mapping, port dependent filter, preserves ports, will h

音频基础知识(一) 音频基础概念 | 采样 | 量化 | 编码 | 常见音频格式-程序员宅基地

文章浏览阅读1.3k次,点赞48次,收藏48次。现在的RealAudio文件格式主要有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured)等三种,这些文件的共同性在于随着网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较宽敞的听众获得较好的音质。量化深度的大小影响声音的质量,位数越多,量化后的波形越接近原始波形,声音的质量就越高,需要的存储空间就越多。波形就是声音的音色,童谣的频率和振幅下,声音听起来不同就是因为他们的音色不同。

随便推点

DevExpress表格控件(GridView、GridControl)使用小结_this.gridcontrol1.datasource-程序员宅基地

文章浏览阅读7.7k次,点赞8次,收藏39次。GridControl创建表格1.点击VS“工具箱”的GridControl,在窗体上添加此控件;2.点击“RunDesigner”按钮,进入表格设计界面,点击“Columns”,添加列;3.在“Column properties”列属性中,“FileName”列字段(要与绑定的数据DataTable中的字段名一致),"Cation"(列显示的文字)“,设置完成则创建一个..._this.gridcontrol1.datasource

装系统的心得_计算机系统安装心得-程序员宅基地

文章浏览阅读911次。今天同学的电脑坏了,在群里面喊了,并附上截图,截图长这样没遇到过这样的情况,是个妹子我就想着问问情况帮忙,我给那个同学发了个私信,同学qq电话回我,问我能否可以下去看看,我就下去了。我最近也在想将笔记本上的win10改为win7,感觉win10用着实在不顺畅,各种出毛病,加之在系统上用过office的破解软件,之后IE浏览器、onenote、outlook等就再也用不了了。笔记本是独显,最_计算机系统安装心得

ValueError: Unrecognized configuration class <class transformers_modules.Qwen-7B-Chat...解决方案_valueerror: unrecognized configuration class <clas-程序员宅基地

文章浏览阅读5.6w次,点赞14次,收藏12次。本文主要介绍了ValueError: Unrecognized configuration class _valueerror: unrecognized configuration class

java 访问修饰符的访问权限_java中修饰符的访问权限,由大到小依次为___-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。 java的访问权限设置使用的访问修饰符主要包括:private、default、protected、public权限又大到小排序为:public&gt;protcted&gt;default&gt;priavte_java中修饰符的访问权限,由大到小依次为___

(LLVM)中间语言(IR)基本语法简介_llvm 中间语言-程序员宅基地

文章浏览阅读1.9w次,点赞6次,收藏33次。(LLVM)中间语言(IR)基本语法简介转自:http://blog.sina.com.cn/s/blog_49b6b6d001011gik.html根据编译原理知识,编译器不是直接将源语言翻译为目标语言,而是翻译为一种“中间语言”,我们编译器从业人员称之为“IR”--指令集,之后再由中间语言,利用后端程序和设备翻译为目标平台的汇编语言;无疑,不同编译器的中间语言IR是不一样的,而IR可以说是集中_llvm 中间语言

计算机组成原理 符号扩展-程序员宅基地

文章浏览阅读1.9k次。时刻谨记:扩展是为了方便机器对齐进行相加计算,所以填充不会改变本身的数值。当8位的整数与32位的整数相加时,就要将8位的整数扩展成32位。对于补码表示的小数(原码也同理),在进行扩展时,用0在后面填充。正数的扩展无论是什么编码表示通通符号位不变,用0填充进行扩展。原码0101扩展4位后为00000101,数值还是5。负数的扩展则根据不同的编码表示各不相同。例子:0,101 → 0,000101。补码=原码:1.0110000。原码:1,0000011。反码:1,1111011。补码:1,1111011。_符号扩展