This question is very closely related to What exactly is "Ubuntu Desktop Edition" safe mode? (and I'm having exactly the same problem), as the comment says the answer given may be confusing safe mode from the boot menu and safe mode from GDM.
Assuming we choose the "Ubuntu Desktop Edition (safe mode)" from the login screen, firstly what does this not load in relation to not safe mode? and secondly is there a way of finding out which modules differ between them, and then selectively starting them to find out which one is causing the problem?
Effectively doing the transition from safe mode to normal mode step by step.
Thanks.
Modules:
You get of the list of all loaded modules with the command:
To compare them, you redirect the output to a file:
restart in normal mode
diff might need to be installed. A more comfortable tool for viewing is xxdiff, which needs to be installed too: