Eu tive o mesmo problema ao trocar um SSD por um HD. Antes de instalar o Windows 7 de um DVD não OEM, tentei copiar as duas primeiras partições do HD no linux usando
dd ifile=/dev/sdx ofile=/dev/sdy bsize=4M
Que eu parei de usar ctrl + C depois que 32GB foram copiados (muito mais do que os tamanhos das partições de recuperação, e eles eram todos o começo do disco). Claro, eu também fiz "sync". No entanto, embora as ferramentas de recuperação tenham começado corretamente a partir do SSD, não havia opções de "instalação nova". Desde que eu não estou familiarizado com o windows em tudo, e eu estava fazendo apenas esta troca de amigos, eu decidi não olhar para isso demais, e comprei um disco do Windows 7 não-OEM.
Eu inicializei o disco, mas o Windows não detectou: nada foi mostrado. Carregar todos os drivers que encontrei no site do fabricante não fez nada além de perder tempo.
Em última análise, descobri que o HD original (intocado) foi detectado pelo disco de instalação, portanto, concluí que o erro não estava relacionado a chipset ausentes ou a drivers do controlador HD. Daí eu recriou a tabela de partições no SSD usando o gparted no linux, que precisa ser MBR (msdos no gparted) por algum motivo, já que o GPT também não funciona.
Concluindo: a instalação do Windows pode não detectar seu HD se a tabela de partição estiver quebrada.