特定のシステムにブートパーティションが必要かどうかはどうすればわかりますか?

特定のシステムにブートパーティションが必要かどうかはどうすればわかりますか?

私は歴史的になぜ別のブートパーティションがあったのかについての一般的な話を知っています。

/bootパーティションの実際の目的は何ですか?

新しいコンピュータでは 誰もいじめないでください。しかし、UEFIではなくBIOS(USBでも起動できません)を使用して20年前のシステムにLinuxをインストールしています。これはマルチブートマシンではなく、LVM、ディスク暗号化、RAIDのない複雑なシステムではありません。

私のことをどうやって知ることができますか?特定コンピュータです。特定ハードディスク、ブートパーティションが必要ですか?

メモ:

  • 重要な場合 - インストールするディストリビューションはアンチX Linux19.3 i386。パーティションを編集できるようにgpartedを呼び出します。
  • ブートローダは、当然、AFAICTがgrub2のマイディストリビューションからインストールされています。

ベストアンサー1

システムが1994年以前のバージョンの場合、BIOSは504MiB(528.4MB)に制限されている1024/16/63より大きいクラスタ/ヘッド/セクタ構造のディスクを処理できない可能性があります。その理由は、2つの制限のセットの不快な相互作用によるものです。

  • 従来の拡張されていないBIOS INT 13h機能で許容される最大ディスク構造は1024/255/63です。
  • IDE(PATA)ハードウェアで許容される最大幾何学サイズは65536/16/63です。
  • これまでの単純な実装では、各値から最小の制限を選択して1024/16/63の制限が発生しました。

1994年7月、これらの制限を解決するために、新しいBIOS機能である「拡張ディスクドライブサービス」(EDD)が開発されました。 BIOS表現とIDEハードウェアインタフェース間のヘッダセクションとジオメトリクラスタの間でビット(「ジオメトリ変換」と呼ばれる)を移動して、これらの制限を解決します。

一部のBIOSバージョンでは、ディスク構造4096/16/16または「翻訳済み」フォーマット1024/64/63にエラーがあります。

クラシックC / H / Sディスクアドレッシングの最大制限は、16383/16/63(または翻訳時に1024/255/63)のディスク構造に達します。これらのディスクアドレッシングを処理するBIOS機能のデータ入力形式はありません。これより大きいディスクを処理するのに十分なビットがありません。この制限は、ディスクサイズが7.87GiB(8.45GB)または正確に16,450,560個のディスクブロックの場合に達します。

IDE(PATA)仕様にはこの問題を解決する機能が含まれていますが、元々はオプション機能として指定されており、すべてのBIOSでそれを実装するわけではありません。これを論理ブロックアドレッシング、減らしてLBAと呼びます。ディスクサイズが大きくなり、1996年頃にリリースされたほとんどのディスクはLBAをサポートしました。

しかし、別のBIOSのバグが見つかりました。一部のBIOSには、ディスクブロック番号を表示するために26ビット以上が必要な場合、LBAの実装に失敗するバグがありました。これは1999年8月以前にリリースされた特定のBIOSバージョンに影響し、ディスクサイズの制限は32GiB(33.8GB)です。

1994年に発表されたLBA仕様は、ディスクブロック番号に28ビットしか割り当てられていないため、ディスクサイズ制限が128GiBディスクサイズとして追加されました。 2003年に発表されたATA-6仕様は、現在最新のSATAディスクに使用されているLBAディスクアクセス機能の48ビットバージョンを指定しました。ディスクサイズが128PiBに大きくなるまで機能します。


これらの制限は通常、BIOSで意図的に誤ったディスク構造を指定し、ディスクが問題のある制限より小さいことを知らせ、偽の構造/bootに正確に収まるパーティションを作成することによって解決できます。

場合によっては(LBAサポートの導入後)、/bootパーティションが適切なサイズ制限内であれば十分です。

ブートローダはBIOSルーチンを使用してこのパーティションからLinuxカーネル(およびオプションのinitrdファイル)をロードし、カーネルが起動するとドライバがディスクアクセスに代わってBIOSを完全にバイパスし、オペレーティングシステムが動作している間に制限を変更します。できます。走ることは問題ではありません。ランニング。この時点で、カーネルは通常、実際のディスク構造を自動的に検出します。

では、これはどういう意味ですか?

  • システムのBIOSが2004年以前にリリースされた場合は、/bootディスクの最初の128GiBに完全に収まるパーティションを作成する必要があります。そうしないと、BIOSがオペレーティングシステムを起動できない可能性があります。 (これは通常、デュアルブートやその他のマルチOS設定の問題です。)
  • システムのBIOSが2000年以前にリリースされた場合は、/bootLBA実装エラーを防ぐためにディスクの最初の32GiB内に別々のパーティションを作成できます。
  • システムが1996年以前のバージョンで、BIOS設定のどこにも「LBA」が記載されていない場合は、偽のディスク構造を指定し、パーティションがすべて偽構造内にあることを確認する必要があります。/bootもう一度7.87GiB以内に配置する必要があります。ディスク。
  • これより古いもの:「博物館に属しています」 :-) しかし、必ずしなければならない場合は、上記の制限事項をご覧ください。

システムのBIOSリリース日が特定の仕様の更新日の直後に該当する場合、更新された仕様がある場合とない場合があります。各仕様の更新がリリースされた後、新しい実装が普及するのに時間がかかります。

おすすめ記事