私は、リモートシステムのGrub2(1.98 + 20100804-14 + squeeze1)の下でLinux 2.6.32-5-AMD64を使用して、Debian 6、Debian GNU/Linuxを実行しています(起動前メッセージを表示する可能性はありません)。新しいカーネルをコンパイルしてインストールしましたが、起動できません。
私がやった事:
次の方法でパッケージをインストールしました:
dpkg -i linux-headers-3.5.3.20120914-AMD64_3.5.3.20120914-AMD64-10.00.Custom_AMD64.deb linux-image-3.5.3.20120914-AMD64_3.5.3.20120914-AMD64-10.00.Custom_AMD64.deb
これにより、Grubの設定が更新されました。 /boot/grub/grub.cfgには次のものが含まれています。
menuentry 'Debian GNU/Linux, with Linux 3.5.3.20120914-AMD64' --class debian --class gnu-linux --class gnu --class os {
insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set 5a3882a9-c7df-4f6a-9feb-f03e3e37be01
echo 'Loading Linux 3.5.3.20120914-AMD64 ...'
linux /vmlinuz-3.5.3.20120914-AMD64 root=UUID=003242b5-121b-49f3-b32f-1b40aea56eed ro acpi=ht quiet panic=10
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.5.3.20120914-AMD64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-AMD64' --class debian --class gnu-linux --class gnu --class os {
insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set 5a3882a9-c7df-4f6a-9feb-f03e3e37be01
echo 'Loading Linux 2.6.32-5-AMD64 ...'
linux /vmlinuz-2.6.32-5-AMD64 root=UUID=003242b5-121b-49f3-b32f-1b40aea56eed ro acpi=ht quiet panic=10
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-5-AMD64
}
grub-set-default "Debian GNU/Linux, with Linux 2.6.32-5-AMD64"
古いカーネルをデフォルトとして設定し、次にgrub-reboot "Debian GNU/Linux, with Linux 3.5.3.20120914-AMD64"
新しいカーネルを一度起動します。後update-grub
システムを再起動しましたが、常に古いカーネル(2.6)で再起動します。新しいものをデフォルトとして設定してみました(grub-set-default 0
、update-grub
、reboot
)ですが、まだ古いものです。
Syslogには、新しいカーネルを起動しようとすることに関するヒントは一切含まれていません。古いものだけです。カーネルの問題に関するヒントはありますか? GRUBでデバッグログを有効にする方法はありますか?
何が悪いのですか?システムに新しいカーネルを強制的に起動させるにはどうすればよいですか?
編集:リモートマシンのハードウェア。
CPU
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 5
model name : AMD Athlon(tm) II X4 605e Processor
stepping : 3
cpu MHz : 2294.898
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips : 4589.77
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
(最初だけをコピーし、あと3つをコピー)
サーバーはFujitsu PRIMERGY MX130 S1です。
設定ファイル/etc/default/grub
を確認してください。GRUB_DEFAULT=0
というエントリがあるはずです。これは、取得するmenuentryを指します。
サブメニューがある場合はいくつかの不具合がありますが、私はXenカーネルを追加したときにのみ問題に遭遇しました。
GRUB1メニューからGRUB2メニューにチェーンされていないことを確認し(通常はアップグレードから発生します)、GRUB_DEFAULT
を設定して実行します
grub-mkconfig -o /boot/grub/grub.cfg
これにより、/etc/grub.d
の構成ファイルからGrubが使用するgrub構成が再構築されます
ビルド時にカーネルが一覧表示され、/boot/grub/grub.cfg
を見ると、default="x"
と書かれた行が表示されます(下から12行目)。
再起動して新しいカーネルをお楽しみください...