This keeps coming up again and again, so I'm making a thread for easy linking. If a moderator is inclined, feel free to sticky it.
The current Kobo firmware has an glitch in which it occasionally fails to close the database while connecting to PC, often resulting in database corruption. If you look at the .kobo folder in your file manager, you may see an sqlite write-ahead log - which indicates that it exported to USB while the sqlite database was open.
I've personally had it happen under two circumstances:
However, other users have also had it happen under other circumstances, including "at random."
If you have Kobo Utilities installed in Calibre, you'll get an error about a malformed database. If you don't, you may notice if metadata fails to update or the reading position keeps resetting back to the same spot.
Ensuring that you're on the home screen before connecting often (not always) helps with preventing the issue, but rebooting before connection is the most reliable way to keep it from happening. This NickelMenu config will add an easy-access reboot button to the main menu:
If it happens, there's two main ways to fix it.
Amendments to this post welcome.
The current Kobo firmware has an glitch in which it occasionally fails to close the database while connecting to PC, often resulting in database corruption. If you look at the .kobo folder in your file manager, you may see an sqlite write-ahead log - which indicates that it exported to USB while the sqlite database was open.
I've personally had it happen under two circumstances:
- connecting while a kepub is open.
- Using a NickelMenu option to reconnect immediately after importing a large amount (50+) of books.
However, other users have also had it happen under other circumstances, including "at random."
If you have Kobo Utilities installed in Calibre, you'll get an error about a malformed database. If you don't, you may notice if metadata fails to update or the reading position keeps resetting back to the same spot.
Ensuring that you're on the home screen before connecting often (not always) helps with preventing the issue, but rebooting before connection is the most reliable way to keep it from happening. This NickelMenu config will add an easy-access reboot button to the main menu:
Code:
menu_item : main : Reboot Device : power : reboot
- Restore a database backup taken by Kobo Utilities. Extract the contents of the archived ZIP into the .kobo folder. This is preferred as you will not lose any reading positions or annotations.
- If you have not a backup, logging in and out of your Kobo account. This reinitializes the database to a fresh slate, and re-imports any sideloaded books. Unfortunately, this also results in the loss of the reading positions and annotations for those sideloaded books.
Even if you don't have a database backup here, Kobo Utilities is still of assistance: it's possible to save the reading position to a custom column beforehand and then restore it back to device afterwards.
Amendments to this post welcome.