予禾教育

八王之乱:把帝国自己拆了

元康元年三月 — 光熙元年 公历 291 年 3 月 – 306 年
三国两晋西晋宗室内战 史源待核 3 存异说,未详考 4

西晋宗室为争夺中枢权力持续十六年的内战。它没有被外敌打断,是帝国用自己的军队、自己的宗亲,把自己拆散的。

叙事

要理解这十六年,得先看晋武帝司马炎留下的那副牌。

他篡魏立晋,最清楚曹魏是怎么亡的:曹丕把宗室当犯人防,诸王有封地无实权,行动都要报备。等到司马懿在洛阳发难,整个曹氏宗族里没有一个人能拉出一支兵来救。武帝的结论很直接——宗室不能空。泰始元年,他一口气封了二十七个同姓王,诸王有自己的封国军队,还可以出任地方都督,握实打实的方镇兵权。

这个设计针对的是外姓权臣。它在逻辑上是自洽的:只要皇帝坐得稳,诸王就是屏障。

问题出在他给这副牌配的那个皇帝。

司马衷智力有缺陷,这在当时不是秘密。关于他流传最广的一句话,是听说百姓饿死,他问为什么不吃肉粥。他不是坏人,甚至不是暴君——他只是完全无法理解自己坐在什么位置上。而武帝给他配的辅政班子,一边是外戚杨骏,一边是皇后贾南风。一个手握诏命,一个手握后宫。

火药、引信、火柴,都齐了。

三个月

武帝死后不到一年,贾南风动手了。

她的办法说不上高明,但极其有效:给远在封国的宗室写信,请他们进京勤王。楚王司马玮带兵入洛阳,宫中一夜之间换了守卫。杨骏在府里听见外面乱起来,却始终没想清楚该干什么——他既没有逃出城,也没有调兵反击,只是在等一个能给他解释局面的人。等到讨伐的军队冲进来放火烧府,他躲进马厩,被杀在那里。杨氏三族被夷。皇太后杨芷被废黜,第二年饿死在金墉城。

然后是第二步。贾南风让汝南王司马亮和楚王司马玮互相牵制,接着借司马玮之手杀掉司马亮,再以擅杀大臣、矫诏乱命的罪名杀掉司马玮。司马玮拿出怀里那道诏书,说这是陛下的意思——没有人听。他死的时候二十一岁。

三个月,一个外戚集团、两个亲王,全部清除。贾南风独揽朝政。

这三个月最要命的地方不在于死了多少人,而在于它给所有人上了一课:洛阳的中枢权力,是可以靠外镇的兵马来拿的。 诏书是活的,可以矫;宗室是可以调进来的,也是可以调进来杀掉的。这条路一旦被走通,就不会再关上。

此后七八年,天下看上去是平静的。

一步走不回来的棋

打破平静的是太子。

太子司马遹不是贾南风所生。这一点在贾后无子的前提下,是致命的。元康九年,贾后把太子召进宫灌醉,让他抄写一封言辞悖逆的信——一个醉得握不住笔的年轻人,抄完了自己的死刑判决书。太子被废,囚于许昌。次年,被派去的宦官杀死在那里。

到这一步为止,贾南风的每一步都赢了。可她这一次犯了一个根本性的错误:她杀掉的不是政敌,是国本。太子一死,所有想动手的人,都有了一面旗。

赵王司马伦第一个举起来。他以为太子报仇为名带兵入宫,废掉贾南风,随后把她毒死。这套流程和九年前贾南风对付杨骏的流程,几乎一模一样。

司马伦不打算做辅政。他要做皇帝。永康二年正月,他篡位登基,把惠帝尊为太上皇迁进金墉城——那正是他杀太子、囚废后的地方,此时被用来关一个还活着的皇帝。为了收买人心,他滥封官爵,以至于朝会上戴着貂尾的高官坐满了殿堂,貂尾不够用,只好拿狗尾巴接上。这个说法后来变成了一个成语。

司马伦的问题很简单:他称帝,就把所有和他同辈、同姓、同样握兵的亲王,一次性推到了对立面。

