bios

Weird Errors While Reading Disk

此生再无相见时 提交于 2019-12-24 07:31:16
问题 So, I've been working on a hobby project. Creating my own Operating System. I started a while back but dropped it until maybe a couple nights ago. I just fixed an oversight that caused nothing to be read from the sectors I want to read from. With that error out of the way, a new one has came about and I honestly don't even know where to begin debugging this one. I am coding a Master Boot Record and debugging it with GDB and QEMU, here is the code to my master boot record (It was assembled

Interrupt 0x15 function 0x86 (BIOS WAIT) runs far slower on real hardware than on virtual machines?

為{幸葍}努か 提交于 2019-12-23 22:52:46
问题 I've been writing a bootloader in assembly (a game). The bootloader uses the bios WAIT function (int 0x15, ah 0x86) for delays between frames. I'm debugging with BOCHS and everything works just splendid (timing is perfect). I also made a bootable iso with the isogenimage tool and tested my bootloader in virtualbox and everything works as expected there too. So I think it's safe to say that delays work in virtual environments. Now here's the peculiar part: when I write the bootloader to a usb

Is there a standard BIOS Int 10h video mode for 43 lines or more?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-23 20:07:21
问题 I'm writing code which runs in real mode before any OS is loaded. Part of my program involves a dump of information to the video display, and the standard 80x25 text mode is not cutting it. Many versions of Windows and other OSes seem to have no trouble switching to some larger text mode, 43 line I think, when they show kernel panics. I know larger text modes have been around a long time so I would expect there's at least one standard mode. There's a pretty large list of BIOS video modes here

戴尔台式机安装win 7系统

♀尐吖头ヾ 提交于 2019-12-23 12:36:05
使用相应品牌电脑进入BIOS的快捷键,进入BIOS设置 1、BIOS引导】: 传统的电脑通常都是使用BIOS引导,开机BIOS初始化,然后BIOS自检,再引导操作系统→进入系统,显示桌面。 (选择Setup是进入BIOS) 2、光盘启动: 在BIOS引导的情况下,通常使用安装光盘维护、安装操作性系统,只要找到CD-ROM(或者DVD,主板菜单不一样)使用上下键,选中此项,按回车键(Enter)予以确认,再按F10键,重启电脑,就能认光驱里面的安装光盘了。 3、u盘启动: 在BIOS引导下,u盘PE系统的操作和光驱引导设置方法类似,只要找到USB选项(有的主板是显示u盘的型号),设置为第一启动项即可,重启电脑就会读u盘PE系统了。 4、【UEFI引导】: UEFI引导的流程是开机初始化UEFI,然后,直接引导操作系统,进入系统。和传统的BIOS引导相比,UEFI引导少了一道BIOS自检的过程,所以开机就会更快一些,这也成为了电脑的新宠。 5、进入设置主界面,继续点击Boot(引导)菜单,Boot mode(引导模式)右边的就是当前的引导模式,这里默认的是UEFI引导。 6、选中该项回车,打开设置项之后,这里有两个选项:UEFI 和 Legacy(使用上下键选中),引导模式选择Legacy。 7、点击OK,确认修改为Legacy引导模式。 8、提示询问是否现在重启电脑?点击 yes

BIOS——PE无法识别硬盘问题问题解决方案

╄→гoц情女王★ 提交于 2019-12-23 10:27:16
问题描述 在winPE中我们也可能会遇到PE突然无法无法识别硬盘的情况,就是说,虽然BIOS 中可以检测到硬盘,却识别不了。 问题分析 原因一:硬盘模式设置不正确 最常见的是硬盘模式设置不正确,其中,一般的硬盘有AHCI和IDE两种模式,而对于一些比较老的PE工具来说,仅仅支持IDE模式,所以该类型的用户只要在BIOS设置中,把硬盘模式设置为IDE即可;而对于win7以上系统或者固态硬盘,则需要开启AHCI模式,当遇到PE下无法识别硬盘时,只要切换下模式即可。 IDE模式,一般都是可以识别的。 原因二:硬盘故障 硬盘故障包括硬盘安装不当、硬盘本身硬件故障等情况。就是说,硬盘有可能没连接好或者是坏了。所以,如果BIOS中无法识别硬盘,那么就可以基本认为是硬盘没有安装好、松动或者是硬盘本身有问题。 原因三:PE工具版本过低 还有一些可能是PE工具的问题,比如PE工具版本太低,而低版本的PE工具一般就需要将硬盘切换到IDE模式才可以识别了。 解决方案 如果时BIOS无法识别硬盘,那么就说明硬盘安装不当或是硬盘本身硬件故障,只要针对这两种原因检查硬盘安装和是否坏了即可。 如果是PE版本过高或过低,则需要通过切换硬盘模式来识别。 参考文章 https://www.upandashi.com/pejc/1345.html http://ask.zol.com.cn/x/10062305

Is it possible to shutdown linux kernel and resume in Real Mode?

╄→尐↘猪︶ㄣ 提交于 2019-12-22 07:55:15
问题 Let's say I'd like to start a small linux distro before my ordinary operating system start. BIOS load MBR and execute MBR. MBR locates the active partition which is my linux partition. Linux start and I perform what I need to do. Linux shut down and I switch to Real Mode again. The original partition boot sector is loaded and my ordinary OS start. AFAIK, step 4 will be the difficult task, restore the state on all devices prior to linux, will INT13h be functional? Do I need to restore the

Linux启动过程

南楼画角 提交于 2019-12-22 03:23:38
转自: http://roclinux.cn/?p=1301 博客地址为 http://roclinux.cn 。文章作者为rocrocket。 启动 第一步 --加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。 启动 第二步 --读取MBR 众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。 系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。 启动 第三步 --Boot Loader Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。 Boot Loader有若干种,其中Grub

学习 Linux,101: 引导系统

只愿长相守 提交于 2019-12-22 01:25:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 系列文章: http://www.ibm.com/developerworks/cn/views/linux/libraryview.jsp?search_by=%E5%AD%A6%E4%B9%A0+linux+101 从 BIOS 到运行 Linux 系统 引导顺序 在我们深入了解启动加载程序(比如 LILO 和 GRUB)之前,先来重温一下 PC 是如何启动或 引导 的。名为 BIOS (表示 B asic I nput O utput S ervice)的代码存 储在 ROM、EEPROM 或闪存等非易变 (non-volatile) 内存中。当启动或重启 PC 时,会执行该代码,并执行开机自检 (Power-On Self Test, POST) 来检查机器。它还会确定可用移动存储设备或固定存储设备中的引导驱动器,然后从该驱动器上的 Master Boot Record (MBR) 加载第一扇区。引导驱动器可以是传统硬盘驱动器、固态驱动器、USB 记忆棒 (stick) 或驱动器、或者带有可移动媒介(比如磁盘、CD 或 DVD)的驱动器。本文主要关注硬盘驱动器,但其他类型的存储设备的引导进程均与硬盘驱动器相似。 正如文章 “ 学习 Linux,101:硬盘布局 ” 所描述的,因为 MBR 还包含分区表

Software initialization code at 0xFFFFFFF0H

核能气质少年 提交于 2019-12-21 12:27:51
问题 Intel says after reset the processor is placed in real mode and the software initialization code starts at 0xFFFFFFF0H. My questions: If processor is in real-mode how can it acess the memory > 1MB (0xFFFFFFF0H) How this happens or what happens when RAM in < 4GB ( say 2GB) If the BIOS is mapped at 0x000FFFFFH why processor starts executing at 0xFFFFFFF0H Please help me with these questions. Thanks. 回答1: I finally found the answer in the Coreboot documentation: Whenever an x86 CPU wakes up

What “wmic bios get serialnumber” actually retrieves?

*爱你&永不变心* 提交于 2019-12-21 03:52:09
问题 I wonder what sort of serialnumber wmic bios get serialnumber Windows commad actually gives you? Is it serial number of your motherboard? Documentation is not clear about it. 回答1: the wmic bios get serialnumber command call the Win32_BIOS wmi class and get the value of the SerialNumber property, which retrieves the serial number of the BIOS Chip of your system. 回答2: run cmd Enter wmic baseboard get product,version,serialnumber Press the enter key. The result you see under serial number column