web-dev-qa-db-ja.com

grub2で拡張パーティションのパーティション番号を確認するにはどうすればよいですか。

私は現在、windows XPとlubuntuを使用したトリプルブートの一部としてhaikuを起動しようとしています。ntldrはXPのみを実行し、haikuのブートローダーはこれまでにのみ実行されるため、ブートローダーとしてlubuntuのgrub2を使用しています。ディスク全体をフォーマットすると機能するようです。

いくつかの考えられない理由のために、1つのプライマリパーティション(windows)と4つの論理パーティション(lubuntu 16.04、swap、haiku、spare)があります。また、パッケージ管理を使用してhaikuのバージョンを実行しているので、 grubは手動で設定する必要があります

プライマリパーティションでこれを行うことができます-それの正しい指定は何でしょうか?手がかりかもしれませんlubuntuのディスクツールは5から論理パーティションを開始し、俳句はsda7 /ファイルシステムパーティション7buthd(0,7)は機能しません。

enter image description here

私は現在etc/grub.d/40_custom

menuentry "Haiku" {
set root=(hd0,7)
chainloader +1
}

デフォルトに追加されました。

2
Journeyman Geek

GRUB2の命名規則は、マニュアルで説明されています: https://www.gnu.org/software/grub/manual/html_node/Naming-convention.html

マニュアルの関連する例は次のとおりです。

(hd0,msdos5)

これは、最初のハードディスクドライブの最初の拡張パーティションを指定します。拡張パーティションのパーティション番号は、ハードディスク上のプライマリパーティションの実際の数に関係なく、「5」からカウントされることに注意してください。

したがって、この場合、おそらく必要なのは(hd0,msdos7)です。

現在使用していると思われるのは、マニュアルに記載されている古い(grub-legacy)形式です。 https://www.gnu.org/software/grub/manual/legacy/grub.html #Naming-convention -私の知る限り、これはgrub2では機能しません。 grub-legacyを実際に使用している場合、そこのパーティションは0から始まるため、パーティションインデックスはgrub2バージョンより1つ低くする必要があることに注意してください。あなたの場合は(hd0,6)

3
Bob