明朝山西大迁徙原因如下:
1、除兵乱之外,水、旱蝗、疫接连不断,黄、淮河多次决口,使中原之地“漂没田庐无算,死亡百姓无数,村庄城邑多成荒墟。
2、 中原地区的兵乱及各种灾疫很少波及山西,山西大部地区也没有发生大的水旱虫灾。
3、山西的人口和中原的人口相比,极不平衡。据《明实录》记载,而山西人口却比河南、河北人口的总和还多25万。再从人口密度来看,同样是在洪武十四年,河南的人口密度不足山西的一半。这样,山西“地狭人稠生计难”的问题越来越突出。