You have 2 options:
Whatever you chose to do backup your wallet first.
1. You recover your private keys from the wallet.dat file (not really user-friendly).
The easiest way I can think of is to use
https://blockchain.info/wallet/import-walletYou should then be able to transfer the funds off blockchain's site and into a more secure wallet.
That site is no longer operational. But the keys can be exported (WARNING: handling uncrypted private keys can easily lead to lost coins) from core in Wallet Import Format (WIF) with
dumpwallet filename from the console.
Full help text:
dumpwallet "filename"
Dumps all wallet keys in a human-readable format.
Arguments:
1. "filename" (string, required) The filename
Examples:
> bitcoin-cli dumpwallet "test"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "dumpwallet", "params": ["test"] }' -H 'content-type: text/plain;'
http://127.0.0.1:8332/Keys in WIF can be easily imported into almost all wallets.
2. You can clean install Bitcoin core again and transfer your funds (takes more time).
Option # 3 :
You provide all the address you own (including change addresses) and we manually create you a raw unsigned transaction. You can use your client - yes, unsynced - to verify and sign it. Afterwards you can broadcast the signed raw TX via a pool (or service) interface, e.g.
https://insight.bitpay.com/tx/sendOption # 4: You compose the raw TX yourself (advanced).
Option # 5: You send the wallet.dat with the password to someone you deem trustworthy and let them send all coins to your new wallet. (risk of theft)
Option # 6: You figure out the problem with your machine, fix it and sync normally