10.15 Catalina Fichiers en lecture seule ou protégé ou mode de compatiblité après etre passé de Moajave à Catalina

Je suis sur Big Sur macOS 11.
Comment ça on ne peut pas modifier le fichier système ???
Doc Apple :
macOS Catalina s’exécute à partir d’un volume système en lecture seule dédié, nommé Macintosh HD. Ce volume est totalement séparé de toutes les autres données pour éviter d’écraser accidentellement des fichiers essentiels au système d’exploitation. Vos fichiers et données sont stockés sur un autre volume nommé Macintosh HD - Données. Dans le Finder, les deux volumes apparaissent sous l’intitulé « Macintosh HD ».

Tu peux ensuite lire ceci pour découvrir ce qui est venu en plus depuis Big Sur :
 
pardon ma signature n'est pas à jour je vais la modifier de ce pas. Je suis sur Big Sur macOS 11. Comment ça on ne peut pas modifier le fichier système ???
On peut mais c'est plus compliqué. Le disque système est monté en lecture seule. Il faut le monter en lecture écriture, le modifier puis créer un instantané de mise à jour.

Si tu fais un diskutil list dans Terminal, tu vois sous la ligne correspondant au volume système un snapshot s'intitulant com.apple.os.update... C'est sur cet instantané que le système démarre, et il correspond à la dernière mise à jour système.

En créant un nouvel instantané (snapshot en anglais), tu démarreras sur un nouveau snapshot, qui cette fois s'intitulera com.apple.bless...
 
  • J’aime
Réactions: baron
voici une discussion sur le sujet mais en anglais.

J'ai essayé cette technique mais ça change seulement le login screen individuel (une fois qu'on clique sur son icône pour entrer le mot de passe), pas le fond d'écran général au démarrage avec plusieurs utilisateurs !

On peut mais c'est plus compliqué. Le disque système est monté en lecture seule. Il faut le monter en lecture écriture, le modifier puis créer un instantané de mise à jour.

Si tu fais un diskutil list dans Terminal, tu vois sous la ligne correspondant au volume système un snapshot s'intitulant com.apple.os.update... C'est sur cet instantané que le système démarre, et il correspond à la dernière mise à jour système.

En créant un nouvel instantané (snapshot en anglais), tu démarreras sur un nouveau snapshot, qui cette fois s'intitulera com.apple.bless...
Pas bête comme idée n'empêche ! ;-) Ça explique que je ne puisse pas le modifier même en tentant de modifier les autorisations.

Comment faire alors pour démarrer en lecture/écriture comme tu dis ?

Voici ce que me dit diskutil :
6: APFS Snapshot ⁨com.apple.os.update-...⁩ 22.2 GB disk1s5s1
 
Doc Apple :


Tu peux ensuite lire ceci pour découvrir ce qui est venu en plus depuis Big Sur :
C'est vrai que j'en ai fait des bourdes avec macos 9 (ou avant ?) et au début de mac os x en tentant de réduire l'espace disque pris par des trucs qui "ne servaient à rien" !!!! Je me suis retrouvé à ne plus pouvoir redémarrer des ordis qui ne m'appartenaient pas et que j'avais bidouillés… le cauchemar !!!! La disquette avec un point d'interrogation au démarrage……… hummm... Et c'est aussi comme ça qu'on apprend.
 
  • Haha
Réactions: baron
Comment faire alors pour démarrer en lecture/écriture comme tu dis ?

Voici ce que me dit diskutil :
6: APFS Snapshot ⁨com.apple.os.update-...⁩ 22.2 GB disk1s5s1
Ça se passe dans Terminal. Si ton dd système est toujours en disk1s5, tu crées d'abord un dossier vide dans le dossier Téléchargements par exemple, que tu appelles mettons BS. Ensuite tu passes la commande :
Bloc de code:
sudo mount -o nobrowse -t apfs /dev/disk1s5 ~/Downloads/BS
Un mot de passe te sera demandé, celui de ta session, dans Terminal il ne s'affiche pas c'est normal. Tu vas te retrouver avec l'icône de ton disque dans le dossier Téléchargements, et là tu pourras faire toutes les modifications que tu veux.

Une fois que tu as fini tes modifs, il faut les valider par un bless qui va créer un nouveau snapshot qui se substituera après redémarrage au snapshot com.apple.os.update...

Bloc de code:
sudo bless --folder ~/Downloads/BS/System/Library/CoreServices/ --bootefi --create-snapshot
Il n'y a plus qu'à redémarrer pour démarrer sur le niveau snapshot.
 
