Mon histoire avec la partition de restauration cachée du Performa 550

Petite question : quel est le premier OS qui permet une restauration depuis une partition dédiée sans devoir sortir les médias d’installation ? Si vous avez répondu Mac OS X Lion, vous aveez perdu. C’est nettement plus vieux, avec le System 7.1 sur le Macintosh Performa 550 (oui, le titre donne la réponse).

Quand les vacances arrivent, généralement, je sors les vieux brouillons du site et celui-ci était là depuis un moment (je vous préviens, c’est long). L’idée du sujet vient d’un extrait d’un livre sur les secrets des Mac, dont voici l’extrait (copié avec la super technologie de reconnaissance de textes de macOS).

MACINTOSH SECRET: THE LC 550’S SECRET PARTITION
If Apple’s programmers, in creating the Performa series, were aiming to make idiot-proof computers, they were serious about it. The Performa 550 is an amazing case in point. When you run the included Apple Backup program (…) you get a little surprise that you didn’t count on: a hidden partition on your hard drive ! This invisible chunk of hard drive space contains a miniature, invisible System Folder. Apples internal memo explains it this way : « When a system problem (one that prevents the Performa from booting) is detected, a [dialog box] informs the user of a system problem. The user can choose to fix the problem manually or to reinstall software from the backup partition’s Mini System Folder. ».

If you choose to reinstall your System software, you get the wristwatch cursor for a moment while the miniature System Folder is silently copied to your main hard-drive partition. The Performa restarts from the restored hard drive, and the invisible system partition disappears once again. We got a Performa team member to admit that this kind of sneaky save-the-users-from-themselves approach may well be adopted in other Performa models. Who knows what goodness lurks in the hearts of men ?

Au départ, je comptais choisir la facilité : trouver un Performa 550. Mais ce Mac monobloc assez moche se vend (très) cher, est encombrant et utilise un écran cathodique. Et franchement, j’ai moyennement confiance dans les services de transport pour ça.

J’ai donc commencé par essayer de trouver des informations sur cette fonction. Sur le Net, rien. Mais dans mes archives, j’ai retrouvé le mémo cité.

Performa 550: Description of Backup Partition (3/94)
What is the Backup Partition on the Performa 550 ?
The Apple Backup application creates a backup recovery partition that allows the Performa to boot even when the System Software on the main hard drive has been corrupted. The partition is invisible to the user.

When a system problem (one that prevents the Performa from booting) is detected, a dialog is displayed that informs the user of a system problem. The user can choose to fix the problem manually or to reinstall software from the backup partition’s Mini System Folder. If the user chooses to install software from the Mini System Folder, the cursor becomes a watch, the hard disk spins for a brief time, the Mini System Folder is copied to the main volume and the system restarts booting from the main volume. The backup is then reset to invisible. The user can then copy the System, Finder and System Enabler to the main System Folder.

There is no built-in limit to the number of times the backup partition can be used. However, the partition will be lost if the hard drive is re-formatted. At this time the backup partition is used only on the Performa 550.

Je n’ai rien appris de nouveau, mais au moins j’avais une confirmation. Pour l’étape suivante, j’ai donc cherché les disques de restauration de la machine en question. Ce n’est pas si évident, mais avec l’aide de Doug (de cet excellent site) j’ai trouvé des disquettes de restauration (enfin, des copies) et des CD. Le System 7.1 se trouve sur cette page (PERF500_71P6.ZIP) et le System 7.5 sur celle-ci (PERF500CD_75.ZIP).

Pour commencer, j’ai vérifié comment se passait la restauration, et elle se base sur le programme de backup d’Apple à l’époque, Apple Backup ou Apple Restore, selon les cas. J’ai donc cherché comment voir le contenu des données de restauration, et je suis tombé sur le site… de Doug. Oui, je tourne un peu en rond. Cette page explique à peu près le format et la logique. Ensuite, j’ai voulu tenter la restauration dans un émulateur, et c’était une erreur.

