深入理解 GNU GRUB - 02 boot.S 2.5 MBR过程模拟实现

GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。 (简称“GRUB”)是一个来自的。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同,也可用于向这些内核传递启动参数。通过GRUB在文本模式下启动GNU GRUB在分区表的硬盘上GNU GRUB在分区表的硬盘上boot.img严格占有446字节的大小,并被写入(0扇区)。如果可行(出于向后兼容的原因第一个分区起始于63扇区而非1扇区,但这不是强制的),core.img。 阅读详情

转载注明出处(cppgp: http://blog.youkuaiyun.com/cppgp )

 

2.5 MBR过程模拟实现
现在,我们对系统引导的第一步已经有了一个详细的认识。为了更深一步的理解MBR和这些BIOS调用,提供一些测试题目:
  1)    开机后在屏幕上输出”Hello cppgp”,并在一定时间后重复输出。
  2)    开机后紧跟着读取第二个扇区,并且显示整个扇区512字节到屏幕上。
实现上述功能,编译生成512字节的IMG文件,设置虚拟机通过软盘引导,选择使用软盘镜像文件,设置镜像文件为我们编译生成的IMG文件,就可进行测试。
下文首先简单介绍虚拟机配置,然后实现上述的1) 、2)两个题目。


2.5.1 测试虚拟机配置
《自己动手写操作系统》第二章“搭建你的工作环境”,对虚拟机选择、工作平台搭建、测试引导程序等都有详细的描述。这里只简单介绍搭建Vmware Work Station V7.1.3测试虚拟机的过程(其他版本的Vmware Workstation类似)。如下:
  1)    选择菜单”File”->”New”->”Virtual Machine”创建一个新的虚拟机。在安装向导的帮助下可以简单完成。其中主要的选择如下:配置选择”Custom(advanced)”,硬件兼容版本选择”Workstation 6.5-7.x”操作系统安装选择”I will install the operating sy

