ST3320620A HDA !== SDA
Od jakiegoś czasu, a dokładniej od kilku aktualizacji kernela miałem ten sam problem, system nie startuje bo nie widzi dysku. Okazało się że domyślne ustawienia (mkinitcpio.conf), ustawione są aby wykrywał dysk jako ATA (w końcu tak jest), jednak kernel nie potrafił sobie z tym za bardzo poradzić, wiec dodałem moduły od sata, zmieniłem konfigurację w grubie i wszystko śmigało, do czasu aż zrobiłem następną aktualizacje kernela. Oczywiście wszystko się posypało więc postanowiłem że zrobię to raz a porządnie. Poszperałem trochę w internecie, ustawiłem wszystko tak jak powinno być, dodałem potrzebne moduły, wygenerowałem nowy obraz kernela i… dupsko. Cały czas ten sam błąd. Rozwiązanie tego problemu okazało się banalne, wystarczy wywalić obrazy kernela z /boot/ i stworzyć je na nowo.
Konfiguracja mkinitcpio.conf
MODULES="ata_piix ide_disk ext3" ... HOOKS="base udev autodetect ide pata raid filesystems"
Wpisy w /boot/grub/menu.list
title Arch Linux
root (hd0,1)
kernel /boot/vmlinuz26 earlymodules=piix root=/dev/hda2 ro
initrd /boot/kernel26.img
title Arch Linux (BootChart)
root (hd0,1)
kernel /boot/vmlinuz26 earlymodules=piix root=/dev/hda2 ro init=/sbin/bootchartd
initrd /boot/kernel26.img
title Arch Linux (Fallback)
root (hd0,1)
kernel /boot/vmlinuz26 earlymodules=piix root=/dev/hda2 ro
initrd /boot/kernel26-fallback.img
Konfiguracja /etc/fstab
# Arch /dev/hda2 / ext3 defaults 0 1 /dev/hda4 /home ext3 defaults 0 1 /dev/hda5 swap swap defaults 0 0 # Windows ntfs /dev/hda1 /mnt/windows ntfs-3g defaults,locale=pl_PL.utf8 0 1 /dev/hda6 /mnt/download ntfs-3g defaults,locale=pl_PL.utf8 0 1 /dev/hda7 /mnt/depository ntfs-3g defaults,locale=pl_PL.utf8 0 1
Wywalamy obrazy z /boot/
rm /boot/*.img
Generujemy na nowo:
mkinitcpio -p kernel2
I po restarcie systemy wszystko śmiga jak trzeba :)