Si vous avez déjà essayé d’émuler un Macintosh à base de 68K, vous connaissez probablement Basilisk II et éventuellement Mini vMac. Mais le problème c’est que le second n’est pas adapté à mon cas (il vise plutôt les premiers Mac), et que le premier ne l’est pas totalement non plus. Comment ça, « pas totalement » ? Le problème de Basilisk II est qu’il n’émule pas totalement les Mac : il y a certaines choses que l’émulateur fait en interne qui ne correspondent pas au fonctionnement d’origine d’un Mac. C’est expliqué sur cette page, mais pour faire court Basilisk II n’émule pas réellement un disque dur SCSI, et le programme d’Apple a besoin d’un disque dur SCSI avec un ID précis (0). Qui plus est, Basilisk II ne permet pas d’émuler un Mac en particulier facilement, et le disque de démarrage du Performa, lui, nécessite quelques Mac précis. De façon plus concrète, ça ne fonctionne absolument pas pour restaurer le système avec Basilisk II, sauf en patchant. Parce qu’une personne du nom de… Doug (oui, encore) a publié il y a de nombreuses années un sujet de forum qui expliquait comment patcher le programme d’Apple pour qu’il ne vérifie pas la présence d’un disque dur SCSI avec l’ID 0. En pratique, je n’ai pas réussi à le faire parce que mon CD de restauration n’a jamais voulu démarrer avec Basilisk II, mais il fallait tout de même en parler.

Il faut démarrer du CD

Ce que je pensais être la solution, c’est SoftMac XP. Il s’agit d’un émulateur de Macintosh (68K) qui fonctionne sous Windows. Il était payant à l’origine mais il est gratuit depuis quelques années maintenant. J’ai donc sorti une machine virtuelle Windows XP et je suis parti sur les disquettes de restauration. La bonne nouvelle, dans un sens, c’est que ça fonctionne à peu près : j’ai pu démarrer depuis les disquettes, formater mon disque dur virtuel correctement et tenter de restaurer l’OS. Et avec le System 7.1, j’ai bien vu que l’outil d’Apple (Apple HD SC Setup) créait une partition cachée de type Apple_Recovery. Mais j’ai eu deux problèmes. Le premier, c’est que je n’ai pas réussi à démarrer sur le système restauré. Le second, c’est que la partition en question était vide. Je ne vais pas détailler mes essais, mais pour vous donner une idée, en vrac : j’ai créé une dizaines d’images disque, essayé d’ajouter les System Enabler, fait le disc jockey avec des disquettes virtuelles – ce qui est aussi énervant qu’avec des vraies, l’émulateur n’est pas vraiment adapté à cet usage -, etc. Le truc le plus énervant a été quand j’ai voulu transférer le contenu du CD sur des disquettes virtuelles, d’ailleurs. Sur le CD, les données de restauration sont découpées en fichiers de 1,44 Mo, pour un usage avec des disquettes. J’ai donc allumé un vrai Mac, copié les données manuellement sur des images disques placées dans un Floppy Emu, en renommant les fichiers à la main. Et pour rappel, un Floppy Emu fonctionne à la même vitesse qu’un véritable lecteur de disquettes (c’est-à-dire lentement). La raison de ce cirque ? Je n’avais pas de programmes qui permettait de monter correctement les images disques pour copier les fichiers correctement depuis un ordinateur à peu près moderne. Et tout ça… pour rien.

Avec SoftMac XP, j’ai vu que la partition était là

Le passage sur un vrai Mac

Mais en regardant les System Enabler présents sur les disquettes et CD de démarrage – un System Enabler, en simplifiant, est un fichier qui contient le nécessaire pour démarrer sur un Mac précis -, j’ai remarqué que le 308 était de la partie. Et le 308, c’est le System Enabler du Performa 450. J’ai donc sorti mon Mac, un lecteur de CD-ROM externe et j’ai gravé l’ISO du System 7.1… pour me retrouver avec ce message. Pas de chance, ça ne fonctionne pas. J’ai aussi d’ailleurs tenté de lancer le processus de restauration depuis un OS déjà installé, mais le programme demande malheureusement de démarrer du CD (cf. l’image plus haut).

Impossible de démarrer du CD avec le System 7.1