三月,齐王司马冏在许昌起兵;成都王司马颖、河间王司马颙相继响应。成都王的大军走到朝歌,已经有二十多万人。这不是勤王,这是国家的军队分成几块,在自己的国土上决战。史书记下了一个数字:自起兵六十多天,战死十万人。

四月,洛阳城里的禁军倒戈,杀掉司马伦的谋主孙秀,把司马伦押回金墉城赐死。

赵王伦的头掉了。但那条被他证明可行的路——带兵进洛阳,就能当皇帝——留了下来。

谁也停不下来

接下来的事,像一台已经没有刹车的机器。

齐王司马冏得政,大兴土木、沉溺酒色,不朝天子。河间王司马颙上表数其罪,长沙王司马乂在洛阳城内动手,把他杀了,首级在西明亭示众三天。

轮到长沙王司马乂。他在洛阳,成都王在邺,河间王在长安,两边合围。成都王任用陆机为河北大都督,统兵二十余万南下——陆机是江东名门之后,吴国亡后他北上洛阳,靠文章立身,如今被推上了一个根本不属于他的位置。他在洛阳城外一败涂地,随即被宦官进谗,成都王下令杀他,并夷三族。

长沙王守得极硬。他屡次击破围城之军,杀俘六七万人。围城持续了几个月,洛阳城里粮食一天天见底,但城没破。

破城的是自己人。东海王司马越——一个直到这时才真正入场的角色——在城内联结禁军,把长沙王抓起来囚进金墉城,送到河间王部将张方那里。张方把他活活烧死。

到这里,值得停下来想一个问题:这些人,难道没有一个看得出这样下去是死路吗?

看得出。他们中不乏聪明人,长沙王司马乂用兵之能、成都王司马颖初起时的声望,都不是庸人可有的。但每一个人面对的都是同一道题:现在收手,交出兵权,回自己的封国去,等着下一个胜者派人来杀自己。这道题只有一个答案。在一个杀掉对手就能活、放下刀就会死的结构里,理智的人做出的选择,和疯子的选择是一样的。

真正被拆掉的不是某一支军队,而是”停下来”这个选项本身。

司马越以为自己接手了一盘残局,其实他接手的是同一台机器。

永安元年七月,他挟惠帝北征邺城,兵众十万余。成都王派石超率五万人迎击,在荡阴把他击溃。皇帝的仪仗在乱军中散尽,百官侍卫四散奔逃。惠帝面部受伤,身中三箭。所有人都跑了,只有侍中嵇绍——嵇康的儿子——正了正冠带,站在御车前挡在皇帝身上。士兵把他按在车辕上要杀。惠帝说,这是忠臣,别杀他。士兵回答:奉皇太弟之命,只不伤陛下一人。

嵇绍的血溅在皇帝衣服上。后来近侍要洗那件衣服,惠帝不肯,说那是嵇侍中的血。

这是这场大乱里,唯一一个几乎所有人都记得的瞬间。它之所以被记住,恰恰是因为它在这十六年里格格不入。

惠帝被俘到邺城。局面还在往下走:幽州的王浚联合段部鲜卑,率兵三万攻邺;成都王挟着皇帝逃回洛阳,随即被张方接管。鲜卑兵破邺之后大肆掳掠,抢来的妇女——八千人——最后被沉进易水。

十一月,张方率步骑十万入洛阳,把惠帝劫往长安。至此,皇帝成了一件在几个亲王之间被抢来抢去的器物。他去过洛阳、邺城、长安,中过箭,做过太上皇,衣服上沾过别人的血。他从头到尾没有做过一个决定。

账单

三○五年,东海王司马越在徐州起兵讨河间王。次年,讨伐军攻入长安,迎惠帝东归洛阳,改元光熙。成都王在逃亡途中被捕,被人矫诏杀死;河间王被召入朝,死在半路上。

八个王里,七个死了。剩下的一个是司马越。

光熙元年十一月,惠帝在长安显阳殿吃了一块饼,中毒而死。旧史在这里留了一句:也有人说,是司马越下的毒。皇太弟司马炽即位,是为晋怀帝。

这就算是结束了。从二九一年三月到三○六年,整整十六年。

代价要分开算。

