
내 BIOS(이전 Gigabyte GA-MA74GM-S2H, rev. 1.1, Bios F1)에서 SATA 설정을 "Native IDE"에서 "AHCI"로 전환했는데 GRUB2가 더 이상 내 커널을 부팅할 수 없다는 사실에 놀랐습니다. 그것은 다음과 같이 말했습니다.
Cannot read the Linux header
저는 최신 Natty 커널 2.6.38-11/32비트 PAE를 실행하고 있었습니다.
GRUB2 및 AHCI의 문제를 추측하면서 2.6.38-9를 포함한 이전 커널 버전을 로드할 수 있었지만 더 이상 -10은 로드할 수 없었기 때문에 훨씬 더 혼란스러웠습니다. 그래서 -10과 -11을 덤프하고 커널 2.6.38-11(일반 및 pae)을 다시 설치했는데 결과는 동일하지만 오류 메시지가 다릅니다(파일을 로드할 수 없습니다). SATA 설정을 다시 "Native IDE" 모드로 변경하면 모든 것이 제대로 작동합니다.
누구든지 이것을 관찰하고 제안 사항이 있습니까?
AHCI에서 실행하려는 이유는 가까운 시일 내에 SSD 드라이브를 설치하고 더 나은 성능을 위해 공급업체(OCZ)에서 제안한 대로 AHCI에서 실행하고 싶기 때문입니다.
편집하다:
여기 내 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"
그리고 작성된 대로 두 구성 모두 "Native 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
죄송합니다. 4 독일어 출력입니다.... 더 많은 정보가 필요하십니까?
답변1
기록용으로만:
최신의 최고의 BIOS(F4 베타)로 메인보드를 업데이트했는데 이제 부팅 문제가 사라졌습니다.
답변2
sudo fdisk -lu
먼저 질문에 출력을 추가하십시오 . 그런 다음 AHCI 모드로 부팅을 시도하고 grub 메뉴에 도달하면 키를 눌러 c
명령줄로 이동합니다. grub이 볼 수 있는 드라이브의 자세한 목록을 입력 ls -l
하고 해당 정보도 추가하세요. IDE 모드에서 컨트롤러를 사용하여 이를 반복하고 차이점이 있는지 확인하십시오.