GNU/Linux >> Linux の 問題 >  >> Linux

特定のシステムにブートパーティションが必要かどうかを判断するにはどうすればよいですか?

歴史的に別々のブートパーティションがある理由の一般的な話を知っています:

/ bootパーティションは本当に何のためにあるのですか?

そして、新しいコンピュータでは、私はそれを気にしないかもしれません。ただし、UEFI以外のBIOS(USBから起動することもできません)を使用して、20-yroシステムにLinuxをインストールしています。これはマルチブートマシンでも、複雑なものでもありません。LVM、ディスク暗号化、RAIDなどはありません。

特定のかどうかはどうすればわかりますか 私の特定のコンピュータ HDD、ブートパーティションが必要ですか?

注:

  • 重要な場合–私がインストールしようとしたディストリビューションはantiX Linux19.3i386です。 gpartedを呼び出して、パーティションを編集できるようにします。
  • ブートローダーは当然、私のディストリビューションがインストールするものであり、AFAICTはgrub2です。

承認された回答:

システムが1994年以降のものである場合、そのBIOSは、1024/16/63よりも大きいクラスター/ヘッド/セクターのジオメトリを持つディスクを処理できない可能性があります。これは、504 MiB(528.4 MB)の制限になります。この理由は、2セットの制限の不便な相互作用でした:

  • 従来の拡張されていないBIOSINT13h関数は、1024/255/63の最大ディスクジオメトリを受け入れました
  • IDE(PATA)ハードウェアは、65536/16/63の最大ジオメトリを受け入れます
  • これまでのところ、些細な実装では各値の最小制限が選択されたため、1024/16/63の制限になりました。

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

一部のBIOSバージョンには、ディスクジオメトリ4096/16/16またはその「変換済み」フォーム1024/64/63にもバグがありました。

16383/16/63(または翻訳された形式では1024/255/63)のディスクジオメトリで、従来のC / H/Sディスクアドレス指定の上限に達しました。この種のディスクアドレス指定を処理するBIOS機能のデータ入力形式です。これより大きいディスクを処理するのに十分なビットがなかっただけです。この制限は、7.87 GiB(8.45 GB)のディスクサイズ、つまり正確に16450560ディスクブロックで到達しました。

IDE(PATA)仕様には、これを回避できる機能が含まれていましたが、当初はオプション機能として指定されており、すべてのBIOSがそれを実装しているわけではありません。これは、Logical Block Addressing、または略してLBAと呼ばれていました。ディスクサイズが大きくなるにつれて、1996年以降にリリースされたほとんどのディスクはLBAをサポートしていました。

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

1994年にリリースされたLBA仕様では、ディスクブロック番号に28ビットしか割り当てられていなかったため、正確に128GiBのディスクサイズでさらに別のディスクサイズ制限が発生しました。 2003年にリリースされたATA-6仕様では、48ビットバージョンのLBAディスクアクセス機能が指定されていました。これは、現在、最新のSATAディスクで使用されているものです。ディスクサイズが128PiBに成長するまで機能するはずです。

関連:これらの特定のコンテキストで「by」と「until」を使用する方法は?

BIOSで誤ったディスクジオメトリを意図的に指定し、ディスクが問題のある制限よりも小さいことを通知し、/bootを作成することで、これらの制限を回避できることがよくありました。 偽のジオメトリに完全に収まるパーティション。

時々(LBAサポートが導入された後)/bootで十分でした パーティションは適切なサイズ制限内でした。

ブートローダーはBIOSルーチンを使用してこのパーティションからLinuxカーネル(およびオプションでinitrdファイル)をロードし、カーネルが開始されると、ドライバーがディスクアクセスを引き継ぎ、BIOSを完全にバイパスし、OSが存在する限りその制限を無関係にします。実行されていました。この時点で、実際のディスクジオメトリは通常、カーネルによって自動検出されます。

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

  • システムのBIOSリリース日が2004年以前の場合は、/bootを作成する必要がある場合があります。 ディスクの最初の128GiB内に完全に収まるパーティション。そうしないと、BIOSがOSの起動に失敗する可能性があります。 (これは通常、デュアルブートおよびその他のマルチOSセットアップでのみ問題になります。)
  • システムのBIOSリリース日が2000年より前の場合は、別の/bootを作成することをお勧めします。 LBA実装のバグから保護するために、ディスクの最初の32GiB内のパーティション。
  • システムが1996年以前のものであり、BIOS設定のどこにも「LBA」が記載されていない場合は、偽のディスクジオメトリを指定し、/bootを確認する必要があります。 パーティションは、偽のジオメトリ内とディスクの最初の7.87GiB内の両方にあります。
  • それより古いもの:「それは美術館に属しています。」 🙂ただし、必要な場合は、関連する制限について上記を参照してください。

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

>
Linux
  1. 複数のブートローダーはEfiシステムパーティションでどのように機能しますか?

  2. デュアルブートシステムでGrubメニューをスキップする方法は??

  3. Grub2メニューに新しいオペレーティングシステムのブートエントリを追加するにはどうすればよいですか?

  1. 自分が画面にいるかどうかを確認するにはどうすればよいですか?

  2. ブート パーティションのサイズ変更

  3. EFI システム パーティションを作成する方法は?

  1. 標準ツールを使用してディスク全体のパーティションレイアウトをコピーするにはどうすればよいですか?

  2. システムに搭載されているハードディスクを確認するにはどうすればよいですか?

  3. 特定のパーティションを含むディスク名を取得する方法