/ bootパーティションは常に必要ですか?


30

/bootLinuxディストリビューションをインストールするたびにパーティションを作成する必要がありますか?

/bootパーティションを作成することと/パーティションを起動可能にすることには違いがありますか?


誤ってブートローダーを上書きしないように、/ bootパーティションを分離しておく方が安全だと思います。間違っていない場合は、ブートローダーがディスクの最初のシリンダーにあり、BIOSがディスクから最初のバイトを常に読み込むため、ブートプロセスが適切に動作することを確認してください。オペレーティングシステムをロードします。
mnmnc

1
それは確かに必要ではありませんが、上記のコメントで述べたように、それは良い習慣です。
ハメドモメニ

回答:


29

明確な質問に答えるために:no、個別のパーティション/bootはすべての場合に必要なわけではありません。

ただし、他に何も分割しない場合でも、一般的に、、およびスワップ用/に別々のパーティションを作成することをお勧めします/boot。また、ファイルシステム階層をこれ以上分割しない場合でも、別のパーティションを作成すること強くお勧め/homeします。

通常のルートファイルシステムとは別のパーティションに/ bootを配置する理由は、ディスク上のファイルシステムの複雑さを軽減できるためです。これにより、カーネルと初期RAMディスクをブートストラップするブートローダーの要求が軽減されます。これは、自明ではないセットアップを実行している場合に特に興味深いものになります。おそらく、RAIDを実行している、またはルートパーティションでZFSなどの異常なファイルシステムを実行している、または暗号化されたルートパーティションです。/ bootのパーティションは、たとえばプレーンなext2fsを使用してフォーマットできます。パーティションは小さくする必要があるだけなので(数百メガバイトで十分です。現在のシステムの/ bootは100 MBであり、そこから制約を感じません)、ext2などの非ジャーナリングファイルシステムの欠点は必要です。とにかくチェックがとても速いので、それほど素晴らしいことではありません。また、ファイルシステムが比較的単純であり、その大部分が静的であるため、検出されない破損が発生する可能性が低くなります。ブートローダーがエキゾチックなファイルシステムやディスクセットアップをネイティブに理解する必要がないことも、もう1つの利点です。

/ homeを別のパーティションに配置する理由は、何かが不正になり、それを埋め始めた場合(または自分でそれを行った場合)でも、それが非ユーザープロセス(めったに/ホーム)またはブートプロセス自体。また、インストーラーに/ homeをそのままにして、再フォーマット/して独自のファイルを入力するように指示することができれば、OSの再インストールやディストリビューションの切り替えがはるかに簡単になります。ソフトウェアに関して何かが本当にうまくいかない場合の最後の手段として、これは大きな違いを生むことができます。

Linuxでのスワップファイルの実行は推奨セットアップではありません。また、ほとんどの一般的なディストリビューションのストックカーネルがサポートするかどうかもわかりません。(または許可)ファイルベースのスワップ。これには複数の理由がありますが、1つの大きな理由はパフォーマンスです(主にフラグメンテーションのリスクによる)。スワップはすでにRAMと比較してひどく遅いため(修正というよりは一時的な対策です)、断片化の危険を冒してさらに遅くする理由はほとんどありません。また、スワップパーティションは、マルチブート環境のLinuxディストリビューション間で安全に共有できます。おそらく一般的な場合の考慮事項ではなく、確かにいくつかの考慮事項です。スワップパーティションは、異なる特性を持つ別の物理ディスクに配置することもできます。最近のSSDや、別のコントローラーチャネルで実行される10krpmドライブ(おそらく、すべてのSATAディスクが別のチャネルにあるが、PATAの時代には違いをもたらす可能性があります)

