操作系统的自我修养-04 从U盘启动MerxOs操作系统

本文介绍如何将MerxOS操作系统从U盘加载并运行在真实机器上,包括使用WinHex编辑U盘的主引导记录及分区表,以及在Linux环境下通过命令行实现相同功能。

转载注意出处:K_Linux_Man


我们一直都是使用bochs模拟器来启动我们的MerxOs操作系统,模拟真的不好玩,我们今天就让我们的”MerxOs:Hello,World“ 运行在真机上。现代化的今天,

U盘早已经替代软盘,所以我们以U盘为例,讲述如何让我们的MerxOS操作系统从U盘加载。


U盘的第一扇区


U盘的第一个扇区由三部分组成:

第 1 部分(0x0000~0x01BD)446 个字节为MBR,MBR(Master Boot Record)主引导扇区,我们的MerxOs:hello,world程序就要放在0-446个字节内。
第 2 部分(0x01BE~0x01FD)64 个字节为U盘的分区表(Disk Partition Table, DPT),每 16 个字节描述一个主分区,所以一个硬盘最多可以有 4 个主分区
分区表的每一分区的第 1 个字节是活动标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导。
第 3 部分(0x01FE~0x01FF)2 个字节“55 AA”是分区有效结束标志


强大的二进制编辑器:WinHex


我使用的是winhex15.8 ,从网上找了好久,才找到一个可以破解使用的。我会上传了这个WinHex程序。




选择我的联想U盘




从图中可是看出,0x00-0x1BD 为第一部分,0x80开始的部分为第二部分,64字节的分区表,如果我们破坏这一部分的话,我们的U盘将在XP系统下无法识别。

最后以55AA结尾标示。


利用WinHex打开我们前一节Hello,World的boot.img文件,并copy 0x00~0x1BD前446个字节的内容,替换掉U盘的前446字节的内容,并修改最后两个字节为0x55,0xAA





打开boot.img之后,我们先要选择0x00-0x1bd的内容,再进行copy。



右键 EDIT


















同样的方法先选择U盘的0x00-0x1BD内容,选择完毕之后,我们接下来要将刚才从boot.img拷贝的内容写到U盘上,注意在进行写操作的时候,先选中第一个字节,再Edit,再wirte,这时候会提示从偏移为0开始。我们也正是要从0x00开始到0x1BD进行写操作。



写完之后记得修改55,AA



保存u盘文件即可。这个软件在关闭u盘的时候提示出错,没关系,我们已经将u盘的内容进行了修改。直接连续点确认即可(破解的软件就是这样,知足吧)。



另外一种更简单的方法


在linux系统下,u盘设备被看成一个文件,所以我们可以对这个文件进行操作。我使用的是Ubuntu,使用命令就可以实现同样的方法。

sudo dd if=boot.img of=/dev/sdb bs=446 count=1

为什么是446这个我就不需要解释了吧, 本文中已经提到。如果写成512,那就悲催了。你的u盘将在xp系统下不能识别。因为破坏了分区表格式。

因为我们的环境是在xp下,所以我这里就不多解释Ubuntu的命令操作了。

激动一刻-真机测试

选择从U盘启动,之后就是MerxOS了.


选择从usb  lenovo上启动






打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 QT框架是由Qt公司设计的一种跨平台C++图形用户界面应用程序开发工具包,该框架被广泛地应用于桌面电脑、移动设备以及嵌入式系统等领域。QTableView作为QT框架中的一个核心组件,其主要功能是用于展示表格形式的数据,并且常常与QAbstractItemModel或QSqlTableModel等模型类协同工作。在QTableView中嵌入自定义组件,例如按钮,能够实现更加多样化的用户交互功能。 在QT框架环境下,若想在QTableView的一列中嵌入两个按钮,我们需要掌握以下几个关键的技术要点: 1. **QTableView**:QTableView是QTableView类的一个实例,它提供了一个二维的表格视图界面,可以用来展示和编辑模型中的数据。QTableView能够显示由QAbstractItemModel子类所提供的数据,例如QStandardItemModel或QAbstractTableModel等。 2. **QTableWidgetItem**:在QTableView中,QTableWidgetItem是构成表格单元格的基本对象,它用于表示表格中每一行每一列的数据。在默认情况下,QTableView仅能展示文本信息,但通过继承QTableWidgetItem并重新绘制,我们可以实现自定义的内容,比如嵌入按钮。 3. **自定义视图项**:若要在单元格内部嵌入两个按钮,我们需要开发一个自定义的QTableWidgetItem子类,该子类中包含两个QPushButton。这个子类需要重写paintEvent()方法以绘制按钮,并且实现必要的信号和槽机制来处理按...
内容概要:本文系统研究了LLC谐振变换器的变频移相混合控制模型,并基于Simulink平台进行了完整的仿真实现。文章首先阐述了LLC谐振变换器在高频高效电源转换中的工作原理与技术优势,重点提出了一种融合变频控制与移相控制的混合调控策略,旨在拓宽输出调节范围并提升系统的动态响应能力与运行效率。通过建立精确的系统数学模型,设计了复合控制框图,并在Simulink中搭建仿真系统,全面验证了该控制策略在不同负载条件和输入电压波动下的稳定性、效率表现及软开关实现能力。仿真结果表明,所提出的混合控制方法能有效降低开关损耗,提高能量转换效率,具备良好的工程应用前景。; 适合人群:具备电力电子技术、自动控制理论基础,熟悉Simulink仿真环境,从事高频电源变换器、谐振变换器设计与优化的研究生、科研人员及电力电子领域工程技术人员。; 使用场景及目标:①用于高性能LLC谐振变换器控制系统的设计与动态性能优化;②为软开关技术在电力电子变换器中的应用提供仿真验证平台;③支撑相关课题的科研论文撰写、项目开发与创新方案验证。; 阅读建议:建议读者结合Simulink仿真模型文件进行同步操作,深入理解变频与移相控制的协调机制、控制环路设计及关键参数整定方法,重点关注软开关实现条件与系统效率优化路径,以促进理论研究向实际工程应用的转化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值