Ответ:

Мальчик с чёрными волосами — брюнет. Он говорит Белову, значит, сам не Белов. По условию цвет волос каждого не совпадает с фамилией: Чернов не черноволосый, Белов не блондин, Рыжов не рыжий.

Следовательно, Белов — рыжий. Чернов не может быть ни черноволосым, ни рыжим, значит, он блондин. Остаётся, что Рыжов — брюнет.

Ответ: Белов — рыжий, Чернов — блондин, Рыжов — брюнет.