起動中、「ファイル名は絶対パス名またはブロックリストである必要があります。」エラー

起動中、「ファイル名は絶対パス名またはブロックリストである必要があります。」エラー

私はLubuntu、Xubuntu、およびPuppy LinuxがインストールされているFSノートブックを使用しています。私はGRUBブートローダを使用しており、上記のようにうまく動作します。

私はDebianを試してみたかったので、HDの空のパーティションにインストールしました。既存のGRUB構成を混乱させたくなかったので、インストール中にGRUBをインストールせずに後で手動でインストールしようとしました。しかし、私はそれを動作させることはできません。私のmenu.lstにこれを追加しました。

title Debian
uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
kernel vmlinuz root=/dev/sda6 ro
initrd initrd.img

「Debian」と表示されますが、それを選択した場合は、「ファイル名は絶対パス名またはブロックリストである必要があります。」エラーが発生します。

誰かがmenu.lstエントリにどのような問題があるのか​​教えてもらえますか? uuidコードが正しいことを確認しました(パーティション番号も同じです)。

答え1

他の人がこの問題を解決しようとした場合に備えて、私の質問に答えています。私の部分で2つのエラーが見つかりました。 a)無効なパス - kernel /boot/vmlinuz b)無効なカーネルとinitrd名を使用する必要がありました。現在、以下が実行中です。

title Debian
  uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
  kernel /boot/vmlinuz-3.16.0-4-586 root=/dev/sda6 ro
  initrd /boot/initrd.img-3.16.0-4-586

答え2

指定する必要があります。絶対パスカーネルファイルに。絶対パスはルートディレクトリから始まり、で終わります//bootルートパーティションにある場合、これは。

kernel /boot/vmlinuz

/boot別のパーティションにある場合、これは次のことを意味します。

kernel /vmlinuz

同じだinitrd.img

rootまた、Grubがこれらのファイルを含むパーティションを指すようにするステートメントが必要になる場合があります。 Grubの伝統では、これはroot (hd0,5)Linuxの用語に似ています/dev/sda6(Grubはパーティション番号を0から始まり、Linuxはパーティション番号を1から指定します)。uuidこのディレクティブは、Grubバージョンがそれをサポートしている場合は同じことを行います。

通常の Debian インストールでは、 と/boot/vmlinuz/boot/initrd.img(各種) というファイルへのシンボリックリンクです。vmlinuz-VERSIONinitrd.img-VERSIONバージョンインストールされている最新のカーネルバージョンを指定します。構成によっては、これらのシンボルはルートディレクトリに存在する可能性があります(ただし、/boot別のパーティションにある場合は効果がありません)。 Grubはシンボリックリンクを読み取ることができるので(同じパーティション内にある場合)、それを使用してブートローダ設定でカーネルバージョン番号をハードコードすることを防ぎます。

関連情報