我在 BIOS 中(在旧的 Gigabyte GA-MA74GM-S2H,版本 1.1,Bios F1 上)将 SATA 设置从“Native IDE”切换到“AHCI”,结果令我惊讶的是 GRUB2 无法再启动我的内核。它显示:
Cannot read the Linux header
我正在运行最新的 Natty 内核 2.6.38-11 / 32bit PAE。
猜测是 GRUB2 和 AHCI 的问题,我更加困惑,因为我可以加载较旧的内核版本,包括 2.6.38-9,但不能再加载 -10。所以我转储了 -10 和 -11,并重新安装了内核 2.6.38-11(通用和 pae),结果相同,但错误消息不同(无法加载文件)。将SATA设置改回“Native IDE”模式,一切正常。
有谁也观察到了这一点并有什么建议吗?
我想在 AHCI 中运行的原因是因为我想在不久的将来安装一个 SSD 驱动器,并在 AHCI 中运行它以获得更好的性能,并按照供应商 (OCZ) 的建议。
编辑:
这是我的 grub.cfg 的一部分。内核 2.6.38-11 的配置,未运行:
menuentry 'Ubuntu, mit Linux 2.6.38-11-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 14611dce-f4ab-498d-b1a1-609ed9f17da2
linux /boot/vmlinuz-2.6.38-11-generic-pae root=UUID=14611dce-f4ab-498d-b1a1-609ed9f17da2 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-11-generic-pae
}
运行2.6.38-9配置:
menuentry 'Ubuntu, mit Linux 2.6.38-9-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 14611dce-f4ab-498d-b1a1-609ed9f17da2
linux /boot/vmlinuz-2.6.38-9-generic-pae root=UUID=14611dce-f4ab-498d-b1a1-609ed9f17da2 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-9-generic-pae
}
也许我眼瞎了,但我看不出重要部分有什么区别。
这里是 blkid 输出:
halil@KlingonWarrior:~$ sudo blkid -c /dev/null
/dev/sda1: UUID="14611dce-f4ab-498d-b1a1-609ed9f17da2" TYPE="ext4"
/dev/sda5: UUID="14ebd487-ff28-4678-831b-d94dd9df4f60" TYPE="swap"
/dev/sdb1: LABEL="HOMETREK" UUID="B044B71044B6D7F4" TYPE="ntfs"
并且,正如所写,两种配置均在“本机 IDE”模式下运行。
顺便说一句,-11 内核的重新安装是在 AHCI 模式下完成的。
编辑2:
好的,这是 fdisk 的输出:
halil@KlingonWarrior:~$ sudo fdisk -lu
Platte /dev/sda: 163.9 GByte, 163928604672 Byte
255 Köpfe, 63 Sektoren/Spur, 19929 Zylinder, zusammen 320173056 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x477d477c
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 * 63 308094569 154047253+ 83 Linux
/dev/sda2 308094570 320159384 6032407+ 5 Erweiterte
/dev/sda5 308094633 320159384 6032376 82 Linux Swap / Solaris
Platte /dev/sdb: 500.1 GByte, 500107862016 Byte
255 Köpfe, 63 Sektoren/Spur, 60801 Zylinder, zusammen 976773168 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x74720d9c
Gerät boot. Anfang Ende Blöcke Id System
/dev/sdb1 * 63 976768064 488384001 7 HPFS/NTFS
抱歉,德语输出...需要更多信息吗?
答案1
仅供记录:
我已经用最新最好的 BIOS(F4 beta)刷新了主板,现在启动问题已经解决。
答案2
首先将 的输出添加sudo fdisk -lu
到您的问题中。然后尝试以 AHCI 模式启动,当您进入 grub 菜单时,按c
转到命令行。输入ls -l
grub 看到的驱动器的详细列表,并添加该信息。在 IDE 模式下对控制器重复此操作,看看是否有任何差异。