web-dev-qa-db-ja.com

GRUBエラー15(ファイルが見つかりません)

新規インストールの問題を修正しようとしています。私は/dev/sdbからこの既存のディストリビューション(Ubuntu)を、/dev/sdaにインストールされた新しいOS、Gentooで実行しています。新しいOSを起動できないので、これらを別のディスクに設定するのに苦労しました。私が得るすべては、grubエラー15「ファイルが見つかりません」です。また、私が検証したUUIDが正しいことも示しています。

Sudo blkid
/dev/sda1: LABEL="boot" UUID="b891774a-0b2d-4ab4-bcfa-23a11a97cae5" TYPE="ext2" 
/dev/sda2: UUID="fc34999a-e85d-4c7b-8775-30510eb4c396" TYPE="swap" 
/dev/sda3: LABEL="main" UUID="65a90a0d-a651-4215-8552-0c1859ab61dd" TYPE="ext4"

新しいOSのmenu.lst(/dev/sdb上)は

title Gentoo Linux 3.10.7-r1
uuid b891774a-0b2d-4ab4-bcfa-23a11a97cae5
#root (hd0,0)
kernel /kernel-3.10.7-gentoo root=UUID=65a90a0d-a651-4215-8552-0c1859ab61dd

私も試しました

kernel /boot/kernel-3.10.7-gentoo root=UUID=65a90a0d-a651-4215-8552-0c1859ab61dd

しかし、UUIDは直接ブートパーティションに行くので、これは間違っていると思います。

カーネルは正しいはずです。 dev/sda1lsをマウントすると

grub  kernel-3.10.7-gentoo

私が間違っているアイデアはありますか?それは非常に基本的なものかもしれません。私はLinuxを数年間使用しており、chrootでの数日間を除いてGentooを使用していません。


私はdev/sda1にもgrub2がインストールされていることをお伝えしておきますが、そこまでは行きませんが、grubの「コマンドライン」が表示されているだけです。

5
Charles

@rMisteroによるエラーに関するポイントに同意します。そのため、mbrとパーティションブートレコードからのgrubブートは実行されますが、そのパーティションの予想される場所(/ boot/grub)でそれを見つけることができないため、基本モジュールをロードできません。したがって、grubを再インストールすることでそれが修正されます。最善の解決策は、grubのレガシーの所有者OSであるGentooを起動して(私は正しいですか)、grubを再インストールすることです。
grub2を使用できるので、grub2プロンプトから次のコマンドを1つずつ実行します。

set UUID=65a90a0d-a651-4215-8552-0c1859ab61dd

search -u $UUID --set=root
linux /kernel-3.10.7-gentoo root=UUID=$UUID
boot

動作しない場合は、上記のコマンドの出力とこれをsearch -u $UUIDおよびsearch -l main。 UbuntuとGentooのバージョン、ストレージデバイスの数、各ストレージデバイスにインストールされているOS、Windowsがインストールされているかどうかも教えてください

2
totti

問題はルート(hd0,0)にあると思います。これはsdbだと言ったので、ルートのコメントを外してみてください...そしてルート(hd1,0)に設定してください

3
Artur Szymczak

Ubuntuでgrub-legacyを使用しているようですが、これはブート時に使用されるブートローダーです。

_This error is returned if the specified file name cannot be found, 
but everything else (like the disk/partition info) is OK.
Frequently, the error notes a missing kernel image file. 
Make sure that the file it is referring to exists on your boot partition. 
_

以下は不正解です。ブートするパーティションを定義する必要があります(ルートパラメータを使用)。ここでは、ルートがコメント化されています。

_uuid b891774a-0b2d-4ab4-bcfa-23a11a97cae5
#root (hd0,0)
_

Uuidエントリを削除し、root (hd0,0)のコメントを外します。

Gentooカーネルが/ dev/sda1にない場合は、_(hd0,0)_を正しいパーティションに変更するか、そこにカーネルをコピーする必要があります。

Gentooカーネルが/ dev/sda1にある場合、使用されているgrubを確認する必要があります。 sdbのMBRで起動しているので、BIOSはドライブをどのように認識しているのでしょうか。 UbuntuのルートhdXは何ですか、それは(hd1,0)ですか?

Gentooにgrub2をインストールしたので、おそらくそれを使用できます。

_ # Gentoo entry in menu.lst ( in Ubuntu)
 title Gentoo
 root (hd0,0)
 kernel /boot/grub/core.img
_

https://wiki.gentoo.org/wiki/GRUB_Error_Reference#Grub_Error_15

2
UnX

Grub2については、次のコマンドを発行して正しいgrub.cfgを生成できます。

grub2-mkconfig -o /boot/grub2/grub.cfg

カーネルを取得し、/etc/grub.d/のテンプレートと構成ファイル/etc/default/grubのテンプレートを使用してそれらを構成に配置します。 grub2-installで正しいMBRを書くことを忘れないでください

0
webKnjaZ