bios相关内容

什么会导致 Int 13h 中的磁盘读取错误?

我一直在 NASM 中编写一个测试程序,该程序使用 int 13h 从引导磁盘读取扇区,除非每次我使用 sudo qemu-system 运行组装程序-i386 load_disk.bin 它给了我这个输出: 磁盘读取错误!磁盘读取错误! 磁盘读取错误!* 磁盘读取错误!* 磁盘读取错误!* 如果设置了进位标志 (CF),这是预期的.几天来我一直在寻找这个问题的答案并尝试了许多不同的解 ..
发布时间:2021-06-07 18:43:01 其他开发

使用 bios 中断 0x10 打印字符串

我想使用 bios 中断 0x10 打印一个字符串.但我只得到一个蓝色的字段,里面没有字母.也许我对字符串寻址有问题. 编辑:我有两个代码文件.第一个写入软盘的第一个扇区.它将第二个扇区从软盘复制到内存(从 0x5000 开始)并跳转到 0x5000.这是我的第二个文件,我应该在其中打印字符串. [BITS 16]组织 0x5000第二节:mov ah, 0x03 ;获取光标位置mov b ..
发布时间:2021-06-07 18:42:42 其他开发

如何从第二阶段引导加载程序将更多代码加载到内存中?

我使用该代码加载我的第二个扇区(引导加载程序扩展): mov啊,00;//重置磁盘整数 13 小时;//磁盘中断移动斧头,0x0000;//注册 ax [0000]:1000移动 bx, 0x1000;//注册 bx 0000:[1000]移动啊,0x2;//读取扇区指令移动 al, 0x2;//要读取的扇区移动通道,0x0;//圆筒mov cl, 0x6;//本地写入移动 dh, 0x0;// ..
发布时间:2021-06-07 18:42:13 其他开发

我希望能够通过网络从BIOS提取错误日志

我希望能够通过网络从BIOS中提取错误日志.在MSDN中查看Win32_BIOS时,我没有看到定义错误日志的任何内容.很乐意使用WMI在C#中执行此操作,但欢迎您提出建议.有可能吗? Win32_BIOS没有包含BIOS错误日志的属性(不知道这是否是正确的术语).是否可以使用库,API等从本地或从网络提取此信息? 解决方案 通常,由于必需的命令和接口是特定于硬件的,因此不可能以这种方 ..
发布时间:2021-05-30 20:25:26 C#/.NET

dmidecode在哪里获取SMBIOS表?

我总是有这个问题,在阅读手册页并在线搜索后没有得到答案.对此有所了解的人请发表评论. 我知道dmidecode定位并解析SMBIOS表或DMI表.但是它是从哪里得到的呢?在Linux中是文件格式吗? 解决方案 它似乎来自/dev/mem root @ aw42e〜]#strace -F -e open dmidecode -t 17open("/sys/firmwa ..
发布时间:2021-05-29 23:17:03 服务器开发

为什么此int $ 0x10 BIOS INT在Linux上不起作用?

我不确定我是否做错了什么.我正在使用具有Intel芯片的Linux机器上以AT& T语法学习汇编语言.我了解到INT 10H用于出于各种视频目的调用BIOS子例程. 我写了这个简单的汇编代码来清除屏幕. .section .datadata_items:.section .text.global _start_开始:mov $ 6,%ah#选择滚动功能mov $ 0,%al#整个页面mo ..
发布时间:2021-05-29 23:06:56 服务器开发

如何使用汇编获取BIOS时间?

出于教育目的,我正在从头开始实施一个小型操作系统. 现在,我想使用汇编程序来获取BIOS时间.我为此进行了大量搜索,但找不到任何代码示例来完成此操作. 如果有人可以提供任何参考或代码示例或与此相关的任何内容,我将不胜感激. 解决方案 请参见 ..
发布时间:2021-05-16 19:49:28 其他开发

我的Docker无法在Windows 10 Pro上启动

我在Windows 10专业版PC上设置Docker时遇到了一些问题.当我尝试打开它时,我得到了这个崩溃报告: 崩溃报告屏幕截图 这是框内的文本: System.InvalidOperationException:无法将发行版docker桌面部署到C:\ Users \ Imogen \ AppData \ Local \ Docker \ wsl \ distro:退出代码:-1 ..
发布时间:2021-04-24 21:17:09 其他开发

引导操作系统之前如何执行一些安全性验证?

我有一个可引导的闪存盘,其中包含自定义的Ubunto,我想将闪存盘传递给未知的人,并且它存在一些安全问题.我想确保一个不知名的人不能更改闪存盘内容.因此,我想计算闪存内容的哈希值,并在每次启动时对其进行验证,并在验证失败或哈希值不匹配时阻止启动操作系统. 为此,我应该进行引导加载程序编程,我正在寻找UEFI编程,但是我发现了一些文档和视频,而且我也不知道是选择UEFI还是BIOS. 因 ..
发布时间:2021-04-16 18:32:47 其他开发

读取比int 13h轨道更多的扇区

具有 ah = 02h 的 int 13h 的顺序是什么,它将读取从(C,H,S)开始的 19 个扇区.=(0,0,1)提供了一个2磁头,每磁道18个扇区,每侧80个磁道的(软盘)磁盘几何. 或更笼统地说,当磁道到达磁道0的结尾,磁头0时会发生什么?它会追踪1还是朝向1?在这种情况下,它甚至还能正常工作吗? 编辑:等等.这实际上是小时,分钟,秒吗?如果我们到达曲目的结尾(S大于18), ..
发布时间:2021-04-16 18:32:40 其他开发

