複数の grub2 ブートローダをチェーンロードします。

複数の grub2 ブートローダをチェーンロードします。

状況は次のとおりです。 4つのパーティションを含むハードドライブを備えたノートパソコンがあります。

  • 2 Windowsの場合:(hd0,1)、(hd0,2) - > Windows 7の場合
  • 2 Linuxの場合:(hd0,3)、(hd0,4) - > Linuxの場合(論理パーティション)。

現在の「実際の」ブートローダ(MBRを意味します)はWindowsブートローダです。後で私grub2win特定の目的のために、これを使用して(hd0,3)にロードgrub2を接続します。

grub.cfgに追加した項目は次のとおりです。

menuentry 'Chainloader 3' {
   insmod chain
   set root=(hd0,3)
   chainloader +1
}

残念ながら、この機能を使用しようとすると、「何もない」、黒い画面、エラーが表示されず、他に何をすべきかわかりません。

結果は次のとおりですfdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xa2c2c4f8

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   209717247   104857600    7  HPFS/NTFS/exFAT
/dev/sda2       209717248   420339711   105311232    7  HPFS/NTFS/exFAT
/dev/sda3       420341758   625141759   102400001    5  Extended
Partition 3 does not start on physical sector boundary.
/dev/sda5       420341760   615651327    97654784   83  Linux
/dev/sda6       615653376   625141759     4744192   82  Linux swap / Solaris

答え1

ヒント:

論理区画は常に5番目の区画から始まります。数字3と4が間違って入力されていないことを確認してください。おそらく5と6でなければならないかもしれません、それとも4つのプライマリパーティションがあります!

パーティション3(パーティション自体ではなく拡張定義)に他のグラブは本当にありますか?おそらくディビジョン5を話しているようです。

fdiskを見ると、2つの基本パーティション(1と2)、1つの拡張パーティション(3)、2つの論理パーティション(5と6)があることがわかります。

拡張自体にGrubがインストールされているのを見たことはありませんが、パーティションブートセクタにGrubがインストールされているのを見たことがあります(おそらくあなたの場合は3ではなく5または6です)。

もう一つのヒント:

Grub2メニューの「c」キーを押してコマンドラインに移動し、パーティション、lsディスクなどの名前を表示するコマンドを入力できます。その後、これを記録してモードを表示できます(hd0;、5)、(hd0、msdos5)、(hd0、gpt5)などのメニューに戻るには、「Esc」キーを押します。

「2 for linux: (hd0,3), (hd0,4) -> For linux (論理パーティション)」と言われたので、間違った番号を入力したようです。ただし、fdiskは2つの基本パーティション(1と2)しかないことを示しています。また、パーティション番号3は、ファイルシステムを配置できる場所ではなく、拡張定義です。

したがって、おそらく次のように言うでしょう(3と4の代わりに4と5)。

Linuxの場合2:(hd0,4)、(hd0,5) - > Linux(論理パーティション)。

太田ですか?それとも実際には、論理区画定義を含む拡張区画の最初のセクターを参照しようとしますか?そうしないと、それに書き込むと論理区画定義が破損し、アクセスできなくなります。幸い、Grubインストーラはこの場所にインストールすることはできません。

問題を解決できることを願っています。

はい、Grubは複数のディスクにわたってストライプ化されたLVM内のExt4に常駐でき、チェーンの任意の部分に必要な数のLUKSを追加できます。 Grubはこれらのタスクを実行するのに適しています。

私は、grub.cfgファイルと残りのファイルをこの複雑な例のシナリオに含めることができるということです。

  • HDD0:基本パーティションがまったくなく、拡張パーティションが1つだけであり、論理パーティションの1つにLVM2定義を含むLUKS(キーA)があります。
  • HDD1:基本パーティションがまったくなく、拡張パーティションが1つだけであり、論理パーティションの1つにLVM2定義を含むLUKS(キーB)があります。
  • HDD2:基本パーティションがまったくなく、拡張パーティションが1つだけであり、論理パーティションの1つにLVM2定義を含むLUKS(キーC)があります。
  • これらのLVM2は、Grubとそのファイル用に1つの論理ボリューム(LUKSを使用することもできます)を持つ1つの大きな仮想ディスクに結合(ストライピング)します。

など。

覚えておいてください:Grubがどのテキストを使用しているかわからない場合は、コマンドラインに移動して(「c」キーを押す)、引数なしでコマンドを使用して、構文と表示されるls内容をメモしてください。メニューには「Esc」キーが必要です。

これは、暗号化デバイス(LUKS)とLVMを使用するときにも役立ちます。

関連情報