Ça se passe dans Terminal. Si ton dd système est toujours en disk1s5, tu crées d'abord un dossier vide dans le dossier Téléchargements par exemple, que tu appelles mettons BS. Ensuite tu passes la commande :
Bloc de code:
sudo mount -o nobrowse -t apfs /dev/disk1s5 ~/Downloads/BS
Un mot de passe te sera demandé, celui de ta session, dans Terminal il ne s'affiche pas c'est normal. Tu vas te retrouver avec l'icône de ton disque dans le dossier Téléchargements, et là tu pourras faire toutes les modifications que tu veux.

Une fois que tu as fini tes modifs, il faut les valider par un bless qui va créer un nouveau snapshot qui se substituera après redémarrage au snapshot com.apple.os.update...

Bloc de code:
sudo bless --folder ~/Downloads/BS/System/Library/CoreServices/ --bootefi --create-snapshot
Il n'y a plus qu'à redémarrer pour démarrer sur le niveau snapshot.
Hé ben ! Ça me semble complètement surréaliste mais j'ai essayé (avec le nom du disque ………update) et ça donne ça :

Bloc de code:
macoupc@MBA ~ % sudo mount -o nobrowse -t apfs /dev/disk1s5s1 ~/Downloads/BS
mount_apfs: volume could not be mounted: Resource busy
mount: /Users/macoupc/Downloads/BS failed with 75
 
Hé ben ! Ça me semble complètement surréaliste mais j'ai essayé (avec le nom du disque ………update) et ça donne ça :

Bloc de code:
macoupc@MBA ~ % sudo mount -o nobrowse -t apfs /dev/disk1s5s1 ~/Downloads/BS
mount_apfs: volume could not be mounted: Resource busy
mount: /Users/macoupc/Downloads/BS failed with 75
Normal, tu as mis disk1s5s1 au lieu de disk1s5. Il ne faut pas mettre le snapshot, mais la partition à laquelle il est associé.
 
Normal, tu as mis disk1s5s1 au lieu de disk1s5. Il ne faut pas mettre le snapshot, mais la partition à laquelle il est associé.
Ok merci, je crois que ça faisait la même chose avec disk1s5 (j’avais copié-collé ton code). Il faut faire cette opération en démarrant d’une façon particulière (booter sur une clef ?) ou rien de spécial ?
 
Ok merci, je crois que ça faisait la même chose avec disk1s5 (j’avais copié-collé ton code). Il faut faire cette opération en démarrant d’une façon particulière (booter sur une clef ?) ou rien de spécial ?
Non, rien de spécial à faire. Il faudrait faire un df dans Terminal pour voir tous les devices montés. disk1s5s1 sera monté c'est sûr, mais disk1s5 ne devrait pas apparaître dans la liste. S'il apparaît il faudra l'éjecter au préalable dans Utilitaire de disque.

L'erreur resource busy c'est quand le device n'est pas disponible, parce qu'il est monté. Et d'ailleurs s'il est monté tu devrais avoir deux icônes du disque système sur le bureau, au lieu d'une.

edit : autre explication, le SIP est activé chez toi, et empêche l'opération. Si c'est ça il faudra désactiver le SIP en démarrant sur la partition de récupération, et en tapant la commande :
CSS:
csrutil disable

Pour savoir si le SIP est activé :
Bloc de code:
csrutil status
 
Dernière édition:
Non, rien de spécial à faire. Il faudrait faire un df dans Terminal pour voir tous les devices montés. disk1s5s1 sera monté c'est sûr, mais disk1s5 ne devrait pas apparaître dans la liste. S'il apparaît il faudra l'éjecter au préalable dans Utilitaire de disque.

L'erreur resource busy c'est quand le device n'est pas disponible, parce qu'il est monté. Et d'ailleurs s'il est monté tu devrais avoir deux icônes du disque système sur le bureau, au lieu d'une.

edit : autre explication, le SIP est activé chez toi, et empêche l'opération. Si c'est ça il faudra désactiver le SIP en démarrant sur la partition de récupération, et en tapant la commande :
CSS:
csrutil disable

Pour savoir si le SIP est activé :
Bloc de code:
csrutil status
Ok je regarde et te dis, normalement le SIP est désactivé. Merci pour ton aide
 
Désolé j'ai l'impression d'être un boulet, à chaque nouvelle étape un nouvel écueil… et une nouvelle question.

D'abord le SIP est bien désactivé.

