Количество ядер определяется количеством нагрузки на них. Плюс системными процессами виртуалок (обновление, индексация и пр). Если поиграть-поучится - то не парьтесь по этому поводу. В общем от 4-х. При этом даже если 5 машин - давайте каждой по 2 ядра (хотя их всего, допустим, 4).
Количество оперативки - минимум по 2 гб на виртуальную машину и столько же на хост. Это минимум, лучше немного иметь в запасе. Виртуалки (во всяком случае виндоузные под Hyper-V) могут обмениваться невостребованной памятью, но она должна иметься в системе.
Диск. Вот диск жрут все. SSD обязательно и лучше с запасом по объему. Минимум для Windows - 40 гб на каждую. Но конечно - смотря что вы там будете делать, может требоваться больше. Очень важна скорость дисковых операций. Возможно лучше даже поставить 2 или несколько обычных SSD или быстрый SSD с NVMe. Если под сервер терминалов - то систему виртуалки можно поставить на обычный SSD, а каталог профилей пользователей - перенести на диск с NVMe. Имейте ввиду, что распараллеливание нагрузки на несколько штук обычных SSD - может и не решить проблему скорости - упрется в производительность контроллера SATA и его шину.
В вашу сумму можно собрать систему с шестиядерником, 32 гб ОЗУ, 512 SSD с NVMe из самых быстрых и еще обычным жестким диском на 2Тб. Включая монитор. Должно хватить "за глаза".