Magnus era um filho ilegítimo do Rei Olaf Haraldsson (mais tarde, St. Olaf), por seu inglês concubina Alfhild, originalmente um slave (escravo) de Olaf rainha Astrid Olofsdotter. Nascido prematuramente, a criança era fraca e incapaz de respirar nos primeiros minutos, e provavelmente não se esperava que sobrevivesse. Olaf não estava presente no nascimento da criança, e seu Islandês skald Sigvatr Þórðarson tornou-se seu padrinho. Em um batismo apressado, Sigvatr nomeou Magnus em homenagem ao maior rei que ele conhecia, também o maior modelo de Olaf, Karla Magnus, ou Carlos Magno. Contra as probabilidades, Magnus passou a crescer forte e saudável, e ele se tornou de vital importância para Olaf como seu único filho.Olaf foi destronado pelo rei dinamarquês Cnut, o grande, em 1028, e ele foi para o exílio com sua família e corte, incluindo o jovem Magnus. Eles viajaram pelas montanhas e por Eidskog durante o inverno, entraram em Värmland e receberam abrigo por um chefe chamado Sigtrygg em Närke. Depois de alguns meses, eles partiram de Närke e, em Março, foram para o leste em direção a Sigtuna, onde o rei sueco Anund Jacob havia deixado um navio para eles. O grupo posteriormente navegou pelo mar Báltico e para o Golfo da Finlândia, eventualmente desembarcando em Kievan Rus’ (Garðaríki). Eles fizeram sua primeira parada em Staraya Ladoga (Aldeigjuborg) para organizar a viagem futura. De lá, eles viajaram para o sul para Novgorod (Holmgard), onde Olaf procurou a ajuda do grande príncipe Yaroslav, o sábio. Yaroslav, no entanto, não queria se envolver diretamente nas lutas pelo poder escandinavo e se recusou a ajudar. Depois de algum tempo, no início de 1030, Olaf soube que o Conde de Lade Håkon Eiriksson, regente de Cnut na Noruega, havia desaparecido no mar e reuniu seus homens para fazer um rápido retorno à Noruega. Magnus foi deixado para ser promovido por Yaroslav e sua esposa Ingegerd.No início de 1031, uma festa incluindo o tio de Magnus, Harald Sigurdsson (mais tarde também para ser rei e então conhecido como Harald Hardrada) chegou para relatar a notícia da morte de seu pai na batalha de Stiklestad. Nos anos seguintes, Magnus foi educado em russo antigo e algum grego e foi treinado como guerreiro. Em 1030, Cnut nomeou sua primeira esposa Ælfgifu e seu filho Svein como regentes, mas os noruegueses acharam seu governo opressivo e, na época da morte de Cnut em 1035, eles foram expulsos e Magnus foi estabelecido como rei. Einar Thambarskelfir e Kalf Arnesson, que ambos procuraram ser nomeados regentes sob Cnut após a morte de Olaf em 1030, foram juntos para Kievan Rus’ para trazer o menino de volta para governar como o rei da Noruega. Depois de receber a aprovação de Ingegerd, eles voltaram com Magnus Para Sigtuna no início de 1035 e receberam o apoio do rei sueco, irmão da madrasta de Magnus, Astrid. Astrid imediatamente se tornou um importante defensor de Magnus, e um exército foi reunido na Suécia, liderado por Einar e Kalf, para colocar Magnus no trono norueguês.