为整治河患,元朝政府在至正十一年(1351)委派贾鲁负责主持治河工程,重新固定了下游河道。贾鲁治河所采取的对策是堵塞北流河道,强挽黄河趋于东南方向由泗水入淮河。为达到这一目标,他在堵塞北流河道的同时,疏浚了280多里河道,修补了一百多处堤岸。
新成的河道大体上经今封丘南、开封北,穿行东明、兰考之间,绕商丘北、虞城南,流过夏邑、砀山之间东经萧县北,在徐州汇入泗水,循泗入淮。贾鲁整治的这条河道,对河道的深广和堤岸的高低宽狭都有统一的要求,还根据水情设计了不同的堤埽,具有规整的河道和完备的工程设施,因此颇受后人称道,人们把这条河道叫作“贾鲁河“。
令人遗憾的是,贾鲁河建成不久,就遍地燃起了反抗元朝黑暗统治的烽烟,朝廷根本无暇顾及河道的养护,使得黄河下游在今豫东和鲁西南地区不断南北摆动。从总的趋势来看,先是经常向北决徙。在元末明初的一段时间内河道流经今原阳北、封丘北、菏泽南、金乡北、鱼台北、沛县东等地,至徐州由泗入淮。大约在明洪武八年(1375)前后重又向南摆动,恢复了贾鲁河故道,有时也向南决入颍河或涡河,转而入淮。
洪武二十四年(1391),黄河在原武黑洋山(今原阳西北)决口,黄河水东南流,经开封城北,折而南行,经陈州(今淮阳)夺颍河入淮。以前黄河虽然也曾几次走过颍河水道,但都只是一股岔流,干流入颍河河道,这还是第一次。正因为是干流所经,当时人们又称之为“大黄河”。干流转入颍河以后,原来的贾鲁河仍有一定水量,但已十分微小,所以人称“小黄河”。
永乐九年(1411),一度用人工恢复了明初的故道,走菏泽、鱼台一线进入运河。永乐十四年(1416),开封附近河道决口,东南流经杞县、睢县、柘城汇入涡河。正统十三年(1448),黄河下游分为南北二股。南股在孙家渡口(今郑州西北)决出,向南袭夺颍河入淮;北股在今新乡八柳村决出,经原阳、延津、封丘、长垣、东明、鄄城、范县等地,流入运河。
弘治二年(1489),黄河下游河道又在原武至开封间出现多处决口,其中全河流量的十分之七向北决出,十分之三向南决出。南决的水流在中牟到开封县界内又分成两股,一股经尉氏等县,由颍河入淮;另一股经通许等县,由涡河入淮。此外还有一支南决的水流东出今商丘,南流至亳州,也汇入涡河。北决的正流东经今原阳、封丘、开封、兰考、商丘等地,东趋徐州入运河。 另有一支北决的水流,冲入张秋(今属山东阳谷)一带的运河。
第二年(弘治三年,1490),官员白昂主持治理这4条漫溢而成的河道。他首先堵塞住了30多处决口,并疏导河水进入颍河、濉河、运河等水道,修筑河堤,维持了三条比较稳定的河道,一条走涡河,一条走颍河,另一条是主干道,走汴道。白昂治河虽然取得了一定成效,但下游河道仍旧不断决溢分流。到弘治六年(1493),又由刘大夏负责,重新整治河道。
刘大夏治河以后,在正德至嘉靖前期,黄河下游仍呈多支分流的局面,当时比较稳定的河道共有五条,可分为南路与东路两大流向。南路共两条河道,一条由涡河入淮,一条由濉河入泗人淮;东路共三条河道,一条由贾鲁故道经徐州入泗入淮,一条由曹县东流经沛县入运河,一条是从流经曹县、沛县这一派上分出,经谷亭(今鱼台)入运河。总之,仍旧是同时并存着多条比较固定的河道。
到了嘉靖二十五年(1546)以后,情况发生了较大变化,这时除了东路由贾鲁故道经徐州夺泗入淮的一条河道之外,其他别派岔流几乎全被塞阻。发生这一改变的原因,主要是黄河水中含沙量过高,多派分流,水势变缓,减弱了水流的挟沙能力,于是泥沙迅速淤积下来,阻塞了河道。 岔流受阻以后,主干道上的决溢更为严重。嘉靖后期,在徐州、沛县、砀山、丰县一带,时常泛滥成灾。
面对这种局势,著名的治河专家潘季驯在万历年间(1573-1620)采用“束水攻沙”的办法来解决泥沙淤积的问题,取得了一定成效。潘季驯的办法是逼近河床修筑河堤,通过约束水流来提高它的挟沙能力,从而减缓沉积。这种治理淤积的办法虽然也未能彻底解决下游河道泥沙淤积的问题,但是却从此基本固定了单一的下游河道,改变了自金代以来多股河道长期并存的局面。嘉靖二十五年(1546)出现、并在万历年间由潘季驯主持最终固定下来的下游河道,就是现在普通中国地图上都有标识的所谓“废黄河”或“淤黄河”。
河道固定以后,由于“束水攻沙”的办法并没有彻底解决泥沙淤积问题,日久年深,河道随着泥沙的沉积而增高,河床渐渐高出了地面,使干流的大部分河段都变成了地上“悬河”,河道更易溃决,而且河水泛滥所造成的危害也更为严重。到清嘉庆、道光年间(1796—1850),黄河下游河道已经淤废不堪,滩槽高差极小,一般洪水年都要普遍漫滩,防御稍一不慎,就要决口。