Only option is to recreate the items with the new Item Type (Serialized/Lotted). We'll most commonly put a 'zzz' and inactivate the old version of the item so it's clear its the legacy version. You can add a custom field on the new item to reference the old item if having the transactional history is important.
Not a small task in my experience, if you have a sandbox environment it'd be good to test the process with a smaller subset prior to making this change in production (plan for open transactions, how to handle on hand balances, etc.)