5 votes

Appliquer manuellement les mises à jour du micrologiciel de Mac

Récemment, un changement important concernant l'installation du firmware Mac a été introduit.

Apple ne fournit plus de dispositifs autonomes de mise à jour du micrologiciel. ( Des firmwares plus anciens sont encore disponibles. (Notez l'ajout de : "Cet article a été archivé et n'est plus mis à jour par Apple.")

Il faut plutôt tenir compte de ce conseil : Mettez à jour MacOS sur un Mac de votre établissement :

Si vous êtes l'administrateur système de votre entreprise ou de votre établissement d'enseignement, utilisez ces méthodes pour mettre à niveau MacOS High Sierra.

Apple ne recommande pas et ne prend pas en charge les images système monolithiques lors de la mise à niveau ou de la mise à jour de MacOS.

Les images système monolithiques ne peuvent être utilisées que pour réinstaller MacOS, et non pour mettre à niveau vers une nouvelle version de MacOS. Si vous essayez d'utiliser une image système monolithique, les mises à jour de firmware requises seront absentes de l'installation. Cela fait que le Mac fonctionne dans un état non supporté et instable. Vous pouvez utiliser les images système pour réinstaller le système d'exploitation existant sur un Mac.

Cela semble signifier que la réponse donnée ici : Est-il possible de réinstaller le firmware du MacBook ? pourrait ne plus être valide pour les mises à jour du micrologiciel (nécessaires pour APFS) dans la version 10.13 de MacOS High Sierra. sur le programme d'installation de High Sierra et qu'ils sont uniquement appliqués pendant le processus d'installation.

Comment peut-on extraire ces mises à jour de firmware du programme d'installation ou du système et les appliquer manuellement ? Existe-t-il d'autres déclencheurs pour appliquer le dernier micrologiciel sur les Macs affectés ?

5voto

LаngLаngС Points 7522

Il est nécessaire d'obtenir l'application d'installation pour MacOS High Sierra. Une fois que cela est disponible dans /Applications, on peut utiliser le script suivant pour extraire les données du firmware et installer script pour produire un paquet d'installation de firmware autonome :

#!/bin/sh
# Based on investigations and work by Pepijn Bruienne
# Expects a single /Applications/Install macOS High Sierra*.app on disk    
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

IDENTIFIER="com.foo.FirmwareUpdateStandalone"
VERSION=1.0

# find the Install macOS High Sierra.app and mount the embedded InstallESD disk image
echo "Mounting High Sierra ESD disk image..."
/usr/bin/hdiutil mount /Applications/Install\ macOS\ High\ Sierra*.app/Contents/SharedSupport/InstallESD.dmg

# expand the FirmwareUpdate.pkg so we can copy resources from it
echo "Expanding FirmwareUpdate.pkg"
/usr/sbin/pkgutil --expand /Volumes/InstallESD/Packages/FirmwareUpdate.pkg /tmp/FirmwareUpdate

# we don't need the disk image any more
echo "Ejecting disk image..."
/usr/bin/hdiutil eject /Volumes/InstallESD

# make a place to stage our pkg resources
/bin/mkdir -p /tmp/FirmwareUpdateStandalone/scripts

# copy the needed resources
echo "Copying package resources..."
/bin/cp /tmp/FirmwareUpdate/Scripts/postinstall_actions/update /tmp/FirmwareUpdateStandalone/scripts/postinstall
# add an exit 0 at the end of the script
echo "" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
echo "" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
echo "exit 0" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
/bin/cp -R /tmp/FirmwareUpdate/Scripts/Tools /tmp/FirmwareUpdateStandalone/scripts/

# build the package
echo "Building standalone package..."
/usr/bin/pkgbuild --nopayload --scripts /tmp/FirmwareUpdateStandalone/scripts --identifier "$IDENTIFIER" --version "$VERSION" /tmp/FirmwareUpdateStandalone/FirmwareUpdateStandalone.pkg

# clean up
/bin/rm -r /tmp/FirmwareUpdate
/bin/rm -r /tmp/FirmwareUpdateStandalone/scripts

Cela fait partie de la scripts pouvant intéresser les administrateurs de MacOS de la projet munki .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X