J’ai donc tenté avec le CD de restauration en 7.5 et bingo, ça a démarré. Mais je n’étais pas au bout de mes peines (oui, c’est long). Au départ, je voulais restaurer sur une carte BlueSCSI, mais je suis tombé sur un OS (vous l’avez ?) : l’outil de formatage d’Apple, Apple HD SC Setup, ne fonctionne qu’avec des disques Apple. Enfin, plus exactement, il vérifie les paramètres du disque dur (son nom, etc.) dans une liste assez restreinte. La solution classique avec un BlueSCSI est de passer par un utilitaire patché, mais dans mon cas, j’avais besoin de l’utilitaire d’origine étant donné qu’il s’agit d’une version spécifique qui ajoute la partition de restauration. J’ai donc mis mon SCSI2SD et là aussi, ça a bloqué. La première fois parce que mon adaptateur était réglé sur l’ID SCSI 5, et que le programme attend l’ID 0 (c’est trivial à changer avec un utilitaire). Et la seconde fois pour une raison similaire au SCSI2SD : le nom du disque. Quand j’ai installé mon SCSI2SD, j’avais mis le nom d’un disque dur Seagate qui est reconnu nativement par les outils d’Apple, mais de façon très stricte : il s’agit d’un disque dur de 20 Mo et l’outil le formate donc avec une capacité de 20 Mo. Et le problème, c’est que je devais restaurer plus que 20 Mo. La première fois, je ne m’en suis pas rendu compte, et l’outil d’Apple a commencé à donner des erreurs lors de la restauration… J’ai donc cherché s’il existait d’autres disques durs compatibles, mais même en utilisant les données de cette page, impossible : il n’était pas reconnu proprement. J’ai donc installé un véritable disque dur.

Le CD de System 7.5 démarre


Le programme se lance…


…mais ne voit pas de disque dur


Mais il a besoin d’un disque dur SCSI avec l’ID 0

Enfin, disons que j’ai essayé. Le premier disque dur ne fonctionnait plus (il était vieux). Le second a fonctionné, mais sa capacité (40 Mo) était trop faible. Le troisième, un modèle 2,5 pouces issu d’un PowerBook, avait une capacité suffisante et était reconnu… mais n’a pas voulu être initialisé. Et enfin, j’ai trouvé un disque dur avec la bonne capacité (230 Mo), reconnu par l’utilitaire et utilisable. Mais ce n’est pas fini. J’ai donc démarré sur le disque de restauration en System 7.5, formaté le disque et restauré les données. Et je n’ai pas trouvé de partition de restauration. #FAIL.

Quelques « disques durs » pour les essais


Le montage très sale.

Mais je ne me suis pas arrêté là. J’ai sorti un second lecteur de CD externe (et j’ai du changer le lecteur lui-même, d’ailleurs, mon modèle à caddy(tm) n’a pas voulu dire mon CD-R) et tenté un truc qui a fonctionné. J’ai en effet démarré sur le CD de restauration en 7.5, inséré le second CD (en 7.1) et lancé la restauration (et le formatage) depuis le disque en System 7.1. Le montage est moche, mais ça a fonctionné et l’outil a accepté de se lancer. Il a bien créé la partition de restauration, remis les données en place et l’ordinateur a démarré.

Deux CD-ROM en même temps.


Le disque dur est vu.


Formaté.


Tout va bien.


La partition est là.


Quelques infos.


On restaure.


En cours.


C’est bon.

J’ai donc tenté bêtement de faire planter la machine pour vérifier si la partition de restauration fonctionnait… sans succès. Du coup, j’ai sorti le disque dur, je l’ai branché en USB sur un Mac récent et j’ai fait une image complète du disque pour vérifier le contenu. La bonne nouvelle, c’est qu’il y a bien une partition de restauration. La mauvaise, c’est qu’elle est vide.

Le système démarre.


La partition est là.


L’indispensable ISO Buster montre qu’elle est vide.

Et en préparant cet article, j’ai relu l’extrait du mémo Apple du début.

However, the partition will be lost if the hard drive is re-formatted.

Et j’ai compris que j’ai fait tout ça pour rien. Les outils de restauration ne permettent pas de recréer la partition. J’étais évidemment un peu déçu, mais dans un sens, j’ai quand même réussit à montrer que la partition de restauration existe. La prochaine étape, peut-être un jour, va être de trouver un Performa 550 qui n’a pas été formaté depuis les années nonante, avec la partition en question encore intacte. Je vais tout de même poser la question sur quelques forums pour tenter de trouver le nécessaire, mais les chances restent évidemment assez minces.

Tout ça pour vous dire que quand j’ai un peu de temps, je peux en perdre beaucoup pour essayer de trouver ce que je cherche. Et ça m’amuse.

MAJ : Doug m’a trouvé une info de plus sur cette page d’archives d’Apple.

* Backup Partition Software-automatically detects corrupted system folders When a bad System Folder is detected, the user is given the option to re-load another System Folder into their system.