WinToGo 8.1 on rMBP mid 2012

This blog has detail instructions to install USB WinToGo for Mac. But things won’t go that smooth on pre-2013 rMBP.

Firstly, diskpart from Windows cmd within Virtual Machine seems to have limitations, especially for Win8.1. Partitioning can work sometime but formatting will probably fail. Therefore, diskutil in Mac is the solution for disk handling. But another problem occurs. FAT32 partition is tried but found to cause errors during imagex transfer due to large file size restrictions. But disktuil doesn’t support NTFS. At last, NTFS partition is formatted with diskutil with the help of Paragon-NTFS 14 in El Capitan.

Secondly, “bcdboot /f ALL” will create EFI boot mode for usb drive, under which Win2Go can be successfully installed but instantly turns into black screen when installing bootcamp/nvidia drivers. It’s because that pre-2013 MBP is not fully compatible with UEFI crashing the graphics/audio drivers under EFI boot. The solution is to boot with CSM-BIOS mode. That means when booting MBP with alt, “Windows” is the only menu choice not “EFI”. Clearing the boot partition and “bcdboot /f BIOS” for BIOS boot mode section. However, the “none system disk” error shows when booting the “Windows” option.

Finally, this article sheds the light. “bootsect /nt60 x: /force /mbr” to force using the win8.1 bootmgr will boot your MBP into Win8.1, with all bootcamp drivers ready to be installed.

Enjoy the Win2Go, thanks for the almighty Google and a whole day of rebooting!

Fix 10.11.4 mysterious trackpad reset problem after reboot

Just encountered a mysterious problem after upgraded to 10.11.4 that every time MBP reboots and logins, my trackpad settings like tap-to-click are lost. It’s mysterious because during the very beginning time after login it worked as normal, but a few minutes later trackpad settings were reset automatically. It also affected the Mac AirPlay to AppleTV which would not work except for the first few minutes after reboot.

Googling the airplay problem leads to login items. But removing all of my existing login items doesn’t fix the problem. (Of course, the trackpad plist is the first try which also doesn’t work.)

And the console log during possible resetting trackpad has messages like “kernel[0]: Sandbox: CommCenter(3359) deny(1) file-read-metadata /Library/Developer” and “otherbsd[4246]: Could not submit LoginItem job com.XXX.XXXYYY: 119: Service is disabled”;

More googling doesn’t find much useful info. Similar keyboard reset problem exists but has no fix yet. When analyzing the details of the console logs, one interesting thing is that there’re two login window app started msg around that time, when the failed login items are all at the second login window session and possibly kill my trackpad settings and airplay.

Then why on earth exists another login window session? The culprit is _xcsbuildd. As 10.11.4 upgraded Mac Server, with XCode server service included, which will run as user _xcsbuildd at background. The upgraded service’s second login session breaks some login items which seems indeed killing airplay and resetting the trackpad settings.

Simply disable xcode service in Server.app will not remove _xcsbuildd related stuffs. Use this methods to totally get rid of it.

Finally reboot and enjoy the hassle-free trackpad and airplay again.

Fix 10.11 key chain prompt with deny only

Just encounter a strange problem of key chain access. When prompting for access to credentials, the dialog can only be dismissed by Deny. In the console, “Ignoring user action since the dialog has received events from an untrusted source” was logged.

According to this post, 10.11.1 contains a security patch to prevent synthetic clicks on keychain dialogs. Try disabling all apps in the privacy settings of accessibility-mac-control, but not works.

Therefore manually quitting such apps one by one will be the trick to check for the culprit. It founds that BetterTouchTool is the problem.

Update: 10.11.5 will correctly prompt for administrator password and shows the blocking app.

Fix broken miredo in El Capitan

OSX 10.11 introduced System Integrity Protection feature protecting the /usr/sbin folder, which will break existing miredo functionality to connect teredo tunnels.

Steps to fix it:

  1. Copy/move upgrade-migrated miredo command line tools from /Library/SystemMigration/History/Migration-XXX/QuarantineRoot/usr/sbin/ to /usr/local/sbin
  2. Edit /Library/LaunchDaemons/miredo.plist to use new /usr/local/sbin/miredo instead of /usr/sbin/miredo
  3. Re-enable miredo in prefpane

Since El Capitan also force kernel driver signing, if your tun/tap driver has problem to load, install the latest ones from here.