明账是人。史料留下的只是几个碎片:六十多天十万,杀俘六七万,八千妇女沉在易水——真正的总数没有人知道,后世的估算从几十万到四十万以上不等,那本身就说明这笔账根本记不清。中原的州郡在这十六年里被反复穿过、反复征发、反复劫掠,饥荒和瘟疫跟在军队后面走。

还有一笔账在人口之外。中央的禁军在一次次内战中被打光、被拆散、被降成某个亲王的私兵;地方的都督区从屏障变成了军阀的地盘;朝廷的诏书被矫得太多次,以至于到后来,一道诏书是真是假已经不重要了——重要的是谁的兵离洛阳更近。一个王朝赖以运转的东西,不只是军队和粮食,还有”命令会被执行”这个默认前提。这十六年,把这个前提消耗干净了。

暗账要严重得多。诸王打到后来,谁都缺兵,于是谁都往外借。王浚借段部鲜卑,成都王依靠匈奴五部——刘渊就是在这个格局里,作为成都王倚重的匈奴统帅,拿到了回到并州的机会。三○四年,就在长沙王被烧死、荡阴之战打响的同一年,刘渊在左国城称汉王,李雄在成都称成都王。

这两件事在当时看,只是内战新闻里的两条脚注。

司马越熬到了最后。三一一年他病死,同年洛阳陷落,怀帝被俘。三一六年长安失守,西晋亡国,前后不到四十年。

武帝当年封那二十七个王,是为了防止曹魏那种”宗室无兵、一朝倾覆”的死法。他成功了——晋朝没有亡于外姓权臣。

它亡于自己的宗室。

考据

起止与分期。 通行系年为元康元年(291)至光熙元年(306),凡十六年。但这十六年并不连续:前段仅 291 年三月至六月三个月,性质是宫廷政变;此后七八年相对平静,直到 299 年废太子事件才重新引爆。故亦有学者主张分两阶段论述,本条目在 disputes 中并列。

“八王”之数。 八王之名,源于史书将汝南王亮、楚王玮、赵王伦、齐王冏、长沙王乂、成都王颖、河间王颙、东海王越八人合为一传。实际卷入者远不止八人(东安王繇、范阳王虓、南阳王模、东瀛公腾等皆在其中),八为纪传体的编排结果,不是参战者的实数。

数字的来路。 本条目正文所用的每一个数字,都来自史籍片段,而非总量统计:讨赵王伦之役,自兵兴六十余日、战所杀害十万人;长沙王乂破成都王军,杀俘共计六七万人;陆机督军二十余万;石超五万;东海王越北征十万余;张方步骑十万;王浚兵三万;邺城被掠妇女八千人沉于易水。今人常见的死亡四十万以上一类总数,属后人估算,本条目不采为定论,见 disputes

惠帝之死。 记为食饼中毒,旧注并存一说:或云司马越之鸩。二说均见于史料层面,本条目采不坐实的写法。惠帝生卒作 259—307(公历 307 年 1 月 8 日卒),死于光熙元年十一月——这正是农历十一月跨公历年的典型例子:按年号年说光熙元年(306)崩,按公历说 307 年卒,两者都对。

待补的实查。 本条目全部正史出处尚未实查卷次,ref 一律标「待核」、verified: false。所依主要为《晋书》惠帝纪与八王列传、嵇绍传、陆机传、王浚传,以及《资治通鉴》晋纪相应年条;交叉核对以中文维基百科相关条目为二次来源。正文未出现任何带引号的史料原文——凡未实查原文者,一律白话转述。

注释

  • 司马乂(yì):长沙王,惠帝异母弟。名字与司马懿(yì)拼音相同,本站以封号后缀消歧。
  • 司马颙(yóng):河间王,据长安。与成都王司马颖(yǐng)字形、读音皆近,是本段历史最易混淆的一对。
  • 司马冏(jiǒng):齐王。
  • 司马遹(yù):愍怀太子。
  • 金墉城:洛阳城西北角的小城,魏晋时期专用于安置被废黜的帝后。八王之乱中,它先后关过杨太后、贾后、惠帝、赵王伦——同一座城,换了一批又一批囚徒。
  • 荡阴:今河南汤阴。
  • :今河北临漳西南,成都王司马颖的根据地。
  • 许昌:今河南许昌,太子司马遹被囚与遇害处。
  • 金屑酒:以金屑和酒,饮之致死,西晋赐死宗室常用之法。
  • 狗尾续貂:貂尾为侍中一类近臣冠饰。赵王伦滥封官爵,貂尾不足,以狗尾代之,后成讥讽滥竽充数的成语。
  • 段部鲜卑:辽西一带的鲜卑部族。八王之乱中被王浚引为外援——诸王向境外部族借兵,是这场内战最深远的一笔暗账。

