学习 Linux_01: 引导程序

当PC启动时,执行ROM中的BIOS程序:首先自检,然后从引导驱动器上的主引导记录(MBR)加载第一个扇区。MBR包含主分区表,因此可执行代码少于512byte,这部分代码叫做:第一阶段启动加载程序。加载过程为,加载MBR->运行,发现标记为active的引导驱动器上主分区->加载分区引导记录->运行该记录加载该分区一组块。

当一个引导程序获取控制权之后,它可能做的一件事就是加载另一个引导程序。这称为链式加载(chain loading)

GRUB(Grand Unified Bootloader)

GRUB包含三个文件:

stage1:引导扇区引导程序的备份,只有512字节(前446字节为引导程序),作用是在系统启动时装载STAGE1.5/2并将控制权交给后者

stage1.5:(选择装入)用来识别不同文件系统格式的stage2,由于紧接着mbr,fs再怎么也只能从0面1柱面1扇区开始,这样就两个好处:一来stage1可以方便的找到他,二来stage2可以通过它来解释,stage1.5是为了配合stage2安装的,例如当初安装stage2的时候如果是安装在了ext2文件系统上,stage1.5就是用来解释ext2的文件。

stage2:除了加载自己,所有功能都由它实现

start.s:加载stage1.5或stage2

整个过程为:

Bios->stage1->start.s(->stage1.5)->stage2

恢复

另一个安装损坏了MBR(本质上是stage1部分坏了)

比如又一次安装了windows,此时覆盖掉了stage1,只要想办法进入到linux,运行grub-install就可以了。具体的方法是通过启动盘(软盘,U盘,安装盘)

移动一个分区(本质上是stage2搬家了)

避免这个问题的方法是使用UUIDs,这样只需要更新配置文件而不需要更新/etc/fsab,在使用USB驱动器的时候特别有用

另一个方法是使用一个独立的boot分区,这个分区不易变动,专职启动(将stage2装于此)

构建一个自含式启动软盘或 CD-ROM

将stage1~stage2都装在CD-ROM或软盘上,用来启动

另外学到的一些知识:

grub-install命令是安装stage1到mbr或者dbr,:

grub-install /dev/sda 或

grub-install '(hd0)'

grub-install /dev/sda11或

grub-install '(hd0,10)'

grub自带命令root,setup是配置整个过程的,是按照默认的方式运行(通过help得到的知识是:自动安装grub到root指定的设备,使用的是root指定设备上的映像)

也可以将stage1和stage2直接拷贝到软盘中,这样会破坏fs,使用的是dd命令进行拷贝

转载于:https://www.cnblogs.com/observer/archive/2011/10/04/2199058.html

学习 Linux_01: 引导程序相关推荐

  1. 学习 Linux,101: 引导程序

    概述 在本文中,学习如何为一个 Linux 系统设计一个磁盘分区布局.您将学习: 为独立的分区或磁盘分配文件系统和交换空间: 根据系统的预定用途调整设计: 确保系统能够启动. 本文讨论 PC 引导过程 ...

  2. 学习 Linux,101: 引导系统

    2019独角兽企业重金招聘Python工程师标准>>> 系列文章: http://www.ibm.com/developerworks/cn/views/linux/libraryv ...

  3. linux 0.01内核分析与操作系统设计 pdf,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...

  4. linux1.0内核下载,《Linux 0.01 内核分析与操作系统设计》(Linxu 0.01Source)

    中文名: Linux_0_01_内核分析与操作系统设计 英文名: Linxu 0.01Source 发行时间: 2003年 地区: 大陆 对白语言: 普通话 简介: 清华 卢军<Linux0.0 ...

  5. Linux0.1源码分析,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...

  6. 谈谈如何学习Linux操作系统?

    本文首先向 "技术成就梦想"博主致敬,http://ixdba.blog.51cto.com/2895551/569329,感谢他所付出的诸多努力.科研项目以及未来发展驱动,lin ...

  7. linux网络配置命令笔记,初学者学习linux笔记与练习-第二天。一些基本命令以及初级网络配置...

    菜鸟学习linux笔记与练习-----第二天.一些基本命令以及初级网络配置 基本命令 ??uname -a -s ??hostname显示主机名 若是要永久生效,则编辑以下文件 ??#vim /etc ...

  8. 如何学习Linux / 新手入门

    如何学习Linux / 新手入门 一.从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用 ...

  9. 谈谈如何学习Linux操作系统

    谈谈如何学习Linux操作系统  献给初学者:为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式展现给大家. @hcy 更多资源:http://blog.sina.com.cn/iihcy ...

最新文章

  1. mysql 避免使用NULL字段
  2. python装饰器作用-Python装饰器的通俗理解
  3. java中字符串的截取
  4. 不懂业务创新的工程师,不是好的架构师 | 深度
  5. hook java_Java 实现 Hook 对鼠标键盘监听 - 沐早'S NOTEBOOK - CSDN博客
  6. iOS CoreAnimation
  7. 创建选修专业表oracle,数据库及数据表的创建与删除 (Oracle实验)
  8. 深度学习与神经网络概述
  9. WebStorm 2018.3.4破解方式
  10. Eclipse JSP 页面设置 charset=UTF-8
  11. Vue-条件判断与循环遍历
  12. android 文件md5校验失败怎么办,更新包md5校验失败的4个原因和解决方法!游戏lol更新md5验证失败...
  13. java acr122 读取数据_acr122读写器软件下载-Acr122读写软件 1.59 官方版 - 河东下载站...
  14. 测试通达信指标胜率的软件,如何检测通达信选股公式的成功率?不懂得可以收藏起来自己测一下...
  15. 二阶带阻有源滤波器设计与仿真测试
  16. CSS3相比CSS新增哪些功能
  17. gateway断言工厂Path,Weight
  18. shader篇-阴影
  19. Aras Innovator: AML包
  20. H264编码常用参数整理

热门文章

  1. windows服务器修改端口号,windows服务器修改远程连接端口图解
  2. Spring中BeanPostProcessors后置处理器到底在哪里拦截
  3. java做日历怎么对齐日期_如何使用Java日历从日期中减去X天?
  4. java线程池笔记及相关代码
  5. STM32看门狗总结
  6. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区
  7. GCC __builtin_expect与kernel指令序列优化
  8. [BUUCTF-pwn]——[HarekazeCTF2019]baby_rop2
  9. redis3.0 java spring_spring整合redis以及使用RedisTemplate的方法
  10. 利用正则匹配数字后边的字符_图解正则——字符匹配