個人的に、私は/、/ boot、およびswapを分離し、現在のシステムの/を100 GBにしています(そのすべてを使用する場所はほとんどありません。現在の使用量は8.9 GBであり、それによって必要なものすべてが得られますソフトウェア、そしていくつか)。プライマリディスクの残りは単一のファイルシステムで構成されており、個人的な慣習により/ da(disk a)にマウントします。2番目のディスクは/ db、次に/ dcなどになります。(FHSがこのスキームを本当に承認しているとは思いませんが、実際にはうまく機能します。)/ homeを/ daにバインドマウントします。つまり、すべての単一パス参照を更新することなく、物理ディレクトリを移動できます。 / homeのディスク領域が少し不足していることに気付いたからといって、それを再パーティション化することもできます。


3
また、別/ブートのみれる必要ルートパーティションを暗号化(およびブートが明確に明らかにされ)されている場合
USR-ローカルΕΨΗΕΛΩΝ

私は、「非自明なセットアップ」に該当すると思いますが、私はあなたに特定の例を編集します@djechelon。
からCVn

私はZFSを検討していますが、すべてのガイドは、ルートでZFSを使用する場合、/ bootでext *のようなものが必要であることを示しているようです。
CMCDragonkai 14年

1
@CMCDragonkaiそれは私の答えを変更しません「いいえ、/ bootの個別のパーティションは確かにすべての場合に必要はありません」。
CVn 14年

3

もう必須だとは思わない。以前は、BIOSの制限のために必要でした。8または64 Goの後にブート可能なパーティションを作成することは不可能でした(正確には覚えていません)。次に、デュアルブートが必要な場合は、最初の小さなパーティション(/ boot)、ブート可能なWindowsパーティション、および他のLinuxパーティションを配置できます。長い間、/ bootディレクトリがまったくありませんでした。カーネルは/に直接ありました。


1
カーネルはルートに直接保存されることもありますが(ディストリビューションによってはこれを行う場合があります)、initrd、System.map、ブートローダー設定など、独自の階層を優先する他のものが必要になる場合があります。
CVn

2

違いはファイルシステムの最適化です。通常、各パーティションにはファイル、記述子などの独自のテーブルがあります。Linuxは、「/ boot」、「/ swap」、「/ usr」などのない単一の「/」パーティションにインストールできますが、この単一パーティションの内部テーブルはすぐに巨大になりますまた、一部の操作が少し遅くなります。そのため、異なる種類のタスクに最適化された個別のコンテナを提供するために、異なるパーティションが使用されます。


iノードテーブルの完全なセットは、ファイルシステムチェック以外ではほとんど使用されません。ほとんどの場合、特定のディレクトリのテーブルのみが参照されます。パーティションサイズに基づくサイズの違いはありません(またはほとんどありません)。
CVn

サイズはusage、サイズではなくパーティションに基づいています。inodesはリストなので、inodes = moreはファイルのルックアップ、追加などの時間です。空のパーティションと100万個のファイルがあるパーティションとの間に大きな違いはありませんが、ブートやスワップなどの操作には違いがあります。
grigoryvp

あなたのコメントがどのように私の意見と矛盾するかわかりません。また、スワップパーティションはファイルを処理しないため、inodeの概念がありません。との間に大きな違いが/swapありswapます。
CVn

0

いいえ、いくつかの理由で/ bootパーティションは必要ないと思います。

  • / bootフォルダーが小さくなりすぎないようにして、/に含めることができます。
  • / bootのファイルとフォルダーは頻繁に更新およびアクセスされないため、パーティションを作成する必要はありません。/ tmpまたは/ swapフォルダーとは異なります。プログラムは/ bootに書き込みません。
  • / bootは、initramfsイメージが更新されるときの起動時とカーネル更新時にのみ使用されます。
  • 1つのRAID 5アレイで/ bootに/ bootを含めることができ、GRUB2で機能します。すべてのドライブでGRUB2をMBRに追加します。1番目のドライブが停止している場合、2番目、3番目のドライブ...ドライブから起動できます。
  • マウントが少ない= uuidが少ない=視認性が高い=シンプルである
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.