This is how I fixed this problem :
I've booted into an arch installation CD and mounted my root partition under /mnt/arch.
mkdir /mnt/arch
mount /dev/sda4 /mnt/arch
I then ran the following commands:
cd /mnt/arch
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
I then issued the chroot command and configured my network:
chroot . /bin/bash
dhcpcd eth0
I'm not sure if all of these commands are required, but I didn't feel like continuously rebooting/chrooting, so I did them all at once and it fixed the issue we both were having:
pacman -Syy
pacman -Syu
pacman -S udev
pacman -S mkinitcpio
mkinitcpio -p linux
reboot
Remove the CD or USB drive and ta-da! Now, I'll be honest and admit that I don't fully understand this fix. Some of the posts also suggested doing a “pacman -S linux”, however that was not necessary for me.