boot efi bloqués dans la corbeille

en root
 
le fichier boot.efi ne devrait pas être dans la corbeille!!! mais dans /System/Library/CoreServices
 
Salut JeanPierre.

Le fichier boot.efi est le Boot_Loader de OSX version Intel, càd. le fichier qu'après le POST (Power-On_Self-Test ou check-up de la cohérence du hardware, conclu par le rententissement du 'Chime' = carillon), l'EFI exécute en qualité de lanceur logiciel du chargement de l'OS. Le rôle du Boot_Loader : boot.efi est de charger le kernel (noyau d'OSX), lequel prend la main pour charger à son tour le BSD_Unix ou infra-structure logicielle de l'OS.

Si l'EFI au démarrage ne trouve pas le boot.efi dans le répertoire attendu : /System/Library/CoreServices (comme signalé par r e m y :coucou:), au lieu que s'affiche le logo  à l'écran de démarrage, il n'y aura qu'un ? à la place, montrant qu'aucun Système bootable n'a été trouvé à l'emplacement requis (renseigné par le Blessing du Système, qui écrit le chemin au répertoire de localisation du Boot_Loader = le dossier 'CoreServices' dans l'en-tête des fichiers-Système). Et donc le Mac est planté on_launch.

Que tu ne puisses pas te débarrasser d'un fichier boot.efi à la corbeille, c'est normal, car ce fichier est verrouillé nativement. Que tu parles au pluriel de fichiers boot.efi qui seraient dans ta corbeille, voilà qui est fort de café, car il n'y en a qu'un et un seul par OS (à moins que tu ne te sois amusé à les dupliquer).

Je t'engage sans attendre à te rendre à l'adresse suivante en double-cliquant l'icône du volume de ton OS : Macintosh HD --> /Système/Bibliothèque/CoreServices. Est-ce que, à sa place alphabétique, à la lettre 'B', tu vois un fichier orné d'un cadenas et intitulé : boot.efi? Si oui, les fichiers de ta corbeille sont des doublons dont je ne m'explique pas la provenance (tu n'auras qu'à redemander comment t'y prendre pour les supprimer si et seulement si ce sont des doublons du boot.efi solide au poste à l'emplacement requis). Sinon, tu as intérêt illico presto a remettre depuis ta corbeille le (un?) fichier boot.efi à l'emplacement que je viens de te signaler (dans le répertoire CoreServices de la Bibliothèque-Système). Sans quoi, après extinction de ton Mac, ton Système sera planté (à moins que, par un miracle des plus friable, l'EFI ne parvienne à charger le cache du Boot_Loader en lieu et place du fichier_racine boot.efi absent).

Comme ta manipulation graphique t'a transformé en propriétaire du fichier, alors que cette propriété revient strictement à root, le Super-Administrateur_Système, tandis que le groupe d'accès a été viré de son côté à admin en lieu et place de wheel (le groupe_Système), tu serais bien inspiré après replacement du boot.efi dans les CoreServices d'aller à : /Applications/Utilitaires pour lancer le «Terminal» et faire un copier-coller dans la fenêtre ouverte de la commande :

Bloc de code:
sudo chown 0:0 /System/Library/CoreServices/boot.efi

et ↩︎ (presse la touche 'Entrée' du clavier pour activer la commande) --> une demande de password s'affiche (car commande préfixée de sudo) --> tu tapes ton mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef tu fais ↩︎. Par là, tu viens de rétablir à root:wheel (et everyone par défaut) la hiérarchie d'accédants au fichier Boot_Loader. Une réparation des permissions dans l'«Utilitaire de Disque» ne serait pas du luxe, dans la foulée.
 
Dernière édition par un modérateur:
Salut macomaniac :coucou:

Si l'EFI au démarrage ne trouve pas le boot.efi dans le répertoire attendu : /System/Library/CoreServices, au lieu que s'affiche le logo  à l'écran de démarrage, il n'y aura qu'un ? à la place, montrant qu'aucun Système bootable n'a été trouvé à l'emplacement requis
Il me semblait que c'était un Panneau d'interdiction de stationner qui s'affichait en l'absence du fichier boot.efi,
et pas un point d'interrogation. :heu:
 
je suis assez intrigué -et je suis pas le seul- par la présence d'un ou plusieurs fichiers " bootefiesques" ( non précisés) dans la corbeille.

anormal
et peut être signe de manips de "réparations" un tantinet hasardeuses

d'autant plus intrigué que le message #1 ( laconique) ne fait aucune allusion au moindre souci de démarrage
ca sent donc une manip transitoire que je conseillerai vivement d'annuler avant le moindre redémarrage
 
:coucou: François.

Il me semblait que c'était un Panneau d'interdiction de stationner qui s'affichait en l'absence du fichier boot.efi,
et pas un point d'interrogation.

Pour vérifier, j'ai expédié mon fichier boot.efi à la corbeille (si! si! superbe de désinvolture :D) - ce qui m'a demandé de le déverrouiller au préalable par un sudo chflags nouchg, car l'attribut d'immutabilité interdit autrement de le déplacer). J'ai éteint mon Mac et j'ai re-démarré. En fait : j'ai essayé de re-démarrer : l'EFI, pas dupe une seconde, m'a planté mon Mac en beauté d'entrée. Mais comme j'ai un intercepteur de boot = rEFInd, en fait je n'ai pas pu constater si nativement le logo signalant l'absence du Boot_Loader est un ∅ ou un ? [je reviendrais - comme disait l'autre après le désastre].

En tout cas, ça plante bel et bien (je te rassure, j'ai re-démarré illico sur un autre disque et j'ai remis le boot.efi à sa place, restauré ses accédants et remis le flag:uchg d'immutabilité - et tout est rentré dans l'ordre...).
 
Les fichiers proviennent de dossiers time machine mis à la poubelle pour dégager de l'espace. Quand je pouvais démarrer d'un OS comme Mountain Lion installé sur un autre disque avec des applications refusées par Maverick + techtool - Data ressue + Diskwarrior, j'arrivais à détruire ces boot efi prisonniers dans la poubelle.
 
JeanPierre,


malgré la devise pascalienne : «touche pas à mon boot.efi» :D, il semble que ton répertoire CoreServices soit complet (vérifie quand même au préalable que le fichier verrouillé boot.efi est présent à l'appel at : Système/Bibliothèque/CoreServices à la lettre 'b') - et donc que tu puisses sans problème te préoccuper de nettoyer ta corbeille.

Une des raisons envisageables pour laquelle tu ne peux pas les supprimer, ce doit être que ces 'doublons' sont verrouillés, comme l'original lui-même, càd. supportent l'attribut d'immutabilité (le flag:uchg). Je te propose un petit coup de «Terminal» bien tempéré qui ne saurait faire de mal mais peut te permettre de vider ta corbeille. Dans ta session admin, va à : Applications/Utilitaires et donc lance l'application «Terminal». Dans la fenêtre ouverte, fais un copier-coller directo de la commande -->

Bloc de code:
sudo chflags -R nouchg ~/.Trash

et ↩︎ (presse la touche 'Entrée' du clavier pour activer la commande) --> une demande de password s'affiche (commande préfixée sudo) --> tape ton mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef ↩︎.

☞ cette commande supprime récursivement le flag:uchg d'immutabilité sur ta corbeille de session et ses contenus. Si ton impossibilité d'évacuer tes doublons boot.efi provient de là, ça devrait le faire si tu demandes dans le Finder de vider la corbeille. Si ça ne suffit pas, tu peux toujours tenter d'enchaîner par un (attention! pas de fantaisie --> copier-coller à l'identique!) :

Bloc de code:
sudo rm -R ~/.Trash/*

et ↩︎ (dans un délai de 5' après une 1ère identification comme sudoer (substitut de root), tu n'a pas besoin de remettre ton mot-de-passe.

☞ est-ce que, par l'une ou l'autre de ces commandes, tu es venu à bout de tes fichiers doublons? Si ce n'est pas le cas, c'est qu'ils sont solidaires de ton application TimeMachine (et/ou de son disque de sauvegarde).
 
Dernière édition par un modérateur:
Pour vider une Corbeille d'éléments provenant du dossier de sauvegarde de TM, le plus simple est de forcer le vidage avec un utilitaire tiers : Onyx, TrashIt, …

On peut passer par le Terminal si on veut,
et il faut alors détruire le dossier Corbeille de la partition de sauvegarde =
Bloc de code:
sudo rm -rf /Volumes/[I]nom_du_volume_TM[/I]/.Trashes


La présence de plusieurs fichiers boot.efi s'explique peut-être par les liens symboliques dont regorge une sauvegarde TM : un lien par date de sauvegarde.
 
Ben oui, on ne bricole pas dans une sauvegarde TM!!

(si on veut "libérer de la place" -normalement TM s'arrange tout seul avec laplace- alors on va dans l'espace intergalactique et on supprime ce que l'on veut via cette interface)

5607399-8363493.jpg
 
Nous avons, semble-t-il, perdu JeanPierre, victime d'un 'trop' en matière de boot.efi («abondance de biens ne nuit pas» - :D) - c'est pourquoi je m'autorise un post-scriptum fantaisiste relatif au cas inverse : le 'trop_peu' en matière de boot.efi.

Le fichier boot.efi (at : /System/Library/CoreServices) est, pour les versions Intel d'OSX, le Boot_Loader de l'OS : le fichier 'chargeur' ou 'démarreur', dont la mission est de charger le kernel avant de lui passer la main. Ce fichier ne se lance pas tout seul au démarrage du Mac, mais il est exécuté par le Programme Interne de la Carte-Mère (l'EFI ou ROM de démarrage) après le POST (Power-On_Self-Test) sanctionné par le Chime (carillon de validation).

On a donc la séquence dont l'univocité paraît on ne peut plus satisfaisante pour l'esprit (qui, par là, peut retourner au sommeil des justes) : EFI --> boot.efi --> kernel.

Comment l'EFI trouve-t-elle le boot.efi qui est un fichier a priori 'noyé' dans l'arborescence des écritures de fichiers-Système de l'OS sur le disque, et même pas présent à la racine des écritures (= dans l'espace relevant immédiatement du point de montage logiciel / comme l'est le fichier mach_kernel du kernel)?

La doctrine reçue veut que le volume logique recelant les fichiers-Système de l'OS doit être béni ('blessed'), càd. que le chemin au dossier d'appartenance du fichier Boot_Loader : le répertoire 'CoreServices' soit renseigné dans le header (l'en-tête) du Système de fichiers de l'OS, de manière à que l'EFI, lors de la direction de son processus de lecture aux fichiers-Système, puisse le lire immédiatement et suivre le chemin au répertoire du Boot_Loader.

La séquence serait donc : EFI --> header blessed ('path') --> boot.efi --> kernel.

J'ai longtemps tenu cette séquence pour un sine qua non logique, comme dans ces enchaînements démonstratifs où la Raison est capable de suivre un cheminement déductif à condition qu'aucun maillon de manque à l'appel. Et je me figurais que l'absence de blessing (pas de renseignement du chemin au répertoire CoreServices dans le header des fichiers-Système) à elle seule pouvait couper le processus de l'EFI et planter le Mac au démarrage. Et encore davantage, le blessing en place, l'absence du fichier boot.efi dans le répertoire des CoreServices, en vertu de l'idée simple : pas de fichier 'démarreur', pas de chargement du kernel - exactement comme pour le moteur d'une voiture : pas de 'démarreur', pas de démarrage.

Eh bien! Il semble que les 'choses' dans le domaine des écritures informatiques et des processus qui y opèrent soient toujours moins univoques que la Raison (le «bon sens» cartésien) se le figure.

J'ai fait, en effet (car le «démon de la perversité» me taraude), plusieurs expériences qui ont remis en question cette sancta simplicitas du «bon sens» :D -->

  • J'ai disséminé plusieurs copies de boot.efi sur des disques dépourvus de Système démarrable attachés a priori à mon MacBook Pro : une clé USB d'une part, et d'autre part la partition hors volume OSX de mon SSD que je réserve pour le stockage de données (les fichiers boot.efi nonobstant dans l'espace-racine de ces disques de stockage) --> démarrer le Mac la touche 'alt' pressée fait déboucher sur un écran de choix d'un disque de démarrage où les disques non démarrables recelant les fichiers boot.efi sont apparemment identifiés comme des disques bootables : la clé USB et l'espace de stockage du SSD - en plus du volume de l'OS et de la Recovery, tous deux recelant un boot.efi --> le démarrage avec touche 'alt' manifestement déclenche un processus de scan de tous les disques attachés de la part de l'EFI en vue de détecter tous les boot.efi présents à l'appel - la seule présence d'un boot.efi équivalant à l'identification d'un Système-démarrable.

  • J'ai supprimé le fichier boot.efi du répertoire CoreServices de mon OS («Mavericks») et j'ai démarré avec 'alt' : le volume de mon OS n'est plus affiché comme disque de démarrage, seul celui de la Recovery s'affiche --> signe que lorsque l'option 'scan' est déclenchée, l'EFI ne se contente pas pour ce qui est du volume de l'OS d'une 'ombre' (le blessing, càd. le chemin au répertoire CoreServices toujours renseigné dans le header des fichiers-Système), mais ne tient compte que des 'proies' effectives : l'existence de fichiers boot.efi.

  • J'ai démarré sans option --> normalement, si la trajectoire de boot de l'EFI était univoque, la séquence serait rigidement : EFI --> header blessed ('path') --> boot.efi --> non-chargement du kernel --> plantage. Eh bien, non! Un boot.efi de rechange est trouvé (ce qui se montre toujours à l'écran de démarrage par l'affichage du logo ) et c'est la session de la Recovery qui se lance automatiquement sur mon Mac.

  • Sur un MacBook supportant «Léopard 10.5.8» (dépourvu d'aucun autre volume démarrable que celui de l'OS --> raison pour laquelle j'ai cherché à pousser le test plus loin sur cette machine), j'ai supprimé le fichier boot.efi des CoreServices - et par mesure de prudence également le fichier BootX destiné à lancer «Léopard» en mode PPC pour des machines pré-Intel, après quoi j'ai éteint le Mac puis je l'ai re-démarré. Ah! ce coup-ci (me susurra le «démon de la perversité» in petto) tu vas enfin réussir à planter un Mac au démarrage :D. Que nenni!. Après l'affichage ma foi longuet d'un écran gris, ne voilà-t-il pas qu'un beau logo  s'affiche? Suivi de la roue crantée giratoire par laquelle le kernel signale qu'il a bien été chargé et est en train de charger à son tour les fichiers-Système de l'OS. Voilà donc un OS «Léopard» capable de booter tranquillement sans Boot_Loader...

  • Il semble clair que le blessing est une orientation de boot dont l'échec (manque de boot.efi au bout du chemin) ne suffit nullement à bloquer l'«intiative de démarrage» de l'EFI, qui paraît capable d'«aller chercher par elle-même» de quoi charger le kernel. Quoi? Il existe à l'adresse : /usr/standalone/i386 un fichier boot.efi de rechange --> l'EFI serait donc capable non seulement de scanner l'espace_racine des disques attachés, mais de parcourir l'arborescence de fichiers-Système à la recherche d'un Boot_Loader de rechange disponible...

  • Qu'à cela ne tienne : dans mon OS «Léopard», je supprime le /usr/standalone/i386/boot.efi --> vais-je enfin réussir à planter mon Mac au démarrage? :D --> que nenni! --> après l'écran gris (qui signale l'hésitation de l'EFI :D), un logo  s'affiche imperturbablement et le kernel est chargé. Eh bien, oui, je l'avoue à ma grande honte : je n'ai pas réussi à planter l'OS «Léopard» au démarrage. Car (me susurre le «démon de la perversité»), peut-être que l'EFI se contente, faute de boot.efi, d'exécuter le cache du Boot_Loader? Si donc tu supprimais aussi ce cache - tu parviendrais (enfin! :D) à planter le démarrage? Même pas...

  • La simple invocation du binaire : bless avec un path (qui ne mène pas nécessairement à l'emplacement règlementaire : /System/Library/CoreServices) et le verbe : --bootefi suffit à générer ex nihilo un fichier de remplacement boot.efi exécutable par l'EFI pour le chargement du kernel. Pourquoi pas alors un fichier_temporaire sui generis? Ce n'est pas pour rien, semble-t-il, que l'EFI est l'acronyme de : Extensible_Firmware_Interface : les instructions dont les ingénieurs de la Pomme implémentent leurs programmes n'ont manifestement rien de l'univocité_mécanique à laquelle le «bon sens» aimerait bien pouvoir réduire leurs fonctions, au point que ces programmes manifestent une 'capacité d'initiative'.

☞ je ressors de ces manipulations dirigées par le «démon de la perversité» confronté à une énigme : comment s'y prennent donc les plaignants des forums pour parvenir à planter leur Mac au démarrage? :D
 
Dernière édition par un modérateur:
Je fais remonter la discussion.
Pas taper! J'ai le même problème: j'ai transféré des vieilles sauvegardes Timemachine (de mon ancien MacBook blanc que je voulais vider) sur un autre disque dur externe, mais pour le faire j'ai du les faire passer d'abord par le disque dur interne de mon MacBookPro (10.7.3). Quand j'ai voulu mettre le fichier Backup.backup à la poubelle impossible de la vider complètement (il me reste 5 dossiers datés avec chacun un boot.efi)...
Jai bien vérifié dans le dossier Système et j'ai bien un boot.efi au bon emplacement.
Bon, j'avoue que les dernières explications postées me dépassent. Qu'est ce que je peux faire? Sachant quevous l'aurez remarqué, vu la manip que j'ai été capable de faire pour me retrouver dans cette situation, je ne suis pas une pro...
D'avance merci
 
Le plus simple est de forcer le vidage de la Corbeille avec un des nombreux utilitaires qui savent le faire : Onyx, TrashIt, etc.