ベストアンサー1
以前のprefix
設定はです。これは、前のプレフィックスが言及されていないため、パーティションに別々のファイルシステムがあることをprefix=(hd0,msdos1)/grub2
示します。/boot
(hd0,msdos1)
/boot
それは効果がありました。変更をするまで。
(hd0,msdos1)
GRUBは一度に1つのファイルシステムにのみアクセスします。つまり、通常、Linuxにインストールされているファイルシステムを知らないか気にしません/boot
。 GRUBは/boot
必要に応じてルートディレクトリとして効果的に処理するため、実際にはファイルシステムに属するパス名部分のみが必要です。これが変数のroot=hd0,msdos1
意味です。これが、プレフィックスが付いた以前のパス名で/grub2
はなくjustである理由でもあります/boot/grub2
。
新しいプレフィックスを指定すると、GRUBにLinux上のコンテンツを表示するように(hd0,msdos1)/boot/grub2
効果的に指示できます。/boot/boot/grub2
同様の操作を行った場合は、mv /boot/grub2 /boot/newname
プレフィックスset prefix=(hd0,msdos1)/newname
を使用してgrub2
ディレクトリの新しい名前を反映する必要があります。
GRUBには、ディレクトリにアクセスするためのコアイメージに最小限のモジュールしかインストールされていないため、ディレクトリをファイルシステムgrub2
から移動すると大きな問題が発生します。新しい場所がLVMボリュームにある場合、または別のファイルシステムタイプを持っている場合、あなたのファイルシステムタイプよりもGRUBはそれを読み取れない可能性があります。これを行った場合は、RHEL 7.6インストールメディアからリカバリモードで起動し、GRUBを使用して再インストールして新しい場所に完全に適用する必要があります。まず、必要なモジュールを選択し、正しいモジュールを含む新しいGRUBを作成するために実行されます。モジュール 次に、コアイメージファイルがMBRに含まれ、MBRと最初のパーティションの先頭の間のディスクブロックが含まれます。/boot
grub2
/boot
grub-install
grub-mkimage
GRUB構造の詳細な背景については、以下を参照してください。GRUBについて以前に書いた答え。