OS fails to boot certain SATA drives in AHCI mode.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OEM Priority Project |
Fix Released
|
High
|
Unassigned | ||
grub2 (Ubuntu) |
Invalid
|
High
|
Unassigned | ||
Natty |
Invalid
|
High
|
Unassigned |
Bug Description
Binary package hint: grub
Ubuntu Release: Maverick and Natty
Summary: With certain 512 sector and 4k Sector Drives in 512e mode, the systems fail to boot after installing the Operating System when the SATA controller is set to AHCI mode in the BIOS.
The issue has been observed on two Seagate 4Ke drives and one 4Ke Hitachi drive with the following model numbers and sizes:
ST9500423AS 500GB
ST250LT007 250GB
HTS547564A9E384 640GB
One 512B Hard Drive from Hitachi was also found to be problematic:
HTS723232A7A64 320GB
With the Problem drives, the following is observed with these BIOS
settings on certain Dell Latitude machines.
AHCI Mode - The image appears to install fine, but afterward the systems won't boot the OS. We are dropped to a grub prompt or a black screen with blinking cursor.
Raid On - Works without issue.
ATA Mode - Works without issue.
Natty also appears to be affected by this as well. We get similar
symptoms where the OS doesn't boot afer a seemingly fine installation.
Steps to reproduce:
1) Install Maverick or Natty onto one of the above disks.
2) Reboot
Actual result: At this stage, in AHCI mode, the system is either dropped to a black screen (as observed in the factory installations), If Grub is installed to the MBR of the affected drives in AHCI mode, we are dropped to a grub or grub rescue prompt.
Switching to either ATA mode or Raid On in the BIOS allows the OS to boot just fine.
Expected result: Operating System boots regardless of the SATA Mode in the BIOS with these hard disks.
Changed in oem-priority: | |
importance: | Undecided → Critical |
status: | New → Confirmed |
affects: | grub (Ubuntu) → grub2 (Ubuntu) |
tags: | added: patch |
tags: | added: hwe-blocker |
It almost seems like a problem with the way that GRUB is reading the drive.
I say this because you can try to cat /boot/grub/grub.cfg and it's not reading out the right values. If you boot a USB stick while the drive is in AHCI mode, you can cat out those values using the kernel AHCI driver without troubles.
For example:
In AHCI mode, when the problem reproduces, run the following from the grub prompt:
ls (hd0,msdos1)/boot
....grub can't find anything in the /boot directory at all in the majority of cases. If, by chance, you do happen to see a grub/grub.cfg file, running:
cat (hd0,msdos1) /boot/grub/ grub.cfg
...will read out garbage on the console.
In ATA mode, where the system boots fine, at the grub menu, get to a grub prompt and run the same command. You'll see that grub *does* see a grub/grub.cfg and you can cat (hd0,msdos1) /boot/grub/ grub.cfg successfully.