关 键 数 据

分封宗室泰始元年(266)晋武帝封同姓王二十七人,诸王可领封国军队并出任地方都督
惠帝在位司马衷(259–307)290 年即位,在位至 307 年初
第一阶段291 年三月贾南风联结楚王玮诛杨骏;同年六月汝南王亮、楚王玮相继被杀
杨太后之死杨芷被废,292 年饿死于金墉城
废太子299 年贾后灌醉太子司马遹逼其书写悖逆之辞,300 年遣人杀之于许昌
赵王伦废贾后300 年赵王伦举兵入宫废贾南风,贾后被毒杀
赵王伦称帝301 年正月赵王伦篡位称帝,晋惠帝被尊为太上皇迁金墉城
三王讨伦兵力301 年三月齐王冏起兵,成都王颖军至朝歌时已二十余万人
讨伦之战死者史称自兵兴六十余日,战所杀害十万人
赵王伦之死301 年四月赵王伦兵败,孙秀被杀,伦被赐死
齐王冏之死太安元年十二月戊辰(公历 303 年 1 月 26 日)齐王冏被长沙王乂所杀,暴首于西明亭三日
陆机督军303 年成都王以陆机为后将军、河北大都督,统兵二十余万攻洛阳,兵败七里涧;陆机被杀并夷三族(261–303)
长沙王杀俘长沙王乂屡破成都王军,杀俘共计六七万人
长沙王之死304 年正月东海王越执长沙王乂囚于金墉城,交张方烧杀
荡阴之战304 年七月东海王越奉惠帝北征,众十万余;成都王遣石超率五万迎击,于荡阴大败之
惠帝中箭荡阴之战惠帝面部受伤,身中三箭,被俘至邺
嵇绍死难侍中嵇绍以身蔽帝,被杀于帝侧,血溅御衣,惠帝不许浣洗
王浚兵力304 年幽州王浚联段部鲜卑,率兵三万攻邺
邺城之祸王浚破邺,纵鲜卑兵掠人,被掠妇女八千人沉于易水
张方劫驾304 年十一月张方率步骑十万入洛,挟惠帝西赴长安
东海王起兵305 年东海王越在徐州起兵讨河间王颙
惠帝还洛306 年讨伐军攻入长安,迎惠帝东归洛阳,改元光熙
成都王之死306 年成都王颖被顿丘太守冯嵩所执,为范阳王属吏刘舆矫诏杀死
河间王之死306 年河间王颙应召入朝,于途中被南阳王模所遣人杀害
惠帝之死光熙元年十一月,惠帝于长安显阳殿食饼中毒而死(公历 307 年 1 月 8 日),葬太阳陵
怀帝即位皇太弟司马炽继位,是为晋怀帝
东海王之死司马越 311 年病死,同年洛阳陷落(永嘉之乱)
西晋之亡316 年长安陷落,西晋亡
历时291–306 年,凡十六年
匈奴与巴氐建国304 年刘渊称汉王于左国城,李雄称成都王于成都——十六国之始
死亡人数中文维基百科条目称此乱致死四十万以上;此为后人估算,非史料直陈

学 界 异 说

