I have a Nexus One running Gingerbread (2.3.6), completely stock and unrooted. I would like to root my phone, and try installing ROMs like Cyanogen. However, as far as I know, the official way to do so, `fastboot oem unlock`, will wipe my phone, causing me to lose all of my data.

Is there any good way for me to root my phone without wiping, so that I can use something like Titanium Backup to back up all of my data before I unlock my bootloader and thus wipe my data?

If not, is there any good, automated way, to back up as much data as possible without root, and give me some indication of what could not be backed up? I don't want to have to go through every application and figure out if it has some way of exporting its data.