web-dev-qa-db-ja.com

Grubのインストールに失敗する-mdadmRAID1とGPTパーティションテーブルを備えたDebianWheezy

新しいWheezyのインストールを完了するために一日中努力してきましたが、毎回Grubをインストールできません。 x64 netinstallisoを使用しています。

これが私のパーティションテーブルです:

Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sda: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start      End          Size         File system  Name  Flags
 1      2048s      6143s        4096s                     grub  bios_grub
 2      6144s      1953791s     1947648s                  boot  raid
 3      1953792s   31250431s    29296640s                 root  raid
 4      31250432s  5860532223s  5829281792s               home  raid

ディスク/ dev/sdbには同じパーティションテーブルがあります。 GPTは従来のmsdosテーブルよりも多く使用するため、悪名高い小さなパーティションを追加してbios_grubとしてマークし、Grubスペースを確保していることがわかります。

インストーラーから表示されるエラーメッセージは、「Grubを/ dev/sdaにインストールできませんでした」(または同様のもの)です。

パーティション2、3、および4は、/ boot、/、および/ home用に3つのRAID1パーティションを作成します。すべて正しく選択され、Debianインストーラでフォーマットされています。

助けてください!

6
mbiber

どういうわけかDebianインストーラはパーティションテーブルを台無しにしています。 「bios_grub」フラグが削除され、「raid」フラグになります。修正は、パーティションテーブルをpartedで再度修正し、元に戻すことです。

parted /dev/sda
set 1 bios_grub on
quit

/dev/sdbについても同じです。次に、この質問の回答を使用してgrubをchrootしてインストールします。 grubを修正/インストール/再インストールするにはどうすればよいですか?

3
mbiber

grubパーティションを設定 withgdisk(8)

コマンド(?はヘルプ): t
パーティション番号(1-4): 1
現在のタイプは「BIOSブートパーティション」
 16進コードまたはGUID(コードを表示するにはL、Enter = 8300): EF02
パーティションのタイプを「BIOSブートパーティション」に変更しました

注意すべき重要なことは、[〜#〜]できません[〜#〜]既存の/ bootまたはこのための他のパーティション-64KBで十分かもしれません(/ boot/grub/i386-pc/*。imgファイルを収めるのに十分な大きさである必要があります)が、通常は約1MB無料で十分すぎるほどです。

代わりにパーティションが見つからなかった場合は、作成[〜#〜] n [〜#〜]1つを作成することができます。最初のパーティションの前。たとえば、次のようになります。

# gdisk/dev/sdb
 
コマンド(?ヘルプ用): p
ディスク/ dev/sdb:7814037168セクター、3.6 TiB 
論理セクターサイズ:512バイト
ディスク識別子(GUID):CEFE1861-C13E-4E30-AEC4-0037CA6CBE8D 
パーティションテーブルは最大128エントリを保持します
最初の使用可能なセクターは34、最後の使用可能なセクターは7814037134 
パーティションは2048セクターの境界に配置されます
合計空き領域は2014セクターです(1007.0 KiB)
 
番号開始(セクター)終了(セクター)サイズコード名
 1 2048 3893247 1.9 GiB 0700Microsoft基本データ
 2 3893248 12281855 4.0 GiB 8200 Linux swap 
 3 12281856 12806143 256.0 MiB FD00 Linux RAID 
 4 12806144 7814037134 3.6 TiB FD00 Linux RAID 
 
コマンド(ヘルプは?): 
パーティション番号(5-128、デフォルト5):
最初のセクター(34-2047、デフォルト= 34)または{+-} size {KMGTP}: 34
最後のセクター(40〜2047、デフォルト= 2047)または{+-} size {KMGTP}:
現在のタイプは「Linuxファイルシステム」です。
 16進コードまたはGUID(コードを表示するL、Enter = 8300): EF02
パーティションのタイプを「BIOSブートパーティション」に変更しました
 
コマンド(ヘルプは?):p 
ディスク/ dev/sdb:7814037168セクター、3.6 TiB 
論理セクターサイズ:512バイト
ディスク識別子(GUID):CEFE1861-C13E-4E30-AEC4-0037CA6CBE8D 
パーティションテーブルは最大128エントリを保持します
最初に使用可能なセクターは34、最後に使用可能なセクターは7814037134 
パーティションは2048セクターの境界に配置されます
合計空き領域は6セクター(3.0 KiB)
 
番号開始(セクター)終了(セクター)サイズコード名
 1 2048 3893247 1.9 GiB 0700Microsoft基本データ
 2 3893248 12281855 4.0 GiB = 8200 Linuxスワップ
 3 12281856 12806143 256.0 MiB FD00 Linux RAID 
 4 12806144 7814037134 3.6 TiB FD00 Linux RAID 
 5 40 2047 1004.0 KiB EF02 BIOSブートパーティション
 
コマンド(?はヘルプ): w
 
最終チェックが完了しました。 GPTデータを書き込もうとしています。これは既存の
パーティションを上書きします!! 
 
続行しますか? (はい/いいえ): y
OK;新しいGUIDパーティションテーブル(GPT)を/ dev/sdbに書き込みます。
警告:カーネルはまだ古いパーティションテーブルを使用しています。
新しいテーブルは次回の再起動時に使用されます。
操作は正常に完了しました。
 
1
Matija Nalis