Is there a way to reindex from disk but not start from blk0000.dat? While my Bitcoin-Qt was synchronizing, I ran into the following error:

It first loaded full blocks from blk00000.dat to blk00217.dat file (with file size about 131 MB per file). Then Bitcoin-Qt indexed everything from rev00000.dat to rev00214 (with file size about 17 MB per file), but skipped rev00215 and rev00216, and just created rev00217.

Now Bitcoin-Qt is stuck synchronizing with network but doesn't load more block. The block number is constant.

I ran Bitcoin-Qt for 9 more days. I want to keep all index data completed (to blk00214) and continue reindex from right before where the error occurred (blk00215), rather than restarting from the beginning. Is there a way to reindex from a certain point?

Please help!
Unfortunately, I don't believe the -reindex option has the ability to be that smart. 

If I were you, I would:


Shutdown Bitcoin-Qt
Start Bitcoin-QT with the -reindex flag


Reindexing doesn't take very long usually (maybe a few hours). 9 days is a long time to wait, it would probably be better to just start with a clean reindex. This won't delete the blkxxxxx.dat files, so you won't have to download all that data again at least.