Hi all,
I have been dealing with the log-in process hanging at ~50% for almost a week and the problem now seems to be rectified. Hopefully my experience is helpful for others in similar situations.
• I don't ever recall using FileVault. On account of that I disregarded the FileVault 'solutions' in this thread. What I've since learned (after the fact) is that during the Yosemite upgrade process, FileVault defaults to the 'on' position. As it turns out, this is important information to consider.
• After a few days trying to get past 50% login and getting nowhere, I became frustrated and began the process to reinstall the operating system from scratch (which I was trying to avoid). Before attempting that, I put my affected MacBook Air (MBA) into Target Disk Mode and used a Thunderbolt cable to connect my MBA to another machine in order to copy contents from my affected MBA's desktop that I created since my last Time Machine back-up. I expected my MBA's HDD to appear on the desktop of the host computer. It didn't. Then from the host computer, in System Preferences I attempted to change the Startup Disk to my MBA's HDD. If successful, the contents of my MBA would load from this host computer and I could perform one last backup before creating a new partition and completing a fresh Yosemite installation. The good news is that my affected MBA's HDD was an available Startup Disk option, yay. When I selected my MBA HDD to be the Startup Disk on the host computer, the host computer prompted me for my administrator's password to turn-off FileVault on my MBA (this caught me off guard because I hadn't recalled ever turning-on FileVault). Upon entering my MBA's administrator password, the host computer immediately crashed. I tried this a few times with the same result. Thinking I'd hit a brick wall, I tried to back-up the recently created content on the desktop of my MBA using Terminal.
• On my MBA, I started-up into Recovery Mode and used Terminal to manually copy the contents of my desktop from my MBA to an external hard drive connected via Thunderbolt. These are the Terminal commands I used that you may find useful:
ls /Volumes (this command lists the volumes accessible in Terminal, mine were 'Macintosh HD and my external hard drive called 3TB)
cd /Volumes/Macintosh\ HD/Users/johngunter/Desktop (this command changes my current directory to the desktop in my user account)
ls (this command lists the files and folders on my desktop)
cp -R Desktop /Volumes/3TB (this command performs a recursive copy - i.e. files, folders and contents of folders - from my desktop to my external HDD)
• After successfully backing-up the contents of my desktop and knowing I had a recent Time Machine backup of everything else, I was confident beginning an operating system reinstallation, which I was able to initiate from Recovery Mode. At the stage to select the destination disk for the OS installation, I should have been able to select my local HDD, however it wasn't presented as an option. In fact, no destination disks appeared as options. Befuddled, I walked away from the process for a few minutes.
• When I came back to the machine 20mins later, for whatever reason, I restarted my MBA and logged-in expecting the process to hang at ~50% and for me to stare at that for while thinking of my next move. Instead, the login-in process completed and I was logged-in!! Success!! Suspicious, I opened System Preferences to check FileVault and it indicated that the FileVault-turn-off process was halfway done and needed another 20mins to complete. I let that process finish, performed a TimeMachine back-up, updated my operating system to the latest version (I had missed an update in the last week), performed another TimeMachine back-up and held my breath as I restarted my MBA. I managed to login again and for the last 24 hours, am no longer experiencing the 50% hang-up.
• Since not being able to get past 50% during log-in for a number of days, the last setting I changed on my affected MacBook Air before being able to fully login was that I remotely switched-off FileVault. Take it for what's it's worth, that's what worked for me.
So there you go. I hope that helps.