Mengapa sistem operasi (biasanya?) Tidak dapat mengakses pengaturan BIOS?

20

Apakah motherboard tidak menyediakan bus antara CPU dan chip BIOS setelah bootup? Jika demikian, mengapa tidak?

Jika CPU dapat mengontrol kecepatan kipas, saya tidak mengerti mengapa CPU tidak dapat mengontrol konfigurasi BIOS.

Dmiters
sumber
Untuk pemahaman saya, ketika BIOS menarik bootloader di dalamnya berhenti berfungsi, berharap dalam kasus IPMI.
Linef4ult
Beberapa produsen motherboard memiliki utilitas untuk melakukan itu tetapi utilitas ini khusus untuk motherboard itu, windows tidak memilikinya dibangun karena ini bisa menjadi berita buruk jika malware menggunakannya atau pengguna biasa melihat-lihat konfigurasi BIOS.
Moab
Seperti DavidPostill sudah menjawab. Windows (dan sistem operasi lain) sering dapat mengakses BIOS. Namun ini tergantung pada chipset dan motherboard dan mungkin tidak bekerja 100% dari waktu. Jika Anda berpindah dari firmware BIOS ke firmware UEFI, Anda mendapatkan lebih banyak kontrol.
Hennes
Sudah lama sejak saya melihat PC dengan BIOS yang sebenarnya. Jika Anda maksud UEFI, itu tepat /sys/firmware/efidi bawah di Linux.
Dmitry Grigoryev
Setelah kontrol diserahkan ke OS, BIOS tidak digunakan. Anda bahkan dapat mengeluarkan chip BIOS untuk memprogram yang lain dalam hal pemulihan BIOS / memantulkan BIOS yang rusak.
AStopher

Jawaban:

44

Mengapa sistem operasi (biasanya?) Tidak dapat mengakses pengaturan BIOS?

Pertanyaan di atas tidak dapat dijawab karena OS dapat mengakses BIOS.

Saya akan menjawab di bawah pertanyaan yang bisa ditanyakan.


Bagaimana sistem operasi dapat mengakses pengaturan BIOS?

Pada Windows dan Unix OS dapat membaca BIOS.

Windows

Contoh (menggunakan 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 juga dapat menulis ke BIOS (beberapa produsen motherboard menyediakan BIOS updater berbasis Windows.)

Lihat misalnya Cara mem-flash BIOS jika diperlukan melalui Windows atau di BIOS .

Unix

Unix memiliki perintah serupa.

  • biosdecode mem-parsing memori BIOS dan mencetak informasi tentang semua struktur.

  • Anda dapat melakukan panggilan BIOS real-time dari pengguna root menggunakan aplikasi C yang menyertakan ASM (kode assembly).

Sumber Cara membuang data BIOS ke file


Bacaan lebih lanjut

DavidPostill
sumber
5
Saya ingin menambahkan bahwa sebelum Windows XP, Anda dapat melakukan - apa yang terbaik dari pengetahuan saya dapat digambarkan sebagai - penunjuk pointer untuk mengakses pengaturan dari debug.com - ingat ada trik untuk menghapus perlindungan kata sandi dari beberapa bios model. Pencarian di web "debug.com" bios passwordtampaknya membawa beberapa informasi yang relevan tentang topik tersebut.
Theraot
1
masih belum menjawab "Kenapa?" .... tidak memuaskan ....
Zaibis
@Zaibis Tidak perlu menjawab "mengapa". OS dapat mengakses BIOS sehingga bertanya (dan menjawab) mengapa ... tidak dapat ... adalah pertanyaan yang tidak berarti. Saya sudah mengklarifikasi jawabannya sedikit.
DavidPostill
1
"Unable" should be replaced by "able" as the OS can access the BIOS.Jika Anda hanya bermaksud menjadikannya sebagai frasa, Anda harus menghapusnya. Sejak mengikuti saran Anda, mereka tetap menjadi pertanyaan yang bahkan tidak Anda jawab.
Zaibis
1
@Zaibis <sigh> Semua orang mengerti jawabannya (termasuk OP yang menerima jawaban). Saya telah memperbarui lagi terutama untuk Anda;)
DavidPostill
19

Mereka bisa, tetapi tidak ada banyak cara antarmuka standar untuk pengaturan di sana, terutama jika Anda berarti "BIOS" yang tepat (yaitu pra-UEFI).

Bagian tertentu dari BIOS diatur oleh kontrak perangkat lunak antara BIOS dan OS yang berjalan di atasnya. Dahulu kala, rutinitas BIOS digunakan untuk semua jenis tugas sehari-hari seperti membaca dan menulis disk, menampilkan hal-hal di layar, dan mencetak ke printer yang terpasang, dengan demikian nama "sistem input / output dasar". Jika BIOS dicocokkan dengan perangkat keras, OS dapat mendukung varian perangkat keras yang berbeda tanpa harus memiliki rutinitas sendiri untuk semua hal itu. Tetapi ketika perangkat keras, dan OS, tumbuh lebih rumit dan mengungguli set terbatas fasilitas BIOS, OS mulai menyediakan driver mereka sendiri untuk hampir semuanya, hanya mengandalkan BIOS untuk bootup, manajemen daya, dan mengambil informasi konfigurasi sistem.

Tetapi BIOS, juga tumbuh lebih rumit dan mendapatkan semua jenis pengaturan dan kemampuan yang tidak diatur oleh antarmuka OS-BIOS, dan bahkan untuk hal-hal yang ada di sana hanya menentukan hasil , bukan implementasi . Itu berarti bahwa setiap produsen BIOS bebas untuk melakukan hal-hal yang mereka inginkan, bahwa mereka bebas untuk mengubah hal-hal kapan pun mereka suka selama OS tetap berjalan, dan bahwa mereka tidak harus memberi tahu siapa pun detailnya. Mengakses data yang disimpan oleh BIOS adalah sepotong kue, tetapi jika Anda memiliki utilitas yang dapat memahami data tersebut, atau yang dapat memodifikasinya dengan cara yang benar-benar dimengerti oleh BIOS, maka itu mungkin dibuat oleh Pabrikan BIOS sendiri, atau itu hasil rekayasa balik.

hobbs
sumber
Akan keren jika Anda bisa menggambarkan bagian "sepotong kue" dalam beberapa detail teknis. Sebagai contoh, anggap saya tahu bagaimana membuat kode C arbitrary dieksekusi dalam mode kernel; sekarang bagaimana cara saya membuang BIOS secara manual?
Mehrdad
6
@Mehrdad Area Data BIOS dan Area Data BIOS Diperluas dipetakan ke alamat memori utama, dan dengan demikian dapat dibaca dan ditulis secara langsung dengan hak istimewa yang sesuai. (Biasanya Anda tidak ingin melakukan itu ...) Lihat misalnya wiki.osdev.org/Memory_Map_%28x86%29#BIOS_Data_Area_.28BDA.29 dan stanislavs.org/helppc/bios_data_area.html dan bioscentral.com/misc /bda.htm untuk informasi lebih lanjut tentang tata letak BDA (yang pertama juga memberikan pengantar singkat untuk satu varian dari tata letak EBDA). Masukkan "Area Data BIOS" dan "Area Data BIOS yang diperluas" ke mesin pencari favorit Anda untuk informasi lebih lanjut.
CVn