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