GRUB2リストに新しいメニュー項目を追加したいと思います。これが私がやろうとしている方法と必要な情報です。
エロスGRUB2リストから「Debian Wheezy」メニュー項目を選択した後:
error:file not found
error:you need to load the kernel first
/etc/grub.d/12_debian
#!/bin/sh -e
cat << EOF
menuentry "Debian Wheezy" {
set root=(hd0,5)
linux /boot/vmlinuz-3.2.0-3-amd64
initrd /boot/initrd.img-3.2.0-3-amd64
}
EOF
ls /スタート
config-3.2.0-3-amd64 initrd.img-3.2.0-3-amd64 vmlinuz-3.2.0-3-amd64
grub System.map-3.2.0-3-amd64
分割
sda1 - ntfs - Windows boot
sda2 - ntfs - Windows C:
sda3 - ntfs - Windows D:
sda4 - extended
-sda5 - ext4 - /boot
-sda6 - lvm - Debian testing
And inside sda6 there's LVM group calld G1 divided into volumes:
home, root, tmp, usr, var, swap
源泉すべての設定が失敗したときにこれを使用しました。
GRUB 2ブートローダ - Dedoimedo.comの完全チュートリアル
何が問題なの?
編集#1
fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 83473739 41633446 7 HPFS/NTFS/exFAT
/dev/sda3 83473799 935802314 426164258 7 HPFS/NTFS/exFAT
/dev/sda4 935802315 976771071 20484378+ f W95 Ext'd (LBA)
/dev/sda5 935802880 936779775 488448 83 Linux
/dev/sda6 936781824 976771071 19994624 8e Linux LVM
編集#2
グラップコンソール
linux /[TAB]
Possible files are:
lost+found/ bin/ share/ sbin/ lib/ include/ src/ games/ local/
set root=(hd0,msdos5)
linux/[TAB]
Possible files are:
lost+found/ config-3.2.0-3-amd64 vmlinuz-3.2.0-3-amd64 grub/
System.map-3.2.0-3-amd64 initrd.img-3.2.0-3-amd64
Grubコンソール、テスト開始
set root=(hd0,msdos5)
linux /vmlinuz-3.2.0-3-amd64 root=/dev/G1/root
initrd /initrd.img-3.2.0-3-amd64
boot
#Many, many, many lines of text. After few seconds they stop. The most
#interesting i think are:
ALERT! /dev/G1/root does not exist. Dropping to a shell!
/bin/sh: can't access tty; job control turned off
/etc/grub.d/12_debianをもう一度お試しください。
#!/bin/sh -e
cat << EOF
menuentry "Debian Wheezy" {
insmod ext4
set root=(hd0,msdos5)
echo 'loading...'
linux /vmlinuz-3.2.0-3-amd64
echo 'starting kernel...'
initrd /initrd.img-3.2.0-3-amd64
}
EOF
結果:
error:file not found
loading...
starting kernel...
編集#3
/boot/grub/grub.cfg の一部
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 3.2.0-3-amd64' --class debian -- class gnu-linux --class gnu --class os {
insmod gzio
insmod lvm
insmod part_msdos
insmod ext2
set root='(G1-root)'
search --no-floppy --fs-uuid --set=root 94215fad-dcbe-4339-92be-f562b1b37133
echo 'Loading Linux 3.2.0-3-amd64 ...'
linux /boot/vmlinuz-3.2.0-3-amd64 root=/dev/mapper/G1-root ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.0-3-amd64
}
### END /etc/grub.d/10_linux ###
/etc/grub.d/12_debian 次にお試しください
#!/bin/sh -e
cat << EOF
menuentry "Debian Wheezy" {
insmod ext4
set root=(hd0,msdos5)
echo 'loading...'
linux /vmlinuz-3.2.0-3-amd64 root=/dev/mapper/G1-root
echo 'starting kernel...'
initrd /initrd.img-3.2.0-3-amd64
}
結果
error:file not found
loading...
starting kernel...
答え1
専用の/bootパーティション(おそらく不要)があるため、そのパーティションには/ bootというディレクトリがないため、これらのファイルは見つかりません。パスから/bootを削除します。
答え2
menuentry "Debian Wheezy" {
insmod ext4
set root='(hd0,msdos5)'
echo 'loading ..'
linux /boot/vmlinuz-3.2.0-3-amd64
echo 'starting kernel ...'
initrd /boot/initrd.img-3.2.0-3-amd64
}
答え3
うーん...古いスレッドですが、有効な答えを生成できないようです。最近同様の問題が発生しましたが解決されました。同様の問題がある他の人は変更することをお勧めします。
set root='(hd0,msdos5)'
次に
search --no-floppy --fs-uuid --set=root '5bbd33b6-3333-3a33-3333-8045d333bb63'
ここで、1234-567A は、以下で得られる所望のパーティションの UUID です。
sudo blkid /dev/sda5
結果は以下の通りです。
/dev/sda1: LABEL="SYSTEM" UUID="5bbd33b6-3333-3a33-3333-8045d333bb63" TYPE="ext4" PARTLABEL="EFI system partition" PARTUUID="0c33e3ab-d3dc-3af3-333d-a33eee3c333c"