It took me around 2 days to get it works.
First, you need to have a Farm account which in Farm Administrators group and local Administrator.
Go to Central Admin, Under Users head click “Manage the farm administrators group” and add the service account in.
then Click the “Configure service accounts”, add new managed account in by clicking the “Register new managed account”. Then select Farm Account and change it to the service account.
Now go to Application Manangement, select Manage service applications under Service Applications head
Add the service accoun to Administrators and Permissions Tab in the ribbion bar
Next, you can go to Application Management->Manage services on server and start “User Profile Synchronization Service”.
# Start User Profile Synchronization Service. After you click the link, it should show something like this:
# Although the service is “Starting”, we can check the timer job if it is running properly. Click Monitoring – Check job status. Now you may find a job “ProfileSynchronizationSetupJob” is running. This may take several minutes to finish. If it finished instantly then something is wrong, you may have to rebuild it again.
# When it’s finished, the job will disappear from Running category. Now check Services again, user profile sync service should be “Started”.
In Windows Services you should now see Forefront Services both started and running under your administrator account.