web-dev-qa-db-ja.com

BIOSがGPTパーティションテーブルでセットアップされている(3 TBディスクのため)?

BIOSがあるが(U)EFIがないシステムでGPTパーティションテーブルを持つディスクを使用するにはどうすればよいですか?

3 TBドライブを備えたシステムがあります(他のドライブはなく、これはリモートマシンなのでここには選択肢がありません)明らかな理由でGPTを使用しています。 Ubuntu 12.04はシステムにブートストラップされており、これはこれまでのところ機能していました。ホストからターゲットシステムに/dev/proc/sysをバインドマウントし、chrootingを実行した後、linux-image-serverをインストールしました。 /sbin/initctl/bin/trueとしてリンクします。これはリモートマシンであるため、このすべてをSSH経由で行う必要があり、起動可能なCDなどはありません。ただし、失敗した場合はレスキューシステムを起動できます(PXE)。

これで、grub2がシナリオをサポートすることになっていることがわかりましたが、私の人生ではインストール方法がわかりません。

ブート(およびルート)デバイスは/dev/md0であり、/dev/sda1/dev/sdb1で構成され、RAIDモード0です。/dev/md0の下に/targetがマウントされています:

grub-install --root-directory=/target --no-floppy /dev/sda

以下で失敗します:

/usr/sbin/grub-setup: warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.

このBIOSベースのシステムを適切に起動させるために、どのようにしてgrub2をインストールできますか?

注:chroot環境の内部で実行するか外部で実行するかは関係ありません。エラーと出力は同じです。 /devなどを所定の位置にバインドマウントしたためと思われます。もちろん、コマンドライン(--root-directory=なし)に対して適切な調整が行われています。

3
0xC0000022L

ディスクにbios_grubパーティションを作成する必要があります。これを行うには、partedを使用し、パーティションにbios_grubフラグを設定します。 1 MiBで十分ですが、ディスクの下位2TiBにある必要があります。

6
psusi