hai abilitato l'opzione

NameVirtualHost

?

se no fallo e impostala su
*:80

ovvero
NameVirtualHost *:80

se è diversa impostala in quel modo

dopo di che trasforma i vhosts in

<VirtualHost *:80>
DocumentRoot D:/Apache/htdocs
ServerName localhost

ErrorLog D:/Apache/logs/error.log
TransferLog D:/Apache/logs/access.log

ErrorDocument 404 /404.php
</VirtualHost>

<VirtualHost *:80>
ServerName test2
DocumentRoot D:/Apache/htdocs/test2

ErrorLog D:/Apache/logs2/error.log
TransferLog D:/Apache/logs2/access.log

ErrorDocument 404 /404.php
</VirtualHost>

dopo di che fai puntare test2 a 127.0.0.1

e dovrebbe andare

PS: se nonva accertati, tramite ping su console, che test2 punti a 127.0.0.1 e che risponda correttamente e per essere ancora + certi fai un bel

telnet test2 80

e scrivi un poco di caratteri a casaccio e batti un poco di invii ... ti dovrebbe insultare apache

se cosi va ma non va tramite browser allora sarà problema di vhosts ma fai queste prove prima ^^