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/
Depending on your file system, you may need to bind-mount different partitions and folders. Don't forget to check if the boot partition is properly mounted:
ls /mnt/arch/boot
If the boot folder is empty, you need to find the partition lsblk -f and mount (let's use sda1 as boot partition in this example:) mount /dev/sda1 /mnt/arch/boot
I then issued the chroot command and configured my network:
arch-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.