Questions tagged [bios]

The BIOS software is built into the PC, and is the first code run by a PC when powered on ('boot firmware'). The primary function of the BIOS is to load and start an operating system.

The Basic Input/Output System (BIOS), also known as the system BIOS or ROM BIOS ( /ˈbaɪ.oʊs/), is a de facto standard defining a firmware interface.

The BIOS software is built into the PC, and is the first code run by a PC when powered on ('boot firmware'). When the PC starts up, the first job for the BIOS is the power-on self-test, which initializes and identifies system devices such as the CPU, RAM, video display card, keyboard and mouse, hard disk drive, optical disc drive and other hardware. The BIOS then locates boot loader software held on a peripheral device (designated as a 'boot device'), such as a hard disk or a CD/DVD, and loads and executes that software, giving it control of the PC.[2] This process is known as booting, or booting up, which is short for bootstrapping. BIOS software is stored on a non-volatile ROM chip on the motherboard. It is specifically designed to work with each particular model of computer, interfacing with various devices that make up the complementary chipset of the system. In modern computer systems, the BIOS chip's contents can be rewritten without removing it from the motherboard, allowing BIOS software to be upgraded in place.

A BIOS has a user interface (UI), typically a menu system accessed by pressing a certain key on the keyboard when the PC starts. In the BIOS UI, a user can:

  • configure hardware
  • set the system clock
  • enable or disable system components
  • select which devices are eligible to be a potential boot device
  • set various password prompts, such as a password for securing access to the BIOS user interface functions itself and preventing malicious users from booting the system from unauthorized peripheral devices.

http://en.wikipedia.org/wiki/BIOS

916 questions
10
votes
1 answer

Where is there good information about low level PC booting?

I'm interested in writing a boot loader for USB sticks that looks for a directory of ISOs and gives you the option to boot one of them as if it were a bootable CD. This is basically so I have a menu driven program that allows me to install one of…
Omnifarious
  • 54,333
  • 19
  • 131
  • 194
10
votes
2 answers

Does the BIOS copy the 512-byte bootloader to 0x7c00

I am amidst writing a kernel; before writing such a complicated thing, I thought it'd, not only, be helpful but also imperitive to do some theoretical reading of kernels, bootloaders, registers, BIOS, etc. This article says (and I quote): The boot…
weirdpanda
  • 2,521
  • 1
  • 20
  • 31
9
votes
2 answers

Real-Mode x86 ASM: How are the Basics Done?

I'm currently reading the boot.s file in the source for the first ever Linux kernel (assuming that 0.01 is indeed the first public release). I know C and ASM, the latter considerably less than the former. Even so, I seem to be able to understand and…
Louis
  • 2,442
  • 1
  • 18
  • 15
9
votes
4 answers

How to write BIOS program that connects to the internet?

I am aware that there are programs out there like lojack for laptops that get installed on the BIOS, but I'm still a little confused. When reading about lojack, it seems to me that they can't fully located the laptop's location until the user logs…
SideFX
  • 839
  • 1
  • 12
  • 34
9
votes
1 answer

Displaying characters with DOS or BIOS

Looking through Ralph Brown's interrupt list, I discovered that there are many different ways to output text characters to the screen. The ROM BIOS API offers these functions: AH=09h – Write Character and Attribute at Cursor Position AH=0Ah –…
Sep Roland
  • 33,889
  • 7
  • 43
  • 76
9
votes
4 answers

How do I write a bin file (512 bytes) to the first sector (sector 0) of a floppy disk?

How do I write a .bin file to be in the first sector of a floppy disk/virtual floppy disk/floppy image? I'm trying to boot a simple 512-byte bootloader. The size on everywhere says "512 bytes" so I should be good already. Additional Information: The…
Star OS
  • 119
  • 1
  • 1
  • 15
9
votes
4 answers

0xffff0 and the BIOS

When a pc first boots up, it starts executing at physical address 0xffff0. This address contains a jmp instruction to the BIOS. Now for my question, I always assume the physical addresses are mapped to RAM. If RAM initially contains garbage values,…
IM.
  • 317
  • 3
  • 7
9
votes
6 answers

Virtualization not enabled in BIOS?

When I start a multi-core virtual device in Genymotion, I get this: What is this virtualization technology and how can I enable it? My CPU: Intel Core i5-4440
Mahm00d
  • 3,881
  • 8
  • 44
  • 83
9
votes
1 answer

Why Enable/Disable A20 Line

I have a question about the A20 gate. I read an article about it saying that the mechanism exists to solve problems with address "wraparound" that appeared when newer CPUs got a 32-bit address bus instead of the older 20-bit bus. It would seem to me…
smainoo
  • 139
  • 5
9
votes
1 answer

PC boot: dl register and drive number

I read somewhere in the internet that, before jumping to 0x7c00, the BIOS loads into %dl the "drive number" of the booted device. But what is this "drive number"? Each device attached to the computer is assigned a number by the BIOS? If so, how can…
KevinRGT
  • 389
  • 2
  • 5
  • 14
8
votes
1 answer

BIOS and Address 0x07C00

from Wikipedia On an IBM PC compatible machine, the BIOS selects a boot device, then copies the first sector from the device (which may be a MBR, VBR or any executable code), into physical memory at memory address 0x7C00 I'm reading about the…
kara
  • 87
  • 6
8
votes
2 answers

understanding nasm assembly for outputting characters in teletype mode

I am reading this wonderful skript on operating system programming http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf On Page 12 there is a simple bootloader. If I understand correclty, the code shown is what you must write in…
user3813234
  • 1,580
  • 1
  • 29
  • 44
8
votes
2 answers

BIOS Interrupts in protected mode

I'm working on an operating system project, using isolinux (syslinux 4.5) as bootloader, loading my kernel with multiboot header organised at 0x200000. As I know the kernel is already in 32-bit protected mode. My question: Is there any easier way to…
amaneureka
  • 1,150
  • 11
  • 26
8
votes
5 answers

Is it possible to call Windows libraries that will live on the hard disk from a program that lives in the BIOS?

I'm trying to write a program that will be a BIOS option (after POST). I'd like the application to have a nice GUI instead of being text based (there are multiple reasons for this, localization being one of them). My problem is that we are…
Anit Nosrac
  • 85
  • 1
  • 4
8
votes
4 answers

Read a write a sector from hard drive with int 13h

I have a simple program. It must read first sector from hard drive (not mbr), and write it to the 0 sector (mbr). But it doesnt work. I think it is connected with wrong DAP. Thanks. [bits 16] [org 0x7c00] ;clear screen start: mov …
Vanzef
  • 453
  • 1
  • 5
  • 17
1 2
3
60 61