Apa yang membuat media yang dapat di-boot bisa di-boot?

11

Karena penasaran, apa yang membuat media bisa di-boot? Tautan ke penjelasan akan dihargai.

rem tangan palsu
sumber

Jawaban:

5

Mungkin beberapa perincian tentang bagaimana media yang dapat di-boot diatur dapat membantu mendefinisikan "apa yang membuat media yang dapat di-boot dapat di-boot".

Prosedur boot berbeda tergantung pada arsitektur, jadi saya hanya akan tetap berpegang pada PC standar (yaitu arsitektur x86).

Pertama, agar dapat "di-boot" secara efektif, suatu media perlu dipilih oleh BIOS setelah tes daya selanjutnya (POST). Agar hal ini terjadi, media harus ditandai sebagai bootable , yang berarti ia harus memiliki tanda tangan boot di sektor pertamanya. Ini adalah hal pertama yang membuat media dapat di-boot.

Kemudian, BIOS memuat dan memberikan tangan ke sektor boot ini (apa pun yang disimpan di sana ... sehingga bisa langsung menjadi program mode-nyata yang pas, tapi mari kita tetap pada skema "normal"). Jadi, agar dapat di-boot, sebuah media harus memiliki sektor boot yang berfungsi seperti itu .

Jika media dipartisi, maka Master Boot Record (MBR) diinstal di sektor ini. Kode ini akan bertanggung jawab untuk memeriksa tabel partisi dan menemukan partisi dengan set flag yang dapat di - boot . Kemudian, MBR akan memuat sektor pertama dari partisi ini, yang berisi apa yang disebut dengan Volume Boot Record (VBR). Perhatikan bahwa dalam kasus media tidak berpartisi, VBR terletak di sektor pertama media dan oleh karena itu secara langsung dipanggil oleh BIOS.

VBR berisi program bootstrap . Program ini harus menginisialisasi mesin (yaitu aktivasi memori yang diperluas melalui Gerbang A20, beralih dari mode nyata ke mode terlindungi, dll) untuk mengatur lingkungan yang tepat untuk menjalankan kode "modern", memuat kode ini dalam memori, dan kemudian "melompat" "untuk itu. Kode yang disebutkan di atas dapat berupa kernel OS dalam hal program bootloader, atau sistem multiboot (misalnya GRUB, LILO) dalam kasus pemuatan rantai. Bagaimanapun, pada akhirnya, beberapa kode yang dapat dieksekusi untuk menjalankan diperlukan untuk media untuk boot.

Berikut ini (mis. Dekompresi kernel, pemasangan ramdisk awal, pemuatan modul dalam kasus kernel hybrid atau server yang dimulai dengan kernel mikro, dll) tidak sepenuhnya relevan dari sudut pandang organisasi media yang dapat di-boot.

Catatan: Apa yang saya jelaskan adalah proses untuk cakram keras dan disket. Kasus CD sangat mirip. Selain itu, agar dapat di-boot, CD harus mengikuti spesifikasi El-Torito, yang merupakan perpanjangan dari standar ISO9660. Awalnya, CD tersebut harus berisi gambar floppy disk yang dapat di-boot (yaitu gambar yang sebenarnya 1,44M), yang diperlakukan oleh BIOS sebagai floppy dan di-boot sesuai dengan itu. Perangkat keras yang lebih baru memungkinkan untuk boot langsung tanpa solusi ini.

Christian Vincenot
sumber
9

Apa yang membuat media bootable adalah bootable

  • standar untuk media yang dapat di-boot yang mendefinisikan hal-hal seperti:
    • platform perangkat keras yang menerapkan boot-loader.
    • lokasi pada media perangkat lunak boot-loader.
    • proses dimana perangkat lunak itu akan dimuat.
  • implementasi standar-standar tersebut di perangkat keras yang dilampirkan media.

Wikepedia memiliki artikel yang menjelaskan proses booting.

RedGrittyBrick
sumber