Чому операційні системи (як правило?) Не мають доступу до налаштувань BIOS?


20

Чи материнська плата не забезпечує шину між процесором та мікросхемою BIOS після завантаження? Якщо так, то чому б ні?

Якщо процесор може керувати швидкістю вентилятора, я не бачу, чому він не повинен керувати конфігурацією BIOS.


Наскільки я розумію, коли BIOS витягує завантажувач у ньому, він перестає функціонувати, очікуйте у випадках IPMI.
Linef4ult

Деякі виробники материнської плати мають утиліти для цього, але ці утиліти є специфічними для цієї материнської плати, у Windows немає вбудованої, оскільки це може бути поганою новиною, якщо зловмисне програмне забезпечення використовується, або середній користувач, котрий розглядає в конфігурації біос.
Моав

Як вже відповів DavidPostill. Windows (та інші операційні системи) часто можуть отримати доступ до BIOS. Однак це залежить від чіпсету та материнської плати, і це може не працювати на 100%. Якщо ви переходите від мікропрограмного забезпечення BIOS до програмного забезпечення UEFI, ви отримуєте більше контролю.
Геннес

Минув час, коли я побачив ПК із фактичним BIOS. Якщо ви маєте на увазі UEFI, це саме там, під /sys/firmware/efiLinux.
Дмитро Григор’єв

Після передачі контролю в ОС BIOS не використовується. Ви навіть можете вийняти мікросхему BIOS, щоб запрограмувати ще один примірник відновлення / повторного оновлення пошкодженої BIOS.
AStopher

Відповіді:


44

Чому операційні системи (як правило?) Не мають доступу до налаштувань BIOS?

На вищезазначене питання не можна відповісти, оскільки ОС може отримати доступ до BIOS.

Я відповім нижче на питання, яке можна було задати.


Як операційні системи можуть отримати доступ до налаштувань BIOS?

У Windows та Unix ОС може читати BIOS.

Windows

Приклад (з використанням wmic):

F:\test>wmic bios /?

BIOS - Basic input/output services (BIOS) management.

HINT: BNF for Alias usage.
(<alias> [WMIObject] | <alias> [<path where>] | [<alias>] <path where>) [<verb clause>].

USAGE:

BIOS ASSOC [<format specifier>]
BIOS CREATE <assign list>
BIOS DELETE
BIOS GET [<property list>] [<get switches>]
BIOS LIST [<list format>] [<list switches>]


F:\test>wmic bios list brief
Manufacturer              Name                                        SerialNumber      SMBIOSBIOSVersion  Version
American Megatrends Inc.  BIOS Date: 09/05/11 11:20:58 Ver: 04.06.03  27546064-5001600  R1190V3            Sony - 20110905

Windows також може записувати в BIOS (деякі виробники материнських плат надають оновлення BIOS на базі Windows.)

Дивіться, наприклад, як прошивати BIOS при необхідності через Windows або в BIOS .

Unix

У Unix є подібні команди.

  • biosdecode аналізує пам'ять BIOS і друкує інформацію про всі структури.

  • Ви можете здійснювати дзвінки BIOS у реальному часі від кореневого користувача, використовуючи додатки C, які містять вбудований ASM (код складання).

Джерело Як скинути дані BIOS у файл


Подальше читання


5
Хочу додати, що до Windows XP ви могли зробити - що в найкращому випадку моїх знань можна було б описати як - хитрість покажчика для доступу до налаштування з debug.com - пам’ятайте, що був хитрість зняти захист паролем деяких біосів моделей. Пошуки в Інтернеті, "debug.com" bios passwordздається, приносять певну релевантну інформацію по цій темі.
Тераот

1
все ще не відповідаючи на "Чому?" .... незадовільно ....
Zaibis

@Zaibis Не потрібно відповідати на "чому". ОС може отримати доступ до BIOS, тому запитання (і відповідь) чому ... не в змозі ... - безглузде питання. Відповідь я трохи уточнив.
DavidPostill

1
"Unable" should be replaced by "able" as the OS can access the BIOS.Якщо ви просто мали на увазі, що це словосполучення, ви повинні її видалити. Оскільки слідувати вашим порадам, це залишається питанням, якого ви навіть не вирішуєте.
Заїбіс

1
@Zaibis <sigh> Усі інші зрозуміли відповідь (включаючи ОП, який прийняв відповідь). Я оновив його знову, спеціально для вас;)
DavidPostill

19

Вони можуть, але не дуже багато у способі стандартизованого інтерфейсу до налаштувань, особливо там, якщо ви маєте на увазі власне "BIOS" (тобто попередній UEFI).

Деякі частини BIOS регулюються програмними контрактами між BIOS та ОС, що працює над ним. Дуже давно підпрограми BIOS використовувались для всіх видів щоденних завдань, таких як читання та запис дисків, показ речей на екрані та друк на приєднаному принтері, таким чином назва "основна система вводу / виводу". Якщо BIOS був узгоджений з обладнанням, ОС може підтримувати різні варіанти апаратного забезпечення, не маючи власних підпрограм для всіх цих речей. Але оскільки апаратне забезпечення та ОС стали складнішими і переросли обмежений набір засобів BIOS, ОС почали надавати власні драйвери майже для всього, лише покладаючись на BIOS для завантаження, управління живленням та отримання інформації про конфігурацію системи.

Але BIOS теж ускладнився і набув усіляких налаштувань і можливостей, якими не керував інтерфейс OS-BIOS, і навіть для речей, які є там, вказуються лише результати , а не реалізація . Це означає, що кожен виробник BIOS може робити речі, як хоче, що вони можуть змінювати речі, коли їм подобається, доки ОС не працює, і їм не потрібно нікому розповідати будь-яку деталь. Доступ до даних, що зберігаються в BIOS, є частиною пирога, але якщо у вас є утиліта, яка може зрозуміти дані, або яка може змінити їх таким чином, що BIOS насправді зрозуміє, то, ймовірно, це було зроблено Самі виробники BIOS, або це результат зворотної інженерії.


Було б здорово, якби ви могли описати частину "шматка торта" в деяких технічних деталях. Наприклад, припустимо, що я знаю, як змусити довільний код C виконуватись у режимі ядра; тепер, як би я пішов про скидання BIOS вручну?
Мехрдад

6
@Mehrdad Область даних BIOS та розширена область даних BIOS відображаються на основні адреси пам'яті, і тому їх можна читати та записувати безпосередньо з відповідними привілеями. (Зазвичай ви не хочете цього робити ...) Дивіться, наприклад, wiki.osdev.org/Memory_Map_%28x86%29#BIOS_Data_Area_.28BDA.29 та stanislavs.org/helppc/bios_data_area.html та bioscentral.com/misc /bda.htm для отримання додаткової інформації про макет BDA (перший також дає короткий вступ до одного варіанту макета EBDA). Додайте "Діапазон даних BIOS" та "Розширена область даних BIOS" у своїй улюбленій пошуковій системі для отримання додаткової інформації.
CVn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.