В итоге содержавшийся по штатам мирного времени Белорусский особый военный округ уступал противнику только в количестве личного состава, но превосходил его в танках, авиации и артиллерии. С середины июня войска округа начали выдвигаться на исходные рубежи к границе, освобождая старые места дислокации для второго эшелона. В момент германского нападения в движении находились 2, 47, 21, 44-й стрелковые корпуса.
Советские историки как большой недостаток обязательно отмечают, что в полосе наступления группы армий «Центр» в непосредственной близости от границы находилось лишь 15 советских дивизий, еще 14 располагались в 50–100 км от нее. Однако стратегическую оборону строят не на границе, а в глубине своей территории, именно для того, чтобы войска успели занять рубежи и укрепрайоны, пока враг преодолевает предполье, которое должно обороняться малыми подвижными силами и инженерными заграждениями. Так что недостатком предвоенная дислокация стала тогда, когда советские дивизии, согласно предвоенным планам, оставили укрепрайоны и бросились к границе, где и были разгромлены по частям.
Главным было то обстоятельство, что застигнутая врасплох немецким нападением советская группировка не имела ни наступательной, ни оборонительной конфигурации. В то время как противник, опередив в развертывании и сконцентрировав на выгодных направлениях ударные группировки, сумел добиться на этих направлениях существенного превосходства в силах и средствах.
Группа армий «Юг» под командованием генерал-фельдмаршала Герда фон Рундштедта изготовилась к наступлению на рубеже от Люблина до устья Дуная протяженностью 780 км. В ее состав входили 1-я танковая группа, 6, 17, 11-я немецкие, 3-я и 4-я румынские армии и венгерский корпус – всего 57 дивизий и 13 бригад. Главные силы группы – 34 дивизии – развернулись на фронте Холм – Жешув протяженностью 150 км и должны были, наступая в общем направлении на Киев, уничтожить советские соединения в Западной Украине. С выходом к Киеву планировалось захватить плацдарм и продвигать подвижные соединения вдоль правого берега Днепра, для того чтобы не допустить отхода советских войск за реку, а затем ударом с фронта и тыла уничтожить их. И здесь войска были сосредоточены в двух группировках, севернее и южнее Львовского выступа, занятого основными силами Киевского особого округа. Основной удар наносила северная группировка, состоявшая из двух армий и танковой группы, в ее первом эшелоне находились 24 дивизии.
1-я танковая группа (генерал Эвальд фон Клейст) имела ближайшую задачу прорвать пограничные позиции между Рава-Русской и Ковелем и как можно быстрее выйти через Бердичев, Житомир к Днепру у Киева и ниже его. Группа включала 5 танковых, 3 моторизованных, 1 охранную дивизию и 799 танков.
6-я армия (генерал-фельдмаршал Вальтер фон Рейхенау) своими 11 пехотными дивизиями должна была содействовать прорыву на луцком направлении и, прикрывая северный фланг группы армий со стороны Припятских болот, следовать за подвижными соединениями на Житомир.
17-й армии (генерал-полковник Иоахим фон Штюльпнагель) в составе 12 дивизий ставилась задача прорвать оборону противника к северо-западу от Львова и как можно раньше достичь рубежа Винница, Бердичев.
Южной группировке немецко-румынских войск активных наступательных задач не ставилось.
11-я немецкая армия (генерал-полковник фон Шоберт), имевшая в своем составе 7 пехотных дивизий, должна была прежде всего не допустить вторжения советских войск на жизненно важную для Германии румынскую территорию. Армии предписывалось сковать войска противника, создав у них видимость начала крупного наступления.
Румынские войска – 13 пехотных дивизий и 9 бригад – должны были взаимодействовать с немцами и оказывать помощь в организации тыла. По мнению Гитлера, германское командование не должно было питать никаких иллюзий по отношению к своим союзникам: «От румын вообще ничего нельзя ожидать. Возможно, они будут в состоянии лишь обороняться под прикрытием сильной преграды (реки), да и то только там, где противник не будет атаковать… Судьба германских соединений не может быть поставлена в зависимость от стойкости румын». Эти слова сбылись просто пророчески в ноябре 1942 года, когда румынским армиям доверили прикрывать фланги войск Паулюса.
Венгрия, по мнению фюрера, также была ненадежна. Как уже говорилось, предложение принять участие «в предприятии» она получила уже после начала боевых действий. Хотя Венгрия и выделила в конце концов для этой войны 2 механизированные и 1 кавалерийскую бригаду, «она не имеет никаких причин для выступления против России».
Резерв группы армий «Юг» составляли 2 пехотные и 1 горно-стрелковая дивизии.
Авиационную поддержку обеспечивал 4-й воздушный флот (800 самолетов) и ВВС Румынии (423 самолета).
Общие силы вторжения на Киевском стратегическом направлении насчитывали 1508,5 тысячи человек, 16 008 орудий и минометов, 1144 танка и штурмовых орудия и 1223 самолета.
Самая мощная группировка советских войск под командованием генерал-полковника М.П. Кирпоноса – более половины выделенных для войны дивизий – в соответствии с «южным» вариантом развертывания сосредоточивалась на Юго-Западном направлении на территории Киевского и Одесского округов (Юго-Западный и Южный фронты).
На этом направлении Красная Армия готовилась нанести главный удар. Операция Юго-Западного фронта, включавшего 5, 6, 26 и 12-ю армии, была разбита на три этапа. Первый – прикрытие. Вторым этапом было наступление для выполнения ближайшей задачи фронта на глубину 120–130 км. Начало наступления предусматривалось с утра 30-го дня мобилизации. Третьим этапом операции было «завершение выполнения ближайшей стратегической задачи фронта» на глубину до 250 км, на что отводилось 20 дней. Главный удар наносился бы силами 6, 12 и 26-й армий и Конно-механизированной армией в направлении Катовице-Краковского района. Вся эта масса войск сосредоточивалась в Львовском выступе.
Всего на территории Киевского ОВО размещалось 59 дивизий, из них 16 танковых, 8 механизированных, 2 кавалерийские.
5-я армия (генерал-майор М.И. Потапов), являясь правофланговой, занимала 170-километровую полосу от Влодавы до Крыстынополя протяженностью 176 км и включала 15-й, 27-й стрелковые, 22-й механизированный корпуса, 1-ю противотанковую артбригаду, 331-й гаубичный полк РГК, войска 2-го и 9-го укрепрайонов. Армии предстояло форсировать Буг, разбить противостоящего противника и к исходу третьего дня наступления захватить Люблин, а на десятый день выйти к Висле. Во втором эшелоне в полосе армии находились окружные соединения – 31-й, 36-й стрелковые и 9-й механизированный корпуса. Прикрытие с воздуха осуществляли две авиационные дивизии.
Львовское направление на участке от Крыстынополя до Радымно прикрывала 6-я армия (генерал-лейтенант И.А. Музыченко) в составе 6-го стрелкового, 4-го механизированного корпусов, 3-й кавалерийской дивизии, 4-го и 6-го укрепрайонов. Во втором эшелоне в районе Броды дислоцировался 15-й механизированный корпус, сюда же из глубины выдвигался 37-й стрелковый корпус. Армии были подчинены две авиадивизии и зенитный артполк. Войскам 6-й армии предписывалось «ударом на Тарнгруд прорвать фронт противника, пропустить в прорыв Конно-механизированную армию» и на десятый день операции выйти к реке Висла.
26-я армия (генерал-лейтенант Ф.Е. Костенко) должна была форсировать реку Сан и вести наступление в общем направлении на Жешув. В армию, занимавшую узкий участок фронта от Радымно до Творильне, входили 8-й стрелковый, 8-й механизированный корпуса, войска 8-го укрепрайона. Буквально за десять дней до начала войны в мехкорпусе побывал начальник Автобронетанкового управления Красной Армии генерал-лейтенант Я.Н. Федоренко. Командир корпуса попросил у него разрешения провести учение на новых боевых машинах, чтобы механики-водители могли попрактиковаться в вождении. Но Федоренко не разрешил и «намекнул, что в ближайшем будущем могут возникнуть условия, когда практики у всех будет с избытком. Для этого и надо приберечь моторесурс».
12-й армии (генерал-майор П.Г. Понеделин) предстояло наносить удар в направлении на Кросно, Тарнув через Карпаты, и потому она – горно-стрелковая. В составе армии – 13-й и 17-й горно-стрелковые и 16-й механизированный корпуса, 10-й и 11-й укрепрайоны, 4 отдельных артполка и одна артбригада. Во втором эшелоне находился 49-й стрелковый корпус. В полосе этой армии пограничники уже в начале июня оставили госграницу и ушли в тыл, передав охрану рубежа реки Прут стрелковым частям. Генерал-майор А.А. Свиридов сообщает, что когда его разведывательный батальон 164-й стрелковой дивизии занял погранзаставу, то нашел оставленную прежними хозяевами старую овчарку и сломанный пулемет «максим»(!). Так что бойцы НКВД знают, что война уже начинается и она все спишет. Знает это и лихой комбат Свиридов и командир его кавалерийского эскадрона, который в мирное время просит своего начальника послать разведку на румынскую территорию. Между прочим, в разведывательном стрелковом батальоне имелась рота из 16 плавающих танков и рота пушечных бронеавтомобилей.