しかし、烏丸は元中山太守の張純の誘いに乗って反乱を起こし、さらに体制に不満を持つ漢民族も加わったため、 その数は数十万に膨れ上がった。
公孫 はよく善戦し、石門で快勝するなど緒戦では勝利するものの、平定することができない。
このため、非漢民族政策で定評のあった劉虞が幽州の太守に任じられ、平定を命じられる。
彼は懐柔策を採用して烏丸と張純の間を裂くと、彼を敗走された。