晋太元十二年(公元387年),凉州发生了严重饥荒,五百钱只能买一斗米。饿死的人不计其数,约占凉州总人口的一半以上,甚至有人吃人的现象。
后凉西原太守康宁自称为匈奴王,刺杀湟河太守强禧后叛变。张掖太守彭晃也相继叛变,与东边的康宁和西边的王穆联合。
后凉懿武帝吕光想亲自率领军队前去袭击彭晃,众将领都说:“现在康宁在南方,正等待机会动手。如果彭晃、王穆还没有被打败,康宁又带兵杀到,我们就会进退两难,局势一定会非常危险。”
吕光说:“形势确实像你们所说的那样。但是如果现在不去攻打他们,就是坐在这里等他们来攻打我们。如果这三个敌人联合起来,东西夹攻,则城池以外的地方将不再受我们控制,大事也就完了。现在彭晃刚刚叛变,与康宁、王穆联系还不紧密,我们出其不意地进攻,比较容易取胜。”
吕光于是亲自率领骑兵三万人,日夜兼程地赶路。到达张掖以后,攻打了二十天,攻破了城池,杀死彭晃。
王穆起兵的时候,曾经派遣使节征召敦煌的隐士郭璃。郭璃叹息着说:“现在百姓就要穿夷狄的衣服了,我怎能忍心不去救助他们呢!”于是他和同郡人索嘏(ɡǔ)一起起兵响应王穆,并给送去三万石粮食供应部队。
王穆任命郭璃为太府左长史、军师将军,任命索嘏为敦煌太守。不久,王穆听信谗言,率领部队去攻打索嘏。郭璃尽力劝阻,王穆也不听。郭璃只好辞职,出城后大声哭泣,并举起手来对着城池说:“我恐怕再也见不到你了!”回家后,郭璃用被子蒙住脸,不跟别人说话,绝食而死。
吕光听说后,说:“两个贼寇互相攻击,要被我抓了。我们不能因为害怕连续战斗的辛苦而失去一劳永逸的机会。”于是他亲自统率步兵、骑兵两万人攻克了酒泉。
吕光又继续向凉州进军,王穆只好带着士兵向东撤退,还未来得及跑回自己的巢穴,部队已经散乱。王穆独自骑马逃走,被华马县令郭文砍下了脑袋,送给了吕光。