Сдав экзамены, в 1936 году Николай получил законченное среднее образование. К тому времени авиация вызывала в нем все возраставший интерес, и с четырьмя своими друзьями он поступил в ленинградский аэроклуб. Закончив его в 1937 году, неразлучная пятерка решила продолжить летное обучение в Чугуевском авиационном училище, под Харьковом.
В ноябре 1939 г., после окончания учебы, их пути разошлись. Н. Козлов в числе группы выпускников был направлен в г. Кировабад на высшие курсы боевого применения ВВС. Там под руководством инструкторов, имевших опыт боев в Испании, молодые летчики приступили к освоению сложного пилотажа, полетов в любую погоду, ночных полетов, воздушного боя со стрельбой по цели из любых положений… За четыре месяца обучения Николай Козлов налетал на истребителях более 140 часов (для сравнения — за два года Чугуевского училища его самостоятельный налет на И-16 составил 25 часов). Ходили слухи, что летчиков готовят к правительственной командировке в Китай, но так ли это — установить не удалось, поскольку в марте 1940 г., по завершении учебы, их направили по военным округам. Н. Козлов получил направление в базировавшийся в Бобруйске (ЗапОВО) 122-й ПАП. Осенью 1940 г. он был переведен в 162 ИАН того же округа. Полк входил в состав 43 НАД. которой командовал участник Испанской войны, знаменитый уже тогда комдив Захаров.
Выучка молодежи, прошедшей Кировабадские курсы, имела уровень больший, даже по сравнению с летчиками- строевиками, служившими не первый гол в военной авиации. На западной границе СССР вскоре потребовалось применить полученные знания на практике. Немецкие воздушные разведчики перелетали границу, обследовали приграничные аэродромы, не особенно скрывая своих намерений. Грешили тем же и пилоты «Люфтганзы», отклоняясь от своего маршрута до 50 км в ту или иную сторону — в зависимости от того, какой военный объект требовалось изучить и сфотографировать.
В один из майских дней 1941 года 43 ИАД проводила тактические учения в Орше. Внезапно появился немецкий гражданский «Дуглас». Облетел аэродром, затем покружился над военным городком. Комдив Захаров прекратил полеты и приказал звену истребителей посадить нарушителя. Три пушечных И-16 (летчики — В. Иванов, Н. Козлов. И. Воинов) поднялись в воздух, подошли к нарушителю. Козлов встал справа. Воинов — слева. Капитан Иванов дал предупредительную очередь перед пассажирским самолетом, вышел вперед, покачал крыльями: дал сигнал «Следуй за мной». Нарушитель вынужден был приземлиться в Орше.
О выполненном перехвате доложили «наверх», в штаб ВВС ЗапОВО. а оттуда информация ушла наркому Тимошенко. Вскоре пришел приказ «Дуглас» отпустить. Комдив Захаров подъехал к самолету. Командир экипажа открыл дверь. Захаров спросил: «Понимает ли кто по-русски?» Ответ был отрицательным. «Ну что же, будете сидеть до тех пор, пока не выучите язык.» Тотчас же из салона выглянул молодой офицер и по-русски ответил: "Господин генерал, мы вас поняли". Он же дал команду экипажу следовать в Минск, как указало советское авиационное командование.
14-15 июня 1941 г. Захаров по поручению командующего ВВС ЗапОВО Ивана Конца облетел на У-2 ряд приграничных застав на протяжении 400 км вдоль государственной границы; садился возле каждой заставы и выяснял обстановку. С результатами своей инспекции Захаров вместе с командующим ВВС округа отправился к командующему войсками ЗапОВО Павлову. Тот, выслушав доклад, вяло отреагировал на него. Тогда Захаров решил действовать сообразно обстановке, и, не дожидаясь вышестоящих указаний, отменил летчикам выезд в отпуска и за пределы летных городков; приказал рассредоточить технику и установить в каждом полку боевое дежурство: 12 летчиков — в готовности № 1 и 12 — в готовности № 2.
Утром 22 июня объявили тревог}7. Благодаря мерам, предпринятым Захаровым, ни один из четырех авиаполков, входивших в состав 43 ИАД, не понес потерь от немецких бомбардировок. В 9:00 162 ИАП получил приказ: перебазироваться с площадки под Минском, где он находился, на аэродром Барановичи для ведения боевых действий. Полк был выведен из состава 43 ИАД, к 12:00 перелетел на новое место и приступил к выполнению боевой задачи: прикрытию наземных войск и железнодорожного узла Барановичи, выполнив за первый день войны два боевых полко-вылета.
23 июня около 4:00 утра дежурное звено Николая Козлова (ведомые — Кузнецов и Онищенко) подняли по тревоге: к аэродрому приближалась группа Bf 110. В бой пришлось вступать над аэродромом. Николай увидел, что один «110-й» пытается штурмовать стоянку его эскадрильи, и пошел в атаку. Удар пушек его И-16 был точен. Bf 110 загорелся и врезался в землю на границе аэродрома — счет сбитым вражеским машинам был открыт, — и в полку, и на личном счету Н.Козлова.
Базироваться в Барановичах пришлось недолго. В ночь на 25 июня аэродром подвергся бомбардировке. «Все летное поле перепахали.» Немецкие танки подходили к городу, находились уже километрах в пятнадцати от него. Был отдан приказ об эвакуации полка. Из-за непригодности взлетно-посадочной полосы матчасть пришлось сжечь на аэродроме. Не потеряв ни одного человека летного состава в ходе первых дней боев, 162 ИАП убывал в тыл. Командир дивизии Татанашвили собрал всех, вывел па шоссе Брест-Бобруйск. Останавливали машины, высаживали пехотинцев и на их место сажали летно-технический состав. Так удалось спасти ценные летные кадры, вывезти их из района окружения.
Длинную колонну войск и беженцев бомбила восьмерка «Юнкерсов». Переждав налет, машины с авиаторами полка двинулись дальше, объезжая воронки и убитых людей. Но и в этом море человеческой трагедии было то, что проняло их до самой глубины души: убитая молодая женщина, на груди которой — дочка трех-четырех лет, вся перемазанная кровью, непрерывно теребя мать, просила ее откликнуться… Надо ли говорить, что после подобной картины летчики только и мечтали о том, чтобы побыстрее снова вступить в бой. Увиденное не прошло бесследно и для Николая Козлова, во многом определив его поведение в воздушных боях.
3 июля 1941 г. летчики прибыли в Курск. В течение месяца прошло переучивание на МиГ-3, и 20 августа полк, вошедший в состав ВВС Брянского фронта, вылетел на МиГах в район боевых действий. Началась напряженная боевая работа: 8-10 вылетов в день на прикрытие войск, разведку и штурмовку вражеских аэродромов.
Ранним утром 24 августа Козлов в паре с летчиком Сибириным вылетел на разведку аэродрома в Сеще. Этот объект был ему хорошо знаком еще по довоенным полетам. Николай, знавший все подходы к аэродрому, появился над ним на малой высоте с направления, неожиданного для немецких зенитчиков. Там как раз готовилась к вылету большая группа бомбардировщиков — до сотни машин. Зенитки открыли огонь, когда Николай уже вышел из зоны поражения. Разведдонесение он передал по радио. Когда вернулся на свой аэродром, обнаружил его пустым — все улетели на штурмовку разведанной цели *. МиГ-3 Николая был подготовлен к повторному вылету. Параллельно, но с некоторым запозданием, велась подготовка самолета его ведомого, и в это время был получен приказ на перехват бомбардировщиков противника, шедших к Брянскому железнодорожному узлу, где как раз происходила выгрузка войск.
Николай взлетел один. На удалении 30–40 км от станций Брянск-1 и Брянск-2 он обнаружил в воздухе группу из 6 Ju 88 под прикрытием трех Bf 109. Пошел в атаку на ведущего «Юнкерса», открыв огонь с передней полусферы по кабине летчика под углом 15 градусов к оси самолета. Тот потерял управление, перешел в пикирование и врезался в землю. Выполнив боевой разворот, Николай сверху атаковал другой бомбардировщик и зажег его. И тут на его МиГ-3 навалились истребители прикрытия. Когда один из них зашел МиГу в хвост, Николай выпустил щитки — скорость его истребителя резко упала, и «Мессершмитт», проскочив вперед, сам теперь стал мишенью. Но сбить его не удалось — оружие на МиГе отказало. «109-му», пикируя до земли, удалось выйти из боя.
Тут Николай заметил, что один Ju 88 продолжает следовать прежним курсом на высоте 3000–4000 м. Не имея возможности поразить его огнем бортового оружия, Николай не желал упускать бомбардировщик, уже становившийся на боевой курс. Подойдя снизу к его хвостовому оперению и уравняв скорости, он взял ручку управления на себя — и винт МиГа врезался в хвостовую часть бомбардировщика. «Юнкере» начал разрушаться и в конце концов упал на землю.