仮想マシンでLinuxイメージを準備する

仮想マシンでLinuxイメージを準備する

仮想マシンにLinuxシステムを準備したら、SDカードに展開するシステムを設定しようとしています。ターゲットシステムにはAtomプロセッサがあるため、アーキテクチャ互換性の問題はありません。

正しく機能するために、特別な物理的位置にある必要があるマウントポイントはありますか?それとも、GRUBはファイルシステムを理解できますか?

GRUBを使用してこのシステムを起動するには、SDカードをどのように設定する必要がありますか?

ファイルシステムを再同期したり、ファイルシステムイメージを追加した方が良いでしょうか?私は別のカードサイズを切り替えるときにVMをあまり変更する必要がないので、前者を好みます。

編集する:

私はpartedのようなものを使ってカードを事前に準備してからGRUBをインストールする必要があるとします。あまり問題ではありません。

主な問題は、カーネルがパーティションの保証された物理的な場所にない場合、GRUBはそれを見つけることができますか?つまり、GRUBはext2、ext3、またはext4パーティションを読み取り、適切なマウントポイントを見つけるのに十分スマートですか?

私のディスクは次のとおりです(パーティション2つ)。

[GRUB] [grubローダー] [GRUBパーティション] [OSパーティション]

ベストアンサー1

Grubが起動すると、BIOSが提供する情報を使用して独自にロードされます。すべての部品が同じディスクにある場合は、スムーズに動作します。

GrubがLinuxをロードすると、Grubと同じディスク上または使用可能なディスクを検索してカーネルを見つけることができます。繰り返しますが、Grubと同じディスクにカーネルを置くとスムーズに動作します。

Linuxカーネルは、ルートファイルシステムをマウントするときに独自のディスク番号を使用します。 Grubは、ルートファイルシステムが見つかる場所を知るために、カーネルにコマンドライン引数を渡します。引数はカーネルが理解できる方法で行わなければなりません。あるシステムから別のシステムに移動すると、ディスク番号(たとえば、、sdaなどsdbhdaを予測できません。この機能が機能していることを確認する最も簡単な方法は、ルートファイルシステム(および他のファイルシステムまたはスワップスペース)をLVMに配置することです。起動時に(特にinitrd / initramfsの実行フェーズ中)、システムは利用可能なすべてのLVM物理ボリュームを表示し、グループを組み合わせて、含まれているすべての論理ボリュームへのアクセスを提供します。 LVM ボリュームにはディスク番号ではなく名前があるため、ディスク番号が何であるかは重要ではありません。

Grubはディスク上のさまざまな部分の正確な物理的位置を知る必要があります。ファイルをコピーするだけではブート可能なSDカードを作成することはできず、ブートローダのインストールが必要です。さまざまなサイズのデバイスに簡単に対処するには、ディスクの先頭にオペレーティングシステム用の固定サイズパーティションを作成し、残りのスペースを追加のデータパーティションとして使用することをお勧めします。このトピックについては、以下を参照してください。起動可能なUSBスティックを異なるサイズのスティックに複製する

おすすめ記事