“以攻代守”是诸葛亮生前定下的国策,对姜维来说,北伐也是自保的必要手段。原来,诸葛亮病故后,蜀汉政治腐败,无以复加。刘禅宠信宦官黄皓,董允死后,朝中再也没人能制住黄皓。姜维曾想除去黄皓,却被刘禅护住。黄皓当然对姜维恨之入骨,屡屡想夺去姜维的兵权,然后加以谋害。姜维岂能不知其中的利害?当然不敢放弃兵权。而保住兵权的唯一方法就是领兵出战。所以,费祎劝姜维“只宜待时,不宜轻动”时,姜维才会说出“人生如白驹过隙”这个成语,寻找一切机会北伐。
姜维的计划是,在麴山(也作曲山,在甘肃岷县东一百里)前连筑两城,由句安、李歆把守。然后连结羌人,一起进兵。羌人反复无常,姜维吃羌人的亏不少,这次也不例外。果然,魏军没有给他通盟羌人的时间,郭淮、陈泰率兵猛攻麴山两城,先断汉中粮道,后来更是截断城外水流,城内无水,危在旦夕。李歆冒死突围求救,姜维与夏侯霸商议,夏侯霸建议用“围魏救赵”之计,攻打雍州城,迫使魏军回救。不料陈泰将计就计,陈泰领兵到牛头山迎击姜维,郭淮领兵到洮水断绝蜀兵粮道。姜维久攻不下,听说郭淮大军断了粮道,慌忙撤兵。麴山城中的蜀军等不来救兵,只好降魏。这样姜维北伐以惨败告终。
兵败牛头山是演义中记录的姜维第一次北伐,演义中所说的姜维九伐中原实际是十一次,兵败牛头山这一次也并非他第一次北伐。演义中说,“秋八月,先差蜀将句安、李歆同引一万五千兵,往麴山前连筑二城……”接下来,被魏军断了水源,这个好理解。因为这里本来就属于渭河流域的上游,属于半湿润区向半干旱区过渡地带,河流水量本来就不大。加上此时是秋天,八月相当于公历9月多,雨季早已结束。蜀军麴山前筑的城地势高,被截断水源再正常不过。
但演义中说,“是夜北风大起,阴云布合,天降大雪,因此城内蜀兵分粮化雪而食。”这种情况有无可能发生呢?我们看一看全国初雪时间地图。
从图上看,甘肃东部一带的初雪时间是10月到11月,9月是很难下雪的。即使考虑到三国时期是中国历史上气候的冷期,初雪时间比现在要早,如果真的如演义中所描写的那样,北风大起,说明这是一场强冷空气来袭,带来一场大雪倒不是绝无可能。但冷空气过后,没有持续的水汽供应,大雪很难持续。所以蜀兵“分粮化雪而食”一天两天或许可能,长时间绝不可持续。
实际上,兵败牛头山这一场仗在历史上确有其事,但进程与演义中的记载有所差异。
据《三国志·魏书·陈泰传》:嘉平初,“蜀大将军姜维率众依麴山筑二城,使牙门将句安、李歆等守之,聚羌胡质任等寇逼诸郡。征西将军郭淮与泰谋所以御之,泰曰:‘麴城虽固,去蜀险远,当须运粮。羌夷患维劳役,必未肯附。今围而取之,可不血刃而拔其城;虽其有救,山道阻险,非行兵之地也。’淮从泰计,使泰率讨蜀护军徐质、南安太守邓艾等进兵围之,断其运道及城外流水……维惧,遁走,安等孤县,遂皆降”。