I thought this might be of use to someone else so I've posted this up here.
I've recently changed my HTPC over from Windows to Ubuntu, copying my Sick Beard config and DB over from the windows box in to Ubuntu thinking this would save me some time as my library was all sitting on a couple of separate hard drives.
After a few little config niggles, all my shows were visible, but their locations were still pointing to my Windows "E:\TV\" folder, so when trying to post process i got the error "Unable to post-process an episode if the show dir doesn't exist, quitting" and when I tried "Mass Update", it would try to update all the locations to "/mnt/pool/TV/E:\TV\".
After a Quick Google I found out this was caused by Sick Beard not finding the old "E:\TV\" location, so the only option was to manually update each show individually. As this was going to take forever I did a little experimenting and come up with the following solution using SQLite3. you can install it on Ubuntu by running 'sudo apt-get install sqlite3'
Working in the Sick Beard directory (normally ~/.sickbeard/) make sure Sick Beard is not running and run the following:
update tv_episodes set location = replace(location, 'old_location', 'new_location');
update tv_episodes set location = replace(location, '\', '/');
update tv_shows set location = replace(location, 'old_location', 'new_location');
update tv_shows set location = replace(location, '\', '/');
Remember to replace old_location and new_location accordingly.
Restart sick beard and your library should be updated. I've tried post processing a few shows and it all seems to work correctly, show art is missing so you will need to force a full update to get that back. If there is an easier way to do this I would love to hear it.
Hope this helps!