The pane Startup is designed to manage special settings of the operating system or of the computer’s firmware, which won’t affect normal operations, but only the startup phase of macOS.
macOS is supporting different startup modes that can be preconfigured with TinkerTool System:
macOS can also start in Safe Mode which means that it will start normally, but only with a minimum set of features enabled. All third-party startup components like drivers, kernel extensions, or background services will remain inactive. This mode is helpful if you installed bad system software or drivers which prevent macOS from starting up correctly. In addition, nearly all system and user caches will be cleared. Safe mode can be activated temporarily by holding down the shift key (⇧) during startup. It does not make sense to enable Safe Mode permanently.
If the option Wake for network access is enabled in the computer’s Energy Saver settings, macOS usually makes use of the function Bonjour Sleep Proxy to automatically wake the computer when another computer accesses a public network service of the sleeping computer. If the network service is not being accessed directly, but a standard Wake On LAN (WOL) signal is sent to the sleeping computer, it might happen with the latest versions of macOS that the computer does not awake completely, but only partially, keeping the monitor off (“dark wake”). This can be sufficient for many remote maintenance features, but it is often desired that the sleeping computer should be powered on completely. In addition, technical problems with certain third-party software products can be avoided.
By selecting the option Enforce full power-up when receiving wake signal over network (no “dark wake”) you can ensure that the system kernel should perform a conventional, complete wake-up when a WOL signal comes in.
Keep processor cores powered up even when they are idle: By default, modern computers shut all processor cores down which are currently not in use. “Not in use” means that the process scheduler has not enough jobs to keep all cores busy for a complete scheduling time slice, which usually lasts 10 milliseconds. For the time period where there is nothing to do (processor load per core is less than 100%), the affected cores will be powered down into sleep mode. Keeping the cores always powered up is mainly useful for diagnostic purposes only. It has no positive effect on system performance. The system might consume significantly more energy and produce more heat when this feature is activated.
macOS can reconfigure its kernel to optimize itself for working as a server. This means certain system parameters, like the strategy for reserving network and file caches, or the multi-threading characteristics will by modified in a way so that typical server applications gain better performance. Such server applications typically run without a visible user interface in the background and use many threads mainly doing network and file operations. On the other hand, a standard installation of macOS is usually optimized to give the frontmost application running on the graphical user interface the best speed behavior.
If you like to change the default and give typical server jobs better performance, set a check mark at Optimize system for server operations with macOS Server. After restarting the computer, the kernel and some features of macOS Server will respect the new setting.
You can only enable this feature if TinkerTool System detects that macOS Server is used for server operation on this computer. Apple may change the exact meaning of this setting any time without further notice.
You can attach additional hard drives to your Mac. If the physical interface used to attach such a drive is supported by the Mac’s firmware, the drive can also be used to hold the operating system so that the Mac can start from that drive. In cases where you are using third-party disk interfaces to attach an additional drive, it might not always be possible to perform such a startup successfully, because the Mac’s firmware might not support this. It may not “know” how to control the foreign interface at early startup time, when the actual operating system is not running yet.
Vendors of third-party disk interfaces can provide an “option ROM”, an addendum to the firmware, to resolve this problem. However, the programs contained in that additional firmware run directly on the hardware. They cannot be monitored or restricted by the operating system, because macOS is not running at that moment yet. This could be a security risk, because an attacker could abuse this unrestricted mode of operation to steal confidential data (like the FileVault password) by connecting a deceptive hardware device. You must trust all option ROMs connected to your computer, hoping they only provide intended features.
To confirm that you trust the currently attached option ROMs of third-party vendors in order to start an operating system at the Mac’s boot menu (also called Startup Manager or Boot Picker), users can press the key combination ⌥ + ⇧ + ⌘ + ..
This feature is only available on Macintosh systems released by Apple before May 2015. The security policy of later systems no longer allows to disable this Startup Manager function.
If you are using such an older Mac, you can alternatively activate a hardware setting to automatically permit option ROMs, avoiding the key combination at each startup. To do this, enable the option Permit loading third-party firmware without having to press ⌥ + ⇧ + ⌘ + ..
Additional options are available for diagnostic purposes:
Some of the diagnostic options can only be changed if System Integrity Protection has been disabled for your computer:
The generated NMI signal is actually not a true Non-Maskable Interrupt, but an ACPI System Control Interrupt (SCI).
To use one of the listed options, perform the following steps:
When the operating system is starting and the user logs in, a high number of system services and user applications is started automatically. TinkerTool System can help you to get an overview of all automatically starting components which become effective for your personal user account. It will also analyze all auto-starting jobs, comparing their configuration entries with their current status. If a mismatch is found, the application will warn you. This way, you can easily detect invalid or outdated configuration entries. Additionally, you can see whether specific jobs have failed due to technical problems, or if the operating system was forced to stop system services due to temporary lack of memory.
To let TinkerTool System create a report of all automatically starting jobs, perform the following steps:
After a few seconds, the report will appear in the text view. By using copy/paste, you can transfer it into other applications if necessary. To filter out all “normal” jobs which are preconfigured by Apple and are a standard part of the operating system, set a check mark at Hide and summarize jobs which are included as part of macOS.
The configuration of auto-starting jobs is part of different launch behaviors and different realms: So-called daemons are services running in the background which can launch as soon as the operating system is running, even when no user is logged in yet. So-called agents are background services that run for each user session. They can launch as soon as a user has logged in, and are automatically quit when that user logs out. If multiple users are logged in, multiple sets of agents run simultaneously for each session. Daemons and agents can be defined by the operating system itself (system), or as third-party entries for all users of the computer (computer), or for a particular user (user), a case which is then of course limited to agents.
A user can also add and remove auto-starting applications herself, using the setting Login Items in the Users & Groups pane of System Preferences, or via the context menu of the Dock.
Apps sold in the Mac App Store have no permission to touch any of the daemon, agent, or login item settings. This is monitored by Apple and additionally enforced by technical means built into macOS. However, if a feature of such an App needs to control whether the App or parts of it should launch automatically after the user has logged in, it first has to ask the user for explicit permission (e.g. by changing a preference setting within that App), and then has to send a specific request to macOS to register the auto-starting component. If the request is OK, macOS will store the auto-start wish in an internal database, hidden from the user, only visible to the App that requested it. TinkerTool System uses the term Service Login Item to refer to such special configuration entries for Apps.
For each job that is currently configured to launch automatically, TinkerTool System shows the following entries:
The different status entries, which are shown with color markings and between square brackets, have the following meaning:
Unfortunately, it has become a habit that Apple ships the operating system with some incorrect configuration entries. If TinkerTool System detects a job with abnormal status which relates to one of these known issues (which are usually uncritical), it will indicate this by the additional message line Note: This is a known defect of the running operating system and thus “normal”.
TinkerTool System can automatically remove invalid entries for automatically starting jobs in cases where its analysis has confirmed that it will be absolutely safe to do so. If one or more of such entries have been found, the additional button Resolve problems… will become visible in the lower right corner. These are usually cases where an outdated entry had been left on the system because its associated application had been deleted without correctly uninstalling it first.
After pressing the button Resolve problems…, TinkerTool System will show a table with all invalid entries that can be safely removed. When clicking on lines in the table, detail information will be shown. Press either the button Clean selected entry to fix a problem with the job currently selected, or the button Clean all entries for all entries currently shown in the table.
When cleaning invalid entries of type service login item, special conditions apply: Apple has specifically designed these entries in a way to ensure that they should only be accessible by the Apps that created them. It is possible for TinkerTool System to override this protection, but this is not recommended and should only be used as a last resort. To remove a bad entry for a service login item, it is recommended to re-install the App shown as “managed by…” at the entry in the job overview report, and then to use the preference settings within that App to disable its autostart features.
If invalid entries of type service login item are in the list, TinkerTool System will ask you whether they should be considered during the clean-up procedure or not.
To remove invalid login items, use the respective feature of the pane User.
Users can individually set the languages they prefer when working with applications. This personal preference setting is controlled by the priority list displayed at Language & Region > Preferred Languages in System Preferences. However, this setting only affects applications started by each user, it does not apply to the startup phase of the operating system and its login screen, situations where no user has logged in yet. Under normal circumstances, this additional language preference can only be set when installing the operating system.
TinkerTool System allows you to modify this language preference without having to reinstall the system. Perform the following steps:
This will also change the keyboard layout used when running the login screen. If you don’t own the keyboard type typically used for the selected startup language, it may become difficult to enter user name and password correctly.
Under certain circumstances, the startup language setting of macOS can have been damaged, e.g. when you have restored your system from a Time Machine backup. In this case, TinkerTool System will display an additional button with the option to repair the setting.