MacBook Air Partition invisible, Bootcamp

Bloc de code:
iMac-de-mac:~ mac$ diskutil eraseVolume free null disk0s3 ; diskutil resizeVolume disk0s2 0b ; diskutil list
Started erase on disk0s3 OS X Base System
Unmounting disk
Finished erase on disk0
Resizing to full size (fit to fill)
Started partitioning on disk0s2 Macintosh
Verifying the disk
Verifying file system
Using live mode
Performing live verification
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking volume bitmap
Checking volume information
The volume Macintosh  appears to be OK
File system check exit code is 0
Resizing
Finished partitioning on disk0s2 Macintosh
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh               69.7 GB    disk0s2
   3:                  Apple_HFS Recovery HD             650.0 MB   disk0s4
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh               69.7 GB    disk0s2
   3:                  Apple_HFS Recovery HD             650.0 MB   disk0s4

Bon je te l'avoue niveau compréhension la, j'ai lâché...
 
Bon. La partition de secours endommagée est revenue se coller sous la partition principale Macintosh.

- on s'occupe à présent d'en refaire un partition de secours valide. Ensuite on récupérera l'espace-disque manquant.​

Repasse la commande :
Bloc de code:
ls -R /Vol*/Reco*

  • qui liste récursivement les contenus du volume Recovery HD (s'il est bien monté automatiquement)

Poste le retour.
 
Bloc de code:
iMac-de-mac:~ mac$ ls -R /Vol*/Reco*
com.apple.recovery.boot

/Volumes/Recovery HD/com.apple.recovery.boot:
BaseSystem.chunklist    SystemVersion.plist    prelinkedkernel
BaseSystem.dmg        boot.efi
PlatformSupport.plist    com.apple.Boot.plist
iMac-de-mac:~ mac$
 
On va supprimer l'image-disque BaseSystem.dmg corrompue et la remplacer par une copie de la valide que tu as téléchargée.

- passe la commande (copier-coller) :​
Bloc de code:
sudo rm -rf /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg ; ls -R /Vol*/Reco*

  • qui supprime l'image-disque corrompue du volume Recovery HD (la commande de suppression ne supporte pas les abréviations) > puis reliste les contenus de Recovery HD

Poste le retour.
 
Bloc de code:
iMac-de-mac:~ mac$ sudo rm -rf /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg ; ls -R /Vol*/Reco*
Password:
com.apple.recovery.boot

/Volumes/Recovery HD/com.apple.recovery.boot:
BaseSystem.chunklist    SystemVersion.plist    com.apple.Boot.plist
PlatformSupport.plist    boot.efi        prelinkedkernel
 
Image-disque bien supprimée. Passe la commande :
Bloc de code:
sudo cp -av ~/Downloads/BaseSystem.dmg /Volumes/"Recovery HD"/com.apple.recovery.boot ; ls -R /Vol*/Reco*

  • la commande crée une copie de l'image-disque BaseSystem.dmg valide => dans le dossier com.apple.recovery.boot du volume Macintosh HD > puis reliste les contenus de Recovery HD

Poste le retour.
 
Bloc de code:
iMac-de-mac:~ mac$ sudo cp -av ~/Downloads/BaseSystem.dmg /Volumes/"Recovery HD"/com.apple.recovery.boot ; ls -R /Vol*/Reco*
Password:
/Users/mac/Downloads/BaseSystem.dmg -> /Volumes/Recovery HD/com.apple.recovery.boot/BaseSystem.dmg
com.apple.recovery.boot

/Volumes/Recovery HD/com.apple.recovery.boot:
BaseSystem.chunklist    SystemVersion.plist    prelinkedkernel
BaseSystem.dmg        boot.efi
PlatformSupport.plist    com.apple.Boot.plist
Et voilà
 
Copie créée. On fignole :

- passe la commande :​
Bloc de code:
sudo chown 0:0 /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg

  • la commande rétablit les autorisations de l'image-disque BaseSystem.dmg copiée à : user=root & primary group=wheel. Commande muette si elle passe.

=> est-ce que ça a été le cas ?
 
Bloc de code:
iMac-de-mac:~ mac$ sudo chown 0:0 /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg
iMac-de-mac:~ mac$
Commande muette apparemment. C'est passée !!!
 
Bien --> on va dire que le volume de secours est restauré dans ses composants.

- à présent --> il s'agit de restaurer le faux type de partition : "Apple_HFS' => à "Apple_Boot" (SIP désactivé requis).​

Passe d'abord la commande :
Bloc de code:
diskutil umount force disk0s4

  • qui démonte le volume Recovery HD

Poste le retour.
 
Volume démonté (démontage requis pour la commande qui suit de changement de type de la partition). Passe la commande :
Bloc de code:
sudo asr adjust --t /dev/disk0s4 --settype "Apple_Boot" ; diskutil mount disk0s4 ; diskutil list

  • la commande change le type de la partition de secours au type requis : "Apple_Boot" (par une option non documentée de l'exécutable asr = apple_software_restore) > remonte le volume Recovery HD pour forcer le kernel (noyau de l'OS démarré) à prendre en charge le nouveau type de la partition > réaffiche le tableau des disques

Poste le retour complet.
 
Bloc de code:
iMac-de-mac:~ mac$ sudo asr adjust --t /dev/disk0s4 --settype "Apple_Boot" ; diskutil mount disk0s4 ; diskutil list
Password:
Fsck /dev/disk0s4 ....10....20....30....40....50....60....70....80....90....100
Adjust completed successfully
Volume Recovery HD on disk0s4 mounted
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh               69.7 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s4


Youpi !!! Heureusement que tu es là !
 
Victoire ! -->
Bloc de code:
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s4

  • la partition de secours a récupéré le type requis : "Apple_Boot". Ce type de partition : "Apple_boot" induit 2 sortes d'effets --> il empêche le kernel de monter automatiquement le volume Recovery HD pour la session de l'utilisateur. Et (ce qui va nous importer ici) => il désigne la partition de type : "Apple_Boot" comme ayant la nature d'un « booter » (prédémarreur) => ce qui permet son déplacement sur les blocs --> afin de pouvoir récupérer de l'espace libre situé en-dessous de la partition de secours (en queue de disque) => à la partition Macintosh située en-dessus.

Passe la commande :
Bloc de code:
diskutil umount force disk0s4 ; diskutil resizeVolume disk0s2 0b ; diskutil list

  • la commande redémonte le volume Recovery HD (requis pour une récupération d'espace) > récupère l'espace libre de queue de disque => à la partition Macintosh (avec opération complexe de déplacement du « booter » sur les blocs pour permettre cette récupération) > réaffiche le tableau des disques.

Poste le retour complet.
 
Bloc de code:
iMac-de-mac:~ mac$ diskutil umount force disk0s4 ; diskutil resizeVolume disk0s2 0b ; diskutil list
Volume Recovery HD on disk0s4 force-unmounted
Resizing to full size (fit to fill)
Started partitioning on disk0s2 Macintosh
Verifying the disk
Verifying file system
Using live mode
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume Macintosh  appears to be OK
File system check exit code is 0
Resizing
Waiting for the disks to reappear
Finished partitioning on disk0s2 Macintosh
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh               119.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh               119.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3


YES !!!!
 
Problème résolu -->
Bloc de code:
   2:                  Apple_HFS Macintosh               119.0 GB   disk0s2

  • Macintosh a retrouvé une taille de 119 Go. L'espace-disque manquant (des 120 Go de capacité toale du disque) étant alloué aux 2 partitions auxiliaires qui encadrent la partition de l'OS : la partition EFI (dédiée au programme de boot primaire du Mac) & la partition Recovery HD (recelant l'OS de secours).
 
Ton problème de récupérer l'espace d'une partition BOOTCAMP supprimée en queue de disque était compliqué à régler car -->

- l'image-disque BaseSystem.dmg contenant l'OS de secours (hébergée dans le volume Recovery HD) était corrompue => ce qui empêchait de démarrer en mode secours.​
- la partition de secours avait un faux type : "Apple_HFS" (au lieu de : "Apple_Boot") => ce qui empêchait qu'elle soit déplaçable sur les blocs pour récupérer de l'espace libre situé en-dessous d'elle --> à la partition Macintosh située en-dessus d'elle.​
- le SIP était activé => ce qui proscrivait un changement du type de la partition de secours > et il ne pouvait pas être désactivé par un démarrage de secours valide.​
 
  • J’adore
Réactions: LeonSmourf