八王之乱应从 291 年算起,还是把 291 年那场三个月的宫廷政变与 299 年以后的全面内战分开看?
  • 291–306 全程为一乱,中间隔七八年相对平静,通行史书与工具书多如此系年
  • 两阶段应分述——前段(291 年三至六月)是宫廷政变,后段(299/300–306)才是宗室大内战,性质与规模不同
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
晋惠帝之死是中毒意外,还是东海王司马越所鸩?
  • 食饼中毒,死因不明;史书未坐实鸩杀
  • 或云司马越之鸩——旧注即已并存此说
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
所谓八王,是否只有八人卷入?
  • 八王之名出自史书把汝南亮、楚玮、赵伦、齐冏、长沙乂、成都颖、河间颙、东海越八人合为一传,实际卷入的宗室、方镇远不止八人
  • 八王为实指,指这场动乱的八个主角
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
这场内战究竟造成多少人死亡?
  • 无可靠总数。史料只留下几个片段数字(六十余日死十万、杀俘六七万、沉八千妇女于易水),后人所谓数十万乃至四十万以上,皆为估算
  • 采信四十万以上之说
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。

影 响(编 者 的 推 断)

e-yongjia-zhi-luan(未撰) 291 – 311
十六年内战耗尽中央军力、拆散宗室屏障,并把边地部族兵源反复引入内战;洛阳在 311 年陷落时,西晋已无可调之兵。
po-han-zhao(未撰) 304 – 316
刘渊本为成都王所倚重的匈奴五部统帅,是在内战格局中获得离石起兵之机的;304 年称汉王与八王之乱的收尾期完全重叠。

为什么单独列出来:没有任何一条史料能"证明"跨越百年的因果——那是现代人的推断。 所以它和史料直陈的事实分开显示。明示这是编者的解释,比假装有史料诚实。

关 联

起因 i-jin-fengjian(未撰) — 晋武帝大封同姓王并使之出镇,宗室既有封国之兵又握方镇之权
参与 p-sima-zhong(未撰) — 晋惠帝,全程被各方挟持的合法性符号
参与 p-jia-nanfeng(未撰) — 惠帝皇后,291 年诛杨骏,299–300 年废杀太子,300 年被赵王伦所杀
参与 p-yang-jun(未撰) — 惠帝外祖,辅政大臣,291 年被杀于马厩
参与 p-sima-liang(未撰) — 汝南王,291 年六月被楚王玮矫诏所杀
参与 p-sima-wei(未撰) — 楚王,杀杨骏、杀司马亮,旋以矫诏之罪被诛,年二十一
参与 p-sima-lun(未撰) — 赵王,300 年废贾后,301 年正月称帝,四月被赐死
参与 p-sima-jiong(未撰) — 齐王,301 年首唱讨伦,得政后专擅,303 年初被杀
参与 p-sima-yi-changsha(未撰) — 长沙王,据洛阳独抗成都王、河间王联军,304 年被送张方烧杀
参与 p-sima-ying(未撰) — 成都王,据邺遥制朝政,荡阴俘惠帝,306 年被杀
参与 p-sima-yong(未撰) — 河间王,据长安,遣张方劫惠帝西入关,306 年被杀
参与 p-sima-yue(未撰) — 东海王,最后的胜者,迎惠帝还洛,311 年病死
参与 p-sima-yu(未撰) — 愍怀太子,299 年被废,300 年遇害于许昌
参与 p-lu-ji(未撰) — 吴郡陆氏,成都王河北大都督,七里涧大败后被杀并夷三族
参与 p-ji-shao(未撰) — 侍中,荡阴之战以身蔽帝而死
参与 p-wang-jun(未撰) — 幽州刺史,引段部鲜卑破邺
参与 p-zhang-fang(未撰) — 河间王部将,两度纵兵洛阳,挟惠帝入长安
地点 pl-luoyang-jin(未撰)
地点 pl-ye-jin(未撰)
地点 pl-changan-jin(未撰)

史 源

s1 《jin-shu》 待核(惠帝纪 / 八王列传 / 嵇绍传 / 陆机传) · 待实查
s2 《zizhi-tongjian》 待核(晋纪,元康元年至光熙元年) · 待实查
s3 《jin-shu》 待核(王浚传) · 待实查
s4 《modern-ref》 中文维基百科「八王之乱」「刘渊」「五胡十六国」条(2026-07 检索)

⚠ 本条目有 3 条史源的卷次尚未实查,一律标「待核」。
本站铁律:不得凭记忆填卷次——那正是 AI 最容易一本正经编造的东西。 未实查是老实的状态,编一个卷次才是欺骗。