Start

The Pane Startup

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.

Options

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.

In addition to these startup modes for the launch of the main operating system, you can instruct your Mac not to choose the main system for the next restart, but to select a special operating system for maintenance purposes. This selection takes effect only once, for the following startup. Available options are:

By setting a check mark at Enable classic startup chime you can force the Mac to play a check tone upon each start which confirms that the base components of the computers are working fine. Using a startup sound was common on Macintosh models built between 1988 and 2016. As of summer 2016, this feature was discontinued for all subsequently published Macs, because many users felt bothered by the loud sound which was undesired for many environments, e.g. working in libraries. However, the sound can be helpful for maintenance and diagnostic purposes, indicating when exactly the system self-test has been completed and the startup of the operating system will begin.

We cannot guarantee that the startup chime is available on all newer Macintosh models. Apple can remove this feature any time without further notice by a firmware update in the background.

The startup chime will be played with the volume setting that was active the last time the Mac was shut down.

Power Control Options

Modern versions of macOS are optimized to detect whether a real user or another external event is waking a Mac from sleep mode. If not an actual person sitting in front of the screen is responsible for the wake-up, the screen can remain dark. This saves energy and avoids unwanted light effects. Such a “dark wake” happens if, for example, a client in the network accesses a service of the sleeping Mac, or a mobile device is attached to one of the Mac’s USB ports to charge it.

For some use-cases however, it might be desired to wake the Mac “fully”, i.e. together with its screen, and keeping it active for a longer period of time. One example would be a Mac working as a multimedia player, mounted together with a TV at a poorly accessible place, and configured to be activated remotely via network. It should be possible to wake the Mac without the keyboard to play a movie and keeping it switched on for some time. To achieve such a behavior, set a check mark at Don’t leave screen dark if Mac woken by network request or mobile device.

Startup options
Startup options

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.

Performance Options

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.

Apple may change the exact meaning of this setting any time without further notice. With the latest versions of macOS, it can make sense to enable this setting when you like to use server features even if you don’t have macOS Server installed. Nearly all server features have moved from the previous server App to the base operating system.

Startup Manager Security

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 ⌥ + ⇧ + ⌘ + ..

Diagnostic Options

Additional options are available for diagnostic purposes:

Changing Options

To use one of the listed options, perform the following steps:

  1. Open the tab item Options of the pane Startup.
  2. Activate or deactivate the listed options as desired.

Protected Options

Kernel Settings

The advanced kernel settings of macOS can only be changed if System Integrity Protection has been disabled for your computer:

macOS Catalina cannot run 32-bit-software in general, so the aforementioned option does not make sense when using version 10.15 or later of the operating system.

Advanced kernel settings are protected by SIP
Advanced kernel settings are protected by SIP
Additional Technical Notes for Some of the Options

When macOS is blocking a 32-bit process as result of the option Disable support for all 32-bit software, it will trigger an exception that creates a crash log containing an error description of the following pattern:

Crashed Thread:     0  Dispatch queue: com.apple.main-thread
Exception Type:     EXC_CRASH (SIGKILL)
Exception Codes:    0x0000000000000000, 0x0000000000000000
Exception Note:     EXC_CORPSE_NOTIFY
Termination Reason: EXEC, [0xd] This binary requires 32-bit x86 support, which
                    has been disabled
Changing Protected Options

To use one of the listed protected options, perform the following steps:

  1. Open the tab item Protected Options of the pane Startup.
  2. Ensure that System Integrity Protection is currently not active. (The options are not greyed out.)
  3. Activate or deactivate the listed options as desired.

Job Overview

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:

  1. Open the tab item Job Overview of the pane Startup.
  2. Click the button Create report.
Overview of all automatically starting jobs
Overview of all automatically starting jobs

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. You can save the report currently shown in the window by clicking the Save report… button.

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.

If macOS or the managing application modifies the configuration of a service login item for a user account, the change will not become visible in TinkerTool System until this user logs out.

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”.

Removing invalid auto-start entries

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 clicking 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. Click 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.

Language

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.

Startup language
Startup language

TinkerTool System allows you to modify this language preference without having to reinstall the system. Perform the following steps:

  1. Open the tab item Language of the pane Startup.
  2. Select the preferred language with the pop-up button Startup Language.

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.