GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Mengenalinya Apakah Sistem Spesifik Membutuhkan Partisi Boot?

Saya tahu cerita umum mengapa kami memiliki partisi boot terpisah secara historis:

Untuk apa sebenarnya partisi /boot?

dan di komputer baru, saya mungkin tidak akan repot dengan komputer baru. Namun – Saya menginstal Linux pada sistem 20 tahun, dengan BIOS non-UEFI (yang bahkan tidak dapat boot dari USB). Ini tidak akan menjadi mesin multi-boot, atau apa pun yang rumit:Tanpa LVM, tanpa enkripsi disk, tanpa RAID, dll.

Bagaimana cara mengetahui apakah spesifik . saya komputer, dengan khusus . saya HDD, perlu partisi boot?

Catatan:

  • Jika itu penting – distribusi yang ingin saya instal adalah antiX Linux 19.3 i386. Itu memanggil gparted untuk memungkinkan Anda mengedit partisi.
  • Boot loader secara alami akan menjadi yang diinstal oleh distribusi saya, yang AFAICT adalah grub2.

Jawaban yang Diterima:

Jika sistem sekitar dari tahun 1994 atau lebih lama, BIOS-nya mungkin tidak dapat menangani disk dengan geometri Cluster/Heads/Sectors yang lebih besar dari 1024/16/63, yang bekerja hingga batas 504 MiB (528,4 MB). Alasan untuk ini adalah interaksi dua set batasan yang tidak nyaman:

  • fungsi BIOS INT 13h klasik yang tidak diperpanjang menerima geometri disk maksimum 1024/255/63
  • perangkat keras IDE (PATA) akan menerima geometri maksimum 65536/16/63
  • sejauh ini, implementasi sepele hanya memilih batas terkecil di setiap nilai, menghasilkan batas 1024/16/63.

Pada bulan Juli 1994, fitur BIOS baru “Enhanced Disk Drive Services” (disingkat EDD) dikembangkan untuk mengatasi batas ini. Ini menggeser bit antara bagian Cluster dan Heads dari geometri antara representasi BIOS dan antarmuka perangkat keras IDE (disebut "terjemahan geometri"), sebagai solusi untuk batas ini.

Beberapa versi BIOS juga memiliki bug pada geometri disk 4096/16/16 atau bentuk "diterjemahkan" 1024/64/63.

Pada geometri disk 16383/16/63 (atau 1024/255/63 dalam bentuk terjemahan), batas maksimum pengalamatan disk C/H/S klasik tercapai:format input data dari fungsi BIOS menangani jenis pengalamatan disk ini hanya tidak memiliki cukup bit untuk menangani disk yang lebih besar dari ini. Batas ini tercapai pada ukuran disk 7,87 GiB (8,45 GB), atau tepatnya 16.450 560 blok disk.

Spesifikasi IDE (PATA) menyertakan fitur yang dapat mengatasi hal ini, tetapi pada awalnya ditetapkan sebagai fitur opsional, dan tidak semua BIOS mengimplementasikannya. Itu disebut Logical Block Addressing, atau disingkat LBA. Seiring bertambahnya ukuran disk, sebagian besar disk yang dirilis setelah tahun 1996 atau lebih mendukung LBA.

Tetapi kemudian bug BIOS lain ditemukan:beberapa BIOS memiliki implementasi LBA yang salah yang gagal jika lebih dari 26 bit diperlukan untuk mewakili nomor blok disk. Hal ini mempengaruhi beberapa versi BIOS yang dirilis pada bulan Agustus 1999 atau lebih lama, dan menyebabkan batas pada ukuran disk tepat 32 GiB (33,8 GB).

Spesifikasi LBA yang dirilis pada tahun 1994 hanya mengalokasikan 28 bit untuk nomor blok disk, dan ini menyebabkan batas ukuran disk lain pada ukuran disk persis 128 GiB. Spesifikasi ATA-6 yang dirilis pada tahun 2003 menetapkan versi 48-bit dari fungsi akses disk LBA, yang saat ini kami gunakan dengan disk SATA modern. Ini akan berfungsi hingga ukuran disk tumbuh menjadi 128 PiB.

Terkait:Bagaimana cara menggunakan "oleh" dan "sampai" dalam konteks khusus ini?

Seringkali mungkin untuk mengatasi keterbatasan ini dengan secara sengaja menentukan geometri disk yang salah di BIOS, memberi tahu bahwa disk lebih kecil dari batas yang melanggar, dan membuat /boot partisi yang sepenuhnya sesuai dengan geometri palsu.

Terkadang (setelah dukungan LBA diperkenalkan) cukup dengan /boot partisi berada dalam batas ukuran yang sesuai.

Bootloader akan menggunakan rutinitas BIOS untuk memuat kernel Linux (dan opsional file initrd) dari partisi ini, dan setelah kernel dimulai, drivernya akan mengambil alih akses disk, melewati BIOS sama sekali dan membuat batasannya tidak relevan selama OS sedang berlari. Pada titik ini, geometri disk yang sebenarnya biasanya akan dideteksi secara otomatis oleh kernel.

Jadi, apa artinya ini?

  • jika sistem Anda memiliki tanggal rilis BIOS pada tahun 2004 atau lebih lama, Anda mungkin perlu membuat /boot partisi yang sepenuhnya sesuai dengan 128 GiB pertama dari disk, atau BIOS mungkin gagal untuk mem-boot OS. (Ini biasanya masalah untuk boot ganda dan pengaturan multi-OS lainnya saja.)
  • jika sistem Anda memiliki tanggal rilis BIOS sebelum tahun 2000, Anda mungkin ingin membuat /boot terpisah partisi dalam 32 GiB pertama dari disk, hanya untuk aman dari bug implementasi LBA.
  • jika sistem berasal dari tahun 1996 atau lebih lama dan tidak menyebutkan "LBA" di mana pun dalam pengaturan BIOS, Anda mungkin harus menentukan geometri disk palsu dan memastikan /boot Anda partisi berada di dalam geometri palsu dan di dalam 7,87 GiB pertama dari disk.
  • apa pun yang lebih tua dari itu:“Ini milik museum.” Tetapi jika Anda harus, lihat di atas untuk mengetahui batasan yang relevan.

Jika tanggal rilis BIOS sistem hanya setelah tanggal pembaruan spesifikasi tertentu, itu mungkin atau mungkin tidak memiliki spesifikasi yang diperbarui:setelah setiap pembaruan spesifikasi dirilis, butuh beberapa waktu agar implementasi baru ada di mana-mana.


Linux
  1. Bagaimana Cara Kerja Multiple Boot Loader Pada Partisi Sistem Efi?

  2. Bagaimana Cara Melewati Menu Grub Pada Sistem Dual-boot??

  3. Bagaimana Cara Mengotomatiskan Partisi Windows Saat Boot?

  1. Bagaimana saya tahu apakah saya ada di layar?

  2. Mengubah ukuran partisi boot

  3. Apakah mungkin mem-boot Linux dari disk GPT pada sistem BIOS?

  1. Bagaimana Cara Menyalin Tata Letak Partisi Disk Utuh Menggunakan Alat Standar?

  2. Bagaimana Cara Menambahkan Entri Boot Sistem Operasi Baru Ke Menu Grub2?

  3. Bagaimana cara mengetahui hard disk apa yang ada di sistem?