ASP.net获取硬件信息

如果我创建一个ASP.net页,是否可以获取当前用户的CPUID和BIOS序列号?还是出于安全原因不允许这样做? 我目前有一个获取这些值的Visual Basic.net应用程序,我只是想知道我是否可以在网页上做同样的事情. 解决方案 在坚果壳中,没有,您不能仅使用常规html&JavaScript网页. 但这并不是说不可能. 如果您的客户端计算机安装了Java,Flas ..
发布时间:2021-04-10 19:53:52 C#/.NET

为什么我不能从保护模式调用BIOS中断?

对.今天,我已经花了三个多小时的时间来了解为什么在保护模式下不能调用bios ISR.一旦设置好IDT,我就知道它不一定是IVT的常规地址,而且在保护模式下,段也没有固定的大小,等等.但是我仍然不明白为什么你不能创建一个4GB的存储空间.段,将您的IDT段映射到BIOS IVT,将所有内容设置在环0中并进行调用.那不行吗? 大多数文章都说:“请记住,您不能在保护模式下使用BIOS中断!"没有 ..
发布时间:2020-11-30 04:16:25 其他开发

没有在我的BIOS设置中启用Hyper-V的选项

我是Windows Phone 8应用程序开发的新手.我安装了SDK 8.0.当我运行我的应用程序时,它显示一个错误,告诉我启用Hyper-V.在搜索时,我发现此MSDN文档 BIOS中的解决方案.但是当进入我的BIOS设置时,则没有可用的此类选项. 有什么建议吗? 解决方案 步骤1:在BIOS中启用虚拟化 您需要在BIOS管理菜单的Security选项卡中的System Se ..
发布时间:2020-11-25 23:14:40 C#/.NET

使用C ++在Windows上查询特定于硬件的信息

具体来说,我想查询系统的GPU,以查找以下内容: GPU名称,系列名称(例如ATI Radion 5800,NVIDIA GeForce 4 MX等),BIOS版本,驱动程序版本,GPU时钟速度,GPU内存速度,内存类型,内存大小,总线宽度,带宽,使用的总线类型,供应商. 有什么想法吗?我正在开发的应用程序只需要向用户显示此信息即可. 解决方案 我建议使用以下WMI对象查询WM ..
发布时间:2020-11-20 00:52:39 其他开发

BIOS中未启用虚拟化?

当我在Genymotion中启动多核虚拟设备时,得到以下信息: 什么是虚拟化技术?如何启用它? 我的CPU:Intel Core i5-4440 解决方案 在打开计算机时,必须在BIOS设置中将其打开.并非所有的BIOS都看起来像此屏幕截图,但这是您要查找的内容的一个示例: 从来源复制: 在BIOS中启用Intel VT-x和AMD-V虚拟化硬件扩展 本节介绍如何 ..
发布时间:2020-11-13 06:25:11 其他开发

AH = 2的BIOS INT 13H每次只能读取72个扇区。为什么?

我正在使用Bochs 2.4.5编写引导扇区代码。我使用INT 13H从软盘读取扇区。但是我发现,如果扇区计数读取> 72,则INT13将失败。返回码为AH = 1。下面是代码,这是 INT13 。返回代码为AH = 1。 为什么INT 13H无法读取超过72个扇区? xorb%ah,%ah xorb%dl,%dl int $ 0x13#重置软盘 movw $ 0x80 ..
发布时间:2020-10-25 22:57:07 其他开发

无法从C中的磁盘读取扇区

我正在使用 i686-elf-gcc 交叉编译器生成以实模式运行的代码。 I正在尝试从我的内核读取扇区。我知道这是我的内核所在的位置,在第二个扇区中,第0个驱动器,第0个磁道。它构建良好,但是在我调用read之后,扇区读仍为0。 u8状态; u8ectors_read; read(1、0、1、0、0,状态,扇区读取); kprint(“ STATUS:”); hex_ ..
发布时间:2020-10-22 05:56:02 其他开发

在PCI配置空间中访问寄存器的正确方法

当您需要访问PCI配置空间中的寄存器时,是否只需要使用内置的BIOS函数来将DWORD读/写到配置空间中? 例如,如果我尝试使用B0:D31:F1上的IDE控制器,是否继续使用该BDF作为BIOS函数的参数来读取/写入配置寄存器?因此,如果我想获取供应商ID,我会读取给定BDF中的第一个DWORD吗? 还是我离基准点远一点? 编辑: 在PCI BIOS规范中,我一直在研究B ..
发布时间:2020-10-21 19:20:28 其他开发

QEMU gdb不显示固件说明

我正在尝试调试QEMU仿真器随附的bios.bin。我将按以下方式启动QEMU: qemu-system-x86_64 -bios bios.bin -s -S 然后我开始使用以下命令开始调试: gdb 目标远程本地主机:1234 GDB处于Intel切换状态0xfffffff0,现在固件/ BIOS应该在该状态。但是,此位置在内存中没有任何内容。即使 ..
发布时间:2020-10-19 04:51:22 其他开发

BIOS ROM如何映射到PC的地址空间?

x86 CPU从物理地址0xFFFFFFF0开始执行。 BIOS ROM位于地址空间的末尾。 CPU从ROM执行的第一条指令跳远了,这导致CS段被重新加载,因此下一条指令从物理区域0x000F0000-0x000FFFFF内执行。 是什么导致ROM在两个区域上都响应? PC上是否有一些特殊的地址解码逻辑?我在Bochs源代码中发现注释,该注释指出BIOS ROM的最后128K映射到0xE00 ..
发布时间:2020-10-10 23:31:29 其他开发