I wanted to turn off my mac's startup sound but could not find any built in way through settings to do so. I could not find a definitive solution for this, there is some disagreement on how it should be done.
The only "officially supported" way to achieve this is to have the computer sound be set to "mute" before it is shut down. If the computer is muted at the time of shutdown, it will not play the startup sound on the next startup.
Hold down the mute key before pressing the power button and continue to press the mute key through the time the startup sound would normally be heard. This will prevent the sound from being played even if the computer was not set to mute on last shutdown.
Create a script to mute the machine on every shutdown. There was some disagreement on whether this was a good solution as support for startup/shutdown scripts could be deprecated in the future. We'll use the com.apple.loginwindow LogoutHook to control execution of our script.
(steps below lifted from here: https://discussions.apple.com/thread/4001727?start=15&tstart=0)
0. Check if any hooks already exist (these will be overwritten, so make sure it is OK for you)
sudo defaults read com.apple.loginwindow LogoutHook
1. Create script file for muting, with the contents below (replace ` with single quote):
osascript -e `set volume with output muted`
2. Make file executable:
sudo chmod u+x /path/to/mute.sh
3. Add hooks for muting
sudo defaults write com.apple.loginwindow LogoutHook /path/to/mute.sh
Note: to delete the hook, use the following:
sudo defaults delete com.apple.loginwindow LogoutHook
Hope this helps,