深入理解 GNU GRUB - 02 boot.S 2.1 相关BIOS例程 转载注明出处(cppgp: http://blog.csdn.net/cppgp)。2. boot.S: GRUB引导第一步 boot.S位于目录boot/i386/pc/。这部分指令被加载到0x7C00~0x7DFF。主要工作包括:配置寄存器;设置堆栈;检测引导盘;检测引导盘读取模式;读取另一扇区指令。这个过程用到几个BIOS例程,并且对主引导记录(MBR, Master Boot Record)结构有很大的依赖。因此boot.S我们分作四步进行详细描述: 1)    相关BIOS例程 2)    阅读详情

相关推荐

双系统安装出现 grub(GNU GRUB Version 2.02或者2.04等) 如何退出、修复等常见问题解答

优快云部分回答针对此问题提供了大量修改命令,让人看着就难搞! 比如: *方案:   1.编辑grub文件 sudo vim /etc/default/grub   2.注释:GRUB_HIDDEN_TIMEOUT=0   3.修改:GRUB_TIMEOUT=0.01   4.修改后:sudo update-grub   5.重启电脑 sudo shutdown -r now直接进入登录界面 * ...

qq_36230292的博客 9万+

win10+ubuntu20.04双系统引导修复(出现GNU GRUB界面解决方法)

前言:(菜鸡日记)之前装的Ubuntu被自己搞崩了,重装后引导出现了问题。 出现的情况:开机之后没有选择系统的引导界面,出现了GNU GRUB界面(没有拍照,就是那个黑框框,然后最上面写GNU GRUB....),这时候还是有办法进入系统的,输入exit后就可以退出那个界面进入选择系统的界面,但是本人尝试在UEFI模式下选择Ubuntu是进不去的,可以尝试选择除了windows和Ubuntu的另外选项即可进入新的选择界面再选择Ubuntu就能进了,但是这样实在太麻烦了,还是得修复引导。 引导修复:(这里

m0_45880309的博客 1万+

Ubuntu零基础入门到精通【3.1讲】:图形化安装 Ubuntu Desktop 完全实战指南!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 2326

STM32CubeMX平台F4系列固件下载核心要点

详解STM32CubeMX平台下F4系列单片机的固件包下载方法与常见问题,重点讲解stm32cubemx固件包下载流程及配置技巧,帮助开发者快速完成开发环境搭建。

weixin_42575505的博客 891

手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

数字IC后端设计培训教程之手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

weixin_37584728的博客 2931

process插件_利用SPSS 插件MLmed检验多水平中介的调节模型

本文介绍一个SPSS插件,用于检验多水平中介的调节,及该方法与Mplus的比较。1 Mlmed 简介及安装Mlmed 简介: Mlmed 由Rockwood 2017年开发,基于SPSS插件计算Multilevel moderated mediation. 可以提供multilevel mediation Monte Carlo 置信区间比如(模拟20000次),以及多水平调节的...

weixin_39976081的博客 5768

基于STM32 HAL库的L298N四驱电机PWM调速与方向控制实战

本文详细介绍了基于STM32 HAL库驱动L298N电机控制板实现四驱小车PWM调速与方向控制的实战方法。涵盖硬件连接、GPIO与定时器配置、PWM生成、方向控制逻辑及电源管理等核心内容,并提供代码优化与常见问题解决方案,帮助开发者快速实现高效稳定的电机控制。

jump7的博客 222

Light Tools 8.4 在 win10系统上的安装方法(64位)

** 总的来说安装LT需要以下步骤(折腾了三天终于装好): 安装LT软件–禁用签名–加载含数字签名的第三方inf–添加注册表/安装驱动/添加密钥–成功破解 一、下载对应的LightTools 8.4版本软件,如下图为解压后的文件: 并选择 进行默认安装。 二、禁用数字签名。这里我用了两种方法,一种不行就换另一种,最终成功禁用。 方法1: 1、输入“cmd”并以管理员身份运行; 2、输入或复制 bcdedit.exe /set nointegritychecks on (此命令若没成功,再试bcded

weixin_45560953的博客 1万+

基于深度学习的干扰识别

本文是记录我上半年仿真和复现干扰识别的过程,展示的主要是一些需要注意的点以及仿真的相关结果。

qq_55218335的博客 1702

论文翻译:arxiv-2023 Do-Not-Answer: A Dataset for Evaluating Safeguards in LLMs

随着大型语言模型(LLMs)的快速发展,出现了新的、难以预测的有害能力。这要求开发者能够通过评估“危险能力”来识别风险,以便负责任地部署LLMs。在这项工作中,我们收集了第一个开源数据集,用于评估LLMs中的安全保障,并以低成本部署更安全的开源LLMs。我们的数据集经过策划和筛选,只包含负责任的语言模型不应遵循的指令。我们注释并评估了六个流行的LLMs对这些指令的响应。基于我们的注释,我们继续训练了几个类似BERT的分类器,并发现这些小型分类器在自动安全评估上能够取得与GPT-4相当的成果。

CSPhD-winston的博客 1131

Python爬虫实战:高效爬取法律法规数据库的完整指南

本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的法律法规数据库爬虫。我们将从爬虫的基本原理讲起,逐步深入到反爬机制应对、数据解析与存储、性能优化等高级话题。文章包含完整的代码实现,使用requests-html、aiohttp等现代库,以及应对法律数据库特殊结构的处理技巧。通过本文,您将掌握构建专业级法律数据采集系统的全套技能。关键词:Python爬虫、法律法规、数据采集、异步爬虫、反反爬本文详细介绍了使用Python爬取法律法规数据库的完整技术方案。

2201_76125261的博客 1274

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 深入理解 GNU GRUB - 02 boot.S 2.4 boot.S详细注释
下一篇: 深入理解 GNU GRUB - 03 diskboot.S 3.1 diskboot.S执行时的环境 & 3.2 diskboot.S代码结构
cppgp
博客等级 码龄20年 47粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值