Konflik antara apa yang Anda katakan tentang bootloader yang berada dalam ROM dan sedang dalam MBR mungkin disebabkan oleh bootloader yang digunakan untuk kode apa pun yang mengetahui cara melakukan minimum memuat kode untuk membuat komputer melakukan sesuatu yang bermanfaat, termasuk masing-masing status dalam boot multi-tahap.
Jadi, kondisi awalnya adalah memiliki komputer, yang merupakan perangkat yang dapat diprogram, tetapi tidak tahu cara memuat perangkat lunak untuk dijalankan karena tidak ada perangkat lunak yang dimuat. (Dan karenanya boot dari tarik sendiri ke atas dari bootstraps-nya ).
Secara historis, ada beberapa solusi berbeda untuk masalah ini, tetapi hari ini kita mulai dengan beberapa kode dalam ROM (kemungkinan besar hanya EEPROM), yang cukup untuk membuatnya melihat perangkat yang berbeda dan mencobanya secara bergantian sampai menemukan satu yang bootable.
(Inilah sebabnya mengapa banyak sistem akan mem-boot CD atau DVD jika Anda memasukkan disk pemasang OS ke dalam dan dari hard-drive sebaliknya, BIOS [kode pada ROM, termasuk kode yang sedang kita bicarakan dan beberapa lainnya rendah -level stuff yang memulai semuanya] diatur untuk melihat drive CD / DVD terlebih dahulu, kemudian pada hard-drive jika tidak menemukan apa-apa, tweaker sering mengaturnya untuk mengabaikan drive CD / DVD kecuali diminta secara manual sehingga tidak membuang waktu memutar disk yang tidak dapat di-boot yang tertinggal di drive).
Kode ini dalam ROM kadang - kadang disebut bootloader .
Ketika ia tahu drive apa yang harus dilihat, maka ia akan melihat MBR, yang berisi informasi tentang partisi primer - bagaimana nanti Anda bisa melihat / atau / boot atau C: / (pada sistem Windows) jika Anda bahkan tidak tahu bagian mana dari disk itu, partisi mana, tidak peduli bagaimana setiap partisi dipasang? - dan beberapa kode dengan instruksi lebih lanjut untuk dieksekusi. (Kebetulan, ini menjelaskan mengapa beberapa OS - seperti Windows - hanya dapat diinstal pada partisi primer, detail partisi tersebut ada di MBR dan itulah satu-satunya informasi partisi yang telah dibaca oleh bootloader mereka, dan tidak memuat EBR ke belajar tentang partisi logis, sejauh menyangkut partisi itu bahkan belum ada).
Kode yang dapat dieksekusi itu, juga disebut bootloader . Ketika kita ingin membedakan antara ini dan apa yang terjadi selanjutnya, itu disebut boot loader utama (karena kecuali kita membuat BIOS kita sendiri, kita mengabaikan bit ROM sebagai di luar kendali kita).
Kode itu akan menjadi sangat kecil karena hanya ada sekitar 400 byte untuk menyesuaikan, sehingga untuk melakukan sesuatu yang nyata, itu akan memuat beberapa kode lagi, yang bisa lebih besar karena tidak harus berurusan dengan kendala ini.
Kode ini, juga dikenal sebagai bootloader . Ketika kami ingin membedakan antara ini dan apa yang datang sebelumnya, itu disebut boot loader sekunder .
Kode itu mungkin bisa menjadi tahap terakhir dalam proses. Itu akan terjadi jika Anda hanya memiliki satu OS, atau jika semua OS di sistem Anda menggunakan boot-loader yang kompatibel (mis. Dua instalasi Linux yang keduanya menggunakan GRUB, sehingga GRUB mana pun yang diperbarui terakhir dapat menawarkan untuk mem-boot ke salah satu dari mereka) lalu menyajikan menu (jika diinginkan) dimuat dalam kernel, dan melewati kendali atas sistem operasi.
Dalam kasus di mana Anda memiliki OS yang tidak kompatibel dengan bootloader itu, itu mungkin berantai. Misalnya, jika Anda memiliki Windows dan Linux di mesin yang sama, opsi GRUB untuk memuat Windows sebenarnya akan memuat bootloader lain yang hanya tahu tentang instalasi Windows, dan meneruskannya. Meskipun ini adalah tahap tersier dalam proses, itu masih disebut boot loader sekunder , karena tidak tahu atau peduli bahwa ada boot loader sekunder lain yang berjalan sebelum itu. Ini juga akan menjadi kasus dengan instalasi Linux yang menggunakan berbagai jenis bootloader sekunder.
Sebagian besar ketika kita berbicara tentang bootloader dalam hal Linux, umumnya kita tidak bermaksud kode ROM (itu bukan bagian dari Linux, atau diubah dengan menginstal Linux). Ketika kami melakukannya, update-grub
kami mengubah bootloader sekunder, yang biasanya di / boot dari instalasi tertentu. Ketika kita lakukan install-grub
kita mengubahnya dan juga bootloader utama di MBR sehingga memiliki cukup kode untuk mengetahui di mana / boot (mungkin memulai RAID perangkat lunak saat berjalan) dan akan memuat dan mengeksekusi ketika itu, itu sendiri dieksekusi .
Jadi, secara ringkas Anda salah ketika Anda mengatakan ROM adalah bagian dari memori utama * karena terpisah. (Memang, RAM diambil sebagai antonim untuk ROM). Anda benar mengatakan bahwa ada bootloader di sana dan di MBR, karena mereka dua langkah dari proses dan keduanya kadang-kadang disebut dengan nama itu. Dan jawaban untuk "Apakah OS yang berbeda menyimpan bootloader mereka di tempat yang berbeda?" "sebagian besar", karena jika Anda bootloader sekunder yang tidak kompatibel akan menyembunyikan bootloader lain (jika Anda menginstal Windows setelah menginstal Linux) atau chainload ke yang lain jika diminta (jika Anda memperbaiki situasi itu, atau menginstal Linux setelah Windows), tetapi sebuah OS dapat berbagi bootloader sekunder jika kompatibel (jika Anda menginstal Linux setelah Linux lain yang menggunakan jenis boot loader sekunder yang sama, dan itu dapat melihat Linux lainnya [terkadang perangkat lunak RAID membingungkan hal-hal dan membuat pemuatan rantai diperlukan).
* Pada hari-hari di mana seseorang secara terprogram akan menggunakan ROM dan RAM ini berbeda. Sebagai contoh, pada ZX Spectrum, ROM akan berukuran 16kiB dan menyertakan penerjemah BASIC, sehingga memberi Anda titik awal untuk memuat sesuatu ke dalam 48kiB atau 128KiB (paged) atau RAM, (dalam hal ini, pada dasarnya boot ke penerjemah BASIC dan kemudian menggunakannya untuk mem-boot apa yang ada di kaset), ada sejumlah fungsi dari penerjemah BASIC yang dapat digunakan oleh program dalam RAM (mengapa menulis fungsi trigonometri ketika komputer sudah memiliki satu di posisi yang dikenal) terutama ketika Anda hanya menjalankan 48kiB untuk menjalankan semua kode Anda sendiri). ROM ini juga terlihat dengan cara yang sama seperti RAM, hanya di alamat yang berbeda. Dalam kasus seperti itu ROM adalah bagian dari memori utama seperti RAM, tetapi tidak dapat ditulis.
A small portion of a computer's main memory where the CPU expects to find its initial program is constructed from special nonvolatile memory cells. Such memory is known as read-only memory(ROM)
Menurutnya. Memori utama terdiri dari dua bagian, RAM dan ROM. Saya hanya ingin tahu apakah bootloader yang disebut itu diinstal pada bagian ROM dari memori utama ... @Sergey