Para memoria tienes 2 buenos programas: Memtest86 (ultima versión del 2007) y Memtest86+ (Basado en Memtest86, con actualizaciones constantes).
Para disco duro, los propios fabricantes suelen sacar utilidades de diagnósticos. Las más conocidas, las de Seagate, las "Seatools", pero como te he dicho, casi todos los fabricantes tienen su propia herramienta. Para comprobar clusters y cosas así, te puede dar el apaño el "HD Tune".
Un saludo.