Dans Utilitaires de Disque j'ai :
  • "Macintosh HD" (= disk1s5) qui contient le snapshot (=disk1s5s1) > quand je clique sur "démonter" il me dit "Impossible de démonter « Macintosh HD » car il est actuellement utilisé." GRRRR
  • "Macintosh HD - Données" (= disk1s1) > impossible à démonter, bouton grisé.

AH mais je ne suis pas connecté sur la session ROOT… fallait ?

Voici ce que me dit la commande "df" :

Bloc de code:
macoupc@MBA ~ % df
Filesystem     512-blocks      Used Available Capacity iused      ifree %iused  Mounted on
/dev/disk1s5s1  489825072  43447088  87648872    34%  553696 2448571664    0%   /
devfs                 376       376         0   100%     651          0  100%   /dev
/dev/disk1s4    489825072   4196488  87648872     5%       5 2449125355    0%   /System/Volumes/VM
/dev/disk1s2    489825072   1006944  87648872     2%    2745 2449122615    0%   /System/Volumes/Preboot
/dev/disk1s6    489825072    230800  87648872     1%     396 2449124964    0%   /System/Volumes/Update
/dev/disk1s1    489825072 350795008  87648872    81% 1257038 2447868322    0%   /System/Volumes/Data
map auto_home           0         0         0   100%       0          0  100%   /System/Volumes/Data/home
/dev/disk1s5    489825072  43447088  87648872    34%  553724 2448571636    0%   /System/Volumes/Update/mnt1
 
Bizarre, chez moi disk1s5 n'est pas monté mais je n'ai pas le même système que toi, je suis sur Monterey. Je n'ai pas beaucoup utilisé Big Sur, je suis passé très vite à Monterey. Peut-être la logique est-elle différente entre les deux systèmes.

Ce que je te propose, c'est de tenter un
Bloc de code:
sudo diskutil unmount disk1s5
sans trop y croire parce que s'il est monté ce n'est pas par hasard.

En ce qui concerne ta question, est-ce je dois me connecter sur la session ROOT, non ce n'est pas nécessaire, le sudo permet d'avoir les droits root. Peut-être qu'utilitaire de disque n'a pas pu démonter le volume parce qu'il n'a pas les droits root, mais là comme tu fais un sudo tu as plus de chances.

Si ça ne marche pas, et si tu veux absolument modifier le dossier système, il faudra le faire en mode récupération, je ne vois que ça.

Une chose aussi que j'ai oublié de te dire, c'est que pour pour pouvoir créer un nouveau snapshot et démarrer dessus, il faudra aussi s'assurer que l'authenticated-root est également désactivé. Tu peux déjà le savoir en faisant un
Bloc de code:
csrutil authenticated-root status
S'il n'est pas disable, il faudra le désactiver en démarrant en mode restauration avec un
Bloc de code:
csrutil authenticated-root disable

edit : j'ai oublié un truc, tu pourrais essayer de remonter la partition système en lecture-écriture sans la démonter, c'est ce que je faisais avec Catalina. Ça pourrait marcher
Bloc de code:
sudo mount -uw /
Faire ensuite un
Bloc de code:
killall Finder
ceci pour relancer le Finder. Si Big Sur fonctionne comme Catalina, pas besoin de créer de snapshot, on modifie le système directement.
 
Dernière édition:
Bonjour !

Alors voici mes essais du jour :
Bizarre, chez moi disk1s5 n'est pas monté mais je n'ai pas le même système que toi, je suis sur Monterey. Je n'ai pas beaucoup utilisé Big Sur, je suis passé très vite à Monterey. Peut-être la logique est-elle différente entre les deux systèmes.

Ce que je te propose, c'est de tenter un
Bloc de code:
sudo diskutil unmount disk1s5
sans trop y croire parce que s'il est monté ce n'est pas par hasard.
macoupc@MBA ~ % sudo diskutil unmount disk1s5
Volume Macintosh HD on disk1s5
unmounted
donc je dirais que ça marche !
En ce qui concerne ta question, est-ce je dois me connecter sur la session ROOT, non ce n'est pas nécessaire, le sudo permet d'avoir les droits root. Peut-être qu'utilitaire de disque n'a pas pu démonter le volume parce qu'il n'a pas les droits root, mais là comme tu fais un sudo tu as plus de chances.

Si ça ne marche pas, et si tu veux absolument modifier le dossier système, il faudra le faire en mode récupération, je ne vois que ça.

Une chose aussi que j'ai oublié de te dire, c'est que pour pour pouvoir créer un nouveau snapshot et démarrer dessus, il faudra aussi s'assurer que l'authenticated-root est également désactivé. Tu peux déjà le savoir en faisant un
Bloc de code:
csrutil authenticated-root status
S'il n'est pas disable, il faudra le désactiver en démarrant en mode restauration avec un
Bloc de code:
csrutil authenticated-root disable
macoupc@MBA ~ % csrutil authenticated-root status
Authenticated Root status:
enabled
donc faut que je le désactive
j'ai réussi à modifier le fichier que je souhaitais (tout ça pour ça !!! mais bon c'est pour jouer aussi) qui est ici du coup dans le dossier que tu m'as fait créer (le lockscreen général pour tous les utilisateurs : /Users/macoupc/Downloads/BS/System/Library/PrivateFrameworks/SystemDesktopAppearance.framework/Versions/A/Resources/DefaultBackground.jpg
effectivement quand je tente de créer un nouveau bless il me dit que je n'ai pas les autorisations.
macoupc@MBA ~ % sudo bless --folder ~/Downloads/BS/System/Library/CoreServices/ --bootefi --create-snapshot
Password:
Couldn't create snapshot on volume /Users/yoann/Downloads/BS: Operation not permitted


Je vais redémarrer pour désactiver l'authenticated-root :p, en espérant que je ne doive pas de nouveau remplacer le fichier ???
edit : j'ai oublié un truc, tu pourrais essayer de remonter la partition système en lecture-écriture sans la démonter, c'est ce que je faisais avec Catalina. Ça pourrait marcher
Bloc de code:
sudo mount -uw /
Faire ensuite un
Bloc de code:
killall Finder
ceci pour relancer le Finder. Si Big Sur fonctionne comme Catalina, pas besoin de créer de snapshot, on modifie le système directement.
mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

> ça ça ne marche pas. Mais j'ai toujours l'authenticated-root activé…
 
Euh… j’écris depuis mon téléphone. Mon ordi ne redémarre plus en enchaînant les Kernel Panic ! :hungover: Oups j’ai envie de dire !
 
En redémarrant avec command+R et en lançant un SOS il me dit « warning: snapshot fsroot/file rooling tree corruptions are not repaired; they´ll go away once the snapshot is deleted » ça me rend plutôt optimiste bizarrement mais comment accéder au snapshot (que je viens de créer peut-être ?) pour l’effacer ?
J’aurais pas dû lancer la création d’un snapshot sans bless à la fin je crois…
 
C'est possible que l'erreur vienne du fait que tu n'as pas pu créer de snapshot après avoir modifié le dossier Système, du coup le snapshot com.apple.os.update..., toujours actif, n'est plus en phase avec ton système.

Ce snapshot-là tu ne peux pas le supprimer.

Avant toute chose, désactiver l'authenticated-root
Bloc de code:
csrutil authenticated-root disable

Ensuite, créer un nouveau snapshot à partir du mode récupération. Pour cela, il faut d'abord monter ton disque système en lecture écriture. Supposons que ton disque système s'appelle Macintosh HD (ce qui est généralement le cas, sauf si on modifie le nom).

Dans Terminal, tu fais
Bloc de code:
mount -uw /Volumes/Macinstosh\ HD
Ensuite, tu crées le nouveau snapshot
Bloc de code:
bless --folder /Volumes/Macintosh\ HD/System/Library/CoreServices/ --bootefi --create-snapshot
 
Merci pour les infos, j’ai réinstallé BIGSUR du coup (j’avais une sauvegarde Time Machine pas trop vieille… on va voir pour les logiciels :-( ) mais je compte bien réessayer la manip et je crois que ça peut marcher si je fais dans le bon ordre…
 
  • J’aime
Réactions: sinbad21
Ça y est j'ai récupéré l'accès à mon ordi, génial comme idée de séparer le système et les données !!!
Je vais pouvoir réessayer de bidouiller le système pour avoir un écran noir en fond d'écran au démarrage (sic).
 
J'ai refait la démarche dans le bon ordre… je peux récapituler si ça intéresse quelqu'un…

Ça semble fonctionner, au moment de créer le snapshot il demande le mot de passe… normal… ça met un tout petit peu de temps et ça me redonne la main dans le Terminal.
Je relance le Finder mais le volume "Macintosh HD" dans Téléchargements est toujours là… je n'ose plus redémarrer du coup.

Faut-il que j'éjecte Macintosh HD ou quelque chose comme ça ? :cat: