1. What is BIOS
The term BIOS first appeared in 1975, and it stands for Basic Input Output System. It truly gained prominence with the launch of the IBM PC in 1981, marking the beginning of a tumultuous history. The IBM PC system generally consists of three parts: hardware, software, and the middleware BIOS, with the core hardware sourced from Intel and the operating system software from the nascent Microsoft; only the BIOS was developed by IBM itself.
BIOS provides services for the hardware in a computer, such as the CPU, memory, and the hard disk mentioned later. It is a type of read-only memory that contains the system boot program, drivers for essential hardware devices required at startup, and basic hardware interface device drivers. Currently, the BIOS chips on motherboards are mainly supplied by various companies.
2. BIOS Suppliers
AMI (American Megatrends Inc.), a leader in BIOS. AMI was founded in 1985 in Atlanta, USA, by Pat Sarma and Subramonian Shankar. Initially, AMI primarily produced complete motherboards, targeting high-end customers, with its first client being PCs Ltd, now known as Dell, which was the first company to launch motherboards compatible with Intel 386 processors.
As the motherboard manufacturing industry gradually shifted to Taiwan, AMI focused its business on OEM and ODM (mainly BIOS firmware) technology. Currently, AMI has nearly 1,500 employees worldwide, with 85% being engineering development personnel.
AMI’s main product lines include UEFI BIOS firmware and controllers (EC), MegaRAC remote firmware management solutions, AMI backplane controller product series, diagnostic utilities, and engineering services. Among these, Aptio V is AMI’s latest generation of UEFI BIOS firmware, meeting the needs of all platforms (both X86 and non-X86). Aptio 4 evolved from traditional BIOS and also complies with UEFI specifications. In terms of support services for UEFI, AMIDiag is currently the only available hardware diagnostic solution on the market.
Phoenix (Phoenix Technologies Ltd.), a pioneer in BIOS. Founded in September 1979 in Boston, Massachusetts, Phoenix is headquartered in Pasadena, California. Phoenix was the first to create a clean room design (also known as firewall technology) and cloned its own BIOS through reverse engineering. Phoenix entered a golden period of development relying on its intellectual property.
In 1988, Phoenix successfully went public (PTEC) and acquired two powerful BIOS manufacturers, Quadtel and Award, in the 1990s, gradually becoming the leader in the BIOS industry, with products covering a wide range of markets from low-end to high-end.
In the early 21st century, affected by the decline of the PC market, the price of BIOS firmware dropped, and the company adopted a one-time licensing model for BIOS to boost short-term revenue. Additionally, immature mergers and market explorations led to a deterioration in Phoenix’s operating conditions, resulting in significant losses in 2006. In August 2010, the American investment firm Marlin Equity Partners acquired Phoenix’s publicly traded shares for $139 million, and Phoenix announced its delisting while gradually divesting its non-BIOS business units. As of 2009, the company had about 300 employees.
In the Chinese market, in 2000, Phoenix established its Chinese subsidiary, Phoenix Software (China), in Nanjing, but exited the Chinese market in 2009 due to operational issues.
Insyde, a rising star in BIOS. Insyde was established in 1998 through the acquisition of SystemSoft in the USA and went public in Taiwan in 2003 (6231.TWO). Unlike AMI and Phoenix, Insyde focused on UEFI when entering the BIOS field, with its business highly concentrated on BIOS/BMC technology, covering major players like Intel, AMD, and Microsoft. Benefiting from the development of the PC market in Taiwan and Intel’s mandatory promotion of UEFI BIOS, Insyde quickly rose to the second position in the BIOS market.
In 2018, Insyde’s flagship product, Insyde H2O BIOS, achieved revenue of 781 million New Taiwan dollars, accounting for 92% of total revenue; BMC product Supervyse generated revenue of 58 million New Taiwan dollars, accounting for 7%; and other businesses generated revenue of 10 million New Taiwan dollars, accounting for 1%. As of December 31, 2018, Insyde had 439 employees, of which 384 were R&D personnel, accounting for 87.5%.
3. BIOS Boot Process
BIOS System Setup Program
The BIOS system setup program is the program we usually enter by pressing the Del key during boot, commonly referred to as “BIOS setup,” used to configure basic system information, CPU characteristics, hard disk, PCI, onboard network card, and other hardware information. This information is stored in a writable CMOS chip. CMOS (Complementary Metal Oxide Semiconductor) is merely a storage device that retains data, powered by a backup battery, ensuring that CMOS information is not lost during shutdown or power failure. The settings and modifications of parameters in CMOS must be done through a dedicated program, which is the BIOS system setup program.
BIOS Interrupt Service Routine
The BIOS interrupt service routine is essentially a programmable interface between software and hardware in the system, primarily used to bridge the gap between program software and hardware. For example, the management of peripheral devices such as floppy disks, hard disks, optical drives, keyboards, and monitors in the operating system is directly based on the BIOS interrupt service routine, which can be called using assembly code to invoke interrupts like INT 5 and INT 13 to directly call the BIOS interrupt service routine.
BIOS Power-On Self-Test (POST) Program
When the PC is powered on, the system first checks all internal devices using the POST (Power On Self Test) program. A complete POST typically includes testing the CPU, 640K base memory, over 1M of extended memory, ROM, motherboard, CMOS memory, serial and parallel ports, display card, floppy and hard disk subsystems, and keyboard. If any issues are found during the self-test, the system will provide prompt information or beep warnings.
BIOS System Boot Program
After completing the POST self-test, the system first searches for valid boot drives such as hard disks, CD-ROMs, and network servers according to the boot order saved in CMOS, reads the operating system boot record, and then hands over control to the boot record to complete the system startup.
BIOS Boot Process
The ROM where the system BIOS resides is designed to be directly addressable by the CPU, with a fixed address range from F0000H to FFFFFH, totaling 64KB. When the PC is powered on, the power supply begins to provide power to the motherboard and other devices, during which the voltage is still unstable. The control chipset on the motherboard sends and maintains a RESET signal to the CPU, allowing the CPU to automatically return to its initial state, but the CPU does not immediately execute instructions at this moment. When the chipset detects that the power supply has stabilized (the transition from unstable to stable occurs almost instantaneously), it removes the RESET signal (if the computer is restarted by manually pressing the Reset button on the panel, the chipset will remove the RESET signal when the button is released), and the CPU resets, setting the IP register value to 0 and the CS register value to 0xFFFF. This means the CPU immediately starts executing instructions from address FFFF0H, which is within the address range of the system BIOS space, and the CPU begins executing the BIOS program from this fixed address.
Different manufacturers’ BIOS programs vary, but they generally complete the POST self-test and local device enumeration and initialization, including a series of tests on the hardware to detect which devices are present and whether they are functioning correctly. During this phase, some information, such as the BIOS version number, is displayed; hardware devices are initialized, which is crucial in modern PCI-based architectures to ensure that all hardware operations do not cause IRQ line and I/O port conflicts. At the end of this phase, a list of all installed PCI devices in the system is displayed.
After the BIOS self-test and initialization are complete, the BIOS boot program begins execution. Since the system BIOS space is only 64KB, it is impossible to place the Linux kernel directly in this space for the BIOS boot program to boot; instead, the kernel must be placed on the hard disk (or other devices, such as USB or network, which the BIOS searches sequentially according to the boot order), and then the Linux kernel is booted from the hard disk. However, at this point, the system is still in real mode, with addressing capability limited to 1MB, lacking information about the file system on the hard disk, and cannot directly boot the entire Linux kernel. Instead, it first loads a boot loader program, which then boots the Linux kernel.
The boot loader program is typically located in the first sector of the first hard disk (or other devices), which is the master boot sector, including the master boot record (MBR), partition table (DPT), and the master boot sector signature “55AA,” totaling 512 bytes. The sole task of the system BIOS boot program is to load the boot loader program stored in the MBR into memory at address 0x7C00 (which can be read using the BIOS interrupt method INT 13h to read the contents of the specified sector on the disk), and then the CPU jumps to this address, handing over control to the boot loader program to continue booting the system. GRUB (GRand Unified Bootloader) is an example of such a boot loader program.
GRUB Boot Process
GRUB (GRand Unified Bootloader) is a multi-boot manager. It allows the selection of which operating system to boot when multiple operating systems coexist, including Linux, FreeBSD, Solaris, NetBSD, BeOS, OS/2, and Windows 95/98/NT/2000. It can load the operating system kernel and initialize the operating system (such as Linux, FreeBSD) or hand over the boot authority to the operating system (such as Windows 98) to complete the boot process.
Essentially, GRUB is a mini operating system; it has a shell, supports scripts, and specific file systems. GRUB consists of stage1, stage1_5, stage2, and various files in the /boot/grub directory (including GRUB’s configuration files and related file system definition files).
Stage1 is compiled into a 512-byte image, written to the first sector of the hard disk’s 0 surface, and its only function is to load the second boot loader stage (stage2).
Stage1_5 is written into the 15 sectors following the MBR (since e2fs_stage1_5 is 7.5k in size). The starting sector of the first file system partition on the hard disk can only begin from cylinder 0, head 1, sector 1. This means that the MBR located on head 0 only uses one sector (the other sectors are unused and do not belong to any partition). According to current hard disk specifications, a typical cylinder head has 60+ sectors, so writing stage1_5 into the sectors following the MBR will not affect the normal file system partition. Stage1_5 is the file system interpretation code, varying according to the specific file system type of the /boot partition (or the partition where /boot is located); for example, for an ext3 partition, it is e2fs_stage1_5. Before stage1_5 is loaded, the system cannot recognize any file system (but can read the contents of the specified sector on the disk using the BIOS interrupt method INT 13h); after loading stage1_5, it can recognize the file system of the /boot partition, preparing for loading stage2.
Stage2 is the core part of GRUB, with over 100KB, so it can only be placed in the file system, typically in the /boot partition, which usually also contains the Linux kernel image file. After loading stage2, GRUB will load the Linux kernel image file based on the menu list or user input, loading the kernel image into memory at address 0x90000, placing the kernel entry point at address 0x90200, and then jumping to the kernel entry point to start the kernel.
Birth of UEFI
As seen in the images above, the BIOS interface is quite simplistic and not very user-friendly for those who are not fluent in English. The technology industry is characterized by rapid updates and iterations. UEFI, which stands for Unified Extensible Firmware Interface, is easier to implement compared to traditional BIOS, with stronger fault tolerance and error correction features, thus shortening the system development time. It is a new type of computer boot system, considered the successor to traditional BIOS.In simpler terms, it is a more advanced BIOS.
UEFI is based on 32 or 64-bit mode, breaking through the traditional BIOS 16-bit code addressing capability. It achieves the maximum addressing of the processor, overcoming the slow execution of BIOS code.In layman’s terms: setting UEFI boot will shorten the system startup time.
UEFI adopts a graphical interface, allowing mouse usage for settings. Users find it more intuitive and easier to operate when entering BIOS. It also supports Chinese.
Most importantly, we can use hard drives over 2.2TB as boot disks under UEFI. If you buy a 3TB hard drive, you cannot boot the system from it under traditional BIOS; the boot processes of BIOS and UEFI can be represented in the following diagram.
New motherboards purchased today are based on UEFI. If anything has helped UEFI defeat traditional BIOS, it is:standard interfaces, openness, and open-source..
END
Selected Past Articles
◆Three methods to reinstall a clean version of the computer system, why do computer shops fear installing a clean version?
◆14 different shutdown methods for Win10/11, how many do you know? [Tested and effective]◆Installation and activation tutorial for genuine Office 2021◆Installing Win11 into memory for unbeatable performance
◆ Recommended 15 websites to watch TV shows and movies for free, with URLs, tested and useful
◆ Seven methods to enter BIOS in Win11/10
◆These 8 high-quality Windows software will transform your computer into a high-tech machine
◆Simple steps to use WeChat for payments without binding a bank card
◆How to schedule your computer to turn on and off
◆Recommended 9 websites to watch movies for free, including overseas blockbusters and the latest films online