Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
In the process of configuring of my server, I come to a question: How does Linux override BIOS settings?
For example, if I disable a HD in BIOS, windows will not see it. It just disappears. However, Linux will see them regardless of how many drives are disabled in BIOS. Does windows depend on certain BIOS api, while Linux doesn't depend on it? Does Linux kernel overwrite the loaded BIOS programs/data, or Linux just ignore them? How does it all work?
Once the linux kernel loads, linux kisses the bios good bye. All hardware detection is then done through the linux kernel. The only thing the bios does for linux is identify the boot device and load the kernel via the bootloader. Linux doesn't overwrite anything in the bios so much as completely ignore it once the kernel loads.
In windows, hardware detection is much more tightly bound to the bios. For example, older bioses had limitations on the maximum size of the hard drives it would recognize. These over sized drives would be undetected by the bios and windows but be plainly visible in linux if you had linux on another bootable drive within the size limits of the bios. It's more a matter of the history of the PC than anything else. The PC bios was designed to work with the old DOS based windows and the quirks of the windows kernel. For the development of the linux kernel, you didn't want or need to have hardware detection tied to the bios. Once the kernel loads, linux accesses the hardware directly.
Thanks for your explanation! I really like the history bit!
Do you have any information or links explaining in more detail what address bios is loaded into and how a boot loader access the information in the bios?
Does a boot loader call a function or access a certain register or read a certain block of memory or what?
It's basically a choice for an operating system to pay attention to the configuration information kept by the ACPI (Advanced Configuration and Power Interface). The BIOS creates a database of the detected hardware, disks, etc. It can also configure some devices based on the information the hardware provides as part of Plug and Play.
Newer versions of Windows require an ACPI BIOS and will not work without it unless you install a special HAL (Hardware Abstraction Layer).
Linux does not require ACPI although you can load modules that support the power management features of ACPI and hot plugging.
ACPI provides assistance for power management. The BIOS still has to be involved in placing hardware in low power modes so Linux does use the BIOS ACPI interface. On laptops it may be necessary to load special ACPI modules for Linux to support all the power management features provided by the BIOS.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.