Bagaimana cara kerja sektor boot dan banyak drive?

17

Saya tidak sepenuhnya memahami konsep sektor boot, saya berharap seseorang dapat menjelaskan ini untuk saya.

Jika Anda memiliki dua hard drive, dengan OS yang diinstal pada masing-masing, apakah setiap drive memiliki sektor boot sendiri? Apakah setiap drive memerlukan partisi MBR?

Saya punya Linux dan Windows di dua drive terpisah. Saya memiliki masalah ketika menginstal Linux dan grub, dan sekarang saya akhirnya memutuskan untuk menggunakan bootloader Windows untuk memulai. Apakah Windows telah menyingkirkan grub ketika saya menggunakan / fixmbr atau apakah ia tetap ada di sektor boot drive lain?

HAH
sumber

Jawaban:

17

Jawaban Wil samar-samar benar, tetapi secara teknis tidak akurat. Ya, drive tidak perlu MBR. Tanpa satu, Anda tidak akan bisa boot dari drive itu, dan Anda tidak akan dapat membuat partisi di drive itu. TAPI...

Istilah Master Boot Record sering digunakan untuk merujuk pada dua hal - itu hanya yang pertama, dan biasanya salah diterapkan ke yang kedua:

  1. Lokasi, khususnya, sektor 512-byte pertama dari perangkat penyimpanan data yang dipartisi ("LBA Sector 0"). Lokasi ini menampung 440 byte kode boot loader pertama (boot loader tahap pertama) dan tabel partisi primer. Lihat artikel MBR Wikipedia untuk detail tentang struktur MBR yang khas.

  2. Kode boot loader disimpan di lokasi itu. Dalam sistem BIOS, ini adalah kode pertama yang dijalankan ketika BIOS melakukan booting dari drive. Lihat MBR dan bootstrap sistem dan boot loader tahap pertama : pada sistem i386, rantai kode ini memuat boot loader tahap kedua , disimpan pada rekaman boot volume partisi aktif, yang melakukan boot aktual dari sistem operasi.

The Volume Boot Record atau boot sector partisi adalah sektor pertama dari partisi dan di mana sistem operasi diinstal ke partisi yang akan menyimpan kode bootstrap utamanya. VBR juga digunakan pada perangkat penyimpanan data yang tidak dipartisi (floppy disk, USB flash drive, atau bahkan hardisk yang digunakan dalam peran yang tidak dipartisi).

Sistem Mulitple-boot menggunakan boot manager (misalnya, Grub). Boot manager menempatkan sendiri kode bootloader ke MBR dan menyediakan menu dari mana pengguna dapat memilih OS untuk boot. (Dalam istilah teknis, pengguna memilih bootloader tahap kedua mana yang akan digunakan.)


Jadi, untuk menjawab pertanyaan Anda secara langsung:

  • Dua hard drive dengan OS yang diinstal pada masing -masing akan masing-masing memiliki MBR sendiri .

    • Kedua MBR akan mengandung setidaknya satu partisi.
    • Setiap partisi pada harddisk tersebut akan memiliki VBR sendiri. Partisi yang berisi instalasi sistem operasi akan menyimpan bootloader tahap kedua di VBR tersebut; setiap partisi yang hanya untuk data (mungkin) tidak akan memiliki kode boot yang valid di VBR mereka.
    • Jika sistem ini melakukan boot, setidaknya satu dari MBR tersebut akan berisi boot loader tahap pertama yang valid, tetapi hanya diperlukan untuk drive tempat BIOS mencoba melakukan booting.

  • Ketika Anda menginstal Linux ke drive kedua Anda, itu mungkin menulis boot loader tahap pertama Grub ke MBR drive Windows. Ini mungkin telah juga menulis tahap pertama boot loader ke MBR drive sendiri, tetapi jika BIOS tidak pernah upaya untuk boot dari drive Linux, Anda tidak akan pernah pemberitahuan. Demikian pula, ketika Anda menggunakan / fixmbr, Windows menulis ulang bootload tahap pertama pada MBR drive sistemnya.

    • Jujur saya tidak tahu apakah utilitas Bootrec.exe Win-7 juga akan menulis ke MBR drive lain. Mungkin memiliki kemampuan untuk melakukannya, tetapi mungkin bukan tindakan default.
    • Saya juga tidak tahu apakah installer Ubuntu 9.04 akan menginstal Grub ke MBR dari kedua drive secara default. Dimungkinkan untuk melakukannya dengan tangan jika diinginkan. Dalam beberapa situasi itu akan menjadi hal yang baik - jika Anda memutuskan koneksi drive Windows dan mencoba untuk boot dari drive Linux, Anda tidak akan bisa boot jika kode booting tahap pertama Grub tidak ada.
quack quixote
sumber
Terima kasih atas jawaban yang sangat terperinci: -) ... Saya selalu bertanya-tanya mengapa MBR digunakan untuk dua arti berbeda, dan sekarang saya tahu haha
GiH
1
@GiH sama-sama. terima kasih telah mengajukan pertanyaan ini; itu dapat berfungsi sebagai pengantar dasar untuk MBR & bootloader untuk pembaca masa depan.
quack quixote
apakah Anda memiliki sumber untuk "Istilah Master Boot Record sering digunakan untuk merujuk pada dua hal - itu benar hanya yang pertama, dan biasanya salah diterapkan ke yang kedua:" Saya yakin itu benar, dan saya telah membacanya suatu tempat .. tetapi menarik jika Anda memiliki sumber untuk itu. Juga, karena inilah istilah untuk bootloader, apakah ada istilah untuk bagian non-bootloader dari MBR? Dan ketika datang ke GPT, apakah GPT termasuk bootloader dan tabel partisi, dan terminologi apa yang membedakan antara GPT dan tabel partisi?
barlop
3

Sebuah drive tidak membutuhkan MBR, namun, tanpa MBR, Anda tidak akan bisa boot dari drive itu.

Sebagai permulaan, mesin akan boot ke disk apa pun yang diperintahkan oleh BIOS. Itu, adalah satu-satunya disk yang membutuhkan MBR (Ini pada mesin berbasis BIOS misalnya paling di pasar, bukan EFI).

Memiliki MBR pada dasarnya akan memberi tahu mesin bahwa drive dapat di-boot (dan tidak mengembalikan "No disk atau disk error" atau pesan serupa yang ditakuti), bootloader kemudian akan dimuat.

Ketika bootloader dimuat, pada dasarnya ia akan melakukan apa yang diperintahkan, ini dapat memuat bootloader lain (Misalnya, Grub memuat boot loader Windows) atau sistem operasi - Misalnya, Anda dapat memilih drive / partisi.

Jadi, Anda hanya perlu memiliki MBR (dan Bootloader) di drive boot yang sebenarnya.

William Hilsum
sumber
Ok, tapi mungkinkah kedua drive saya memiliki MBR karena saya sudah bekerja sebelumnya? Pada dasarnya yang saya coba cari tahu adalah apakah drive Linux saya membuang-buang ruang pada MBR karena saya tidak menggunakan grub, atau ketika saya menginstal bootloader Windows, apakah itu menghilangkan grub dan MBR? Maaf jika pertanyaan saya membingungkan ...
GiH
1
Anda hanya dapat memiliki satu MBR karena tidak begitu banyak file, tetapi lokasi - Jika Anda menginstal OS yang berbeda pada drive yang berbeda, ada kemungkinan bahwa Anda masih memilikinya di drive lain, tetapi sangat kecil, Saya benar-benar tidak akan khawatir (kita berbicara tentang beberapa ratus byte (saya pikir maks ~ 500), jika itu, pada drive dengan banyak miliaran byte!). Namun, ada kemungkinan Anda masih memiliki file grub - tetapi, sekali lagi, ini sangat kecil.
William Hilsum
3
@GiH, re: wasting space - tidak, MBR juga menyediakan tabel partisi untuk drive, sehingga ruang disediakan (tidak digunakan oleh OS) apakah itu berisi catatan boot yang valid atau tidak. Anda dapat menganggapnya sebagai sejumlah kecil overhead untuk sistem file Anda; dibandingkan dengan kapasitas hard drive modern, jumlah ruang "terbuang" terlalu kecil untuk dikhawatirkan.
quack quixote
1

MBR (Master Boot Record) adalah sektor pertama yang memungkinkan untuk ditulis. Ini memiliki lokasi dan ukuran tetap (sangat kecil), sehingga Anda hanya dapat memiliki satu MBR dengan disk.

MBR adalah sektor pertama yang dibaca dalam urutan boot setelah bios dimuat. Itu dapat digunakan untuk mem-boot satu sistem operasi atau untuk memuat boot loader seperti grub atau lilo untuk memilih sistem mana yang akan dimuat.


sumber