Bu learned chess at the age of six years and received early training. As a 12 - year-old he won the Junior Championship in 1998 and China's Youth World Champion U14. A sponsor contract with a mineral water producer his hometown of Qingdao in 1999 enabled him to travel with his coach Ji Yunqi to Europe to take part in international chess tournaments. In autumn 1999, he scored in just two months, three Grandmaster norms by winning tournaments in Paks and Budapest and the first split in Qingdao to 3rd place. At the age of 13 years, 10 months and 13 days he became so until then youngest grandmaster in chess history.
In 2000 he won in his first appearance in Germany the Neckar Open Tournament in Deizisau and defeated in a competition in New York Azerbaijani chess talent Teymur Rəcəbov with 6,5:1,5. Bu, the Lanzhou won the Chinese national championship in 2004, playing regularly since 2001 in China's national team. In the World Team Championship 2005 in Beersheba and at the Chess Olympiad in Turin in 2006, he scored on top board very good results and won with the Chinese team in each case the silver medal. In the 2006/07 season he played in the chess Bundesliga on 1 board of the TV Tegernsee. For the 2007 /08 season he was reported on the second board, but was not used. In 2007 he won the Chess Festival Bad Wörishofen before Stefan Bromberger and Romuald Mainka and the second time the Neckar Open in Deizisau, also in Ottawa, the Canadian Open before Nigel Short and the World Cup in León in blindfold chess against Sergei Karjakin and Magnus Carlsen. In 2008 he finished the Gibtelecom Masters Open in Gibraltar shared first place together with Hikaru Nakamura, but lost after the playoff for the first prize.
His current Elo rating is 2677 (as of January 2011), so that it is ranked 61 of the FIDE world ranking list.