I have some old HFS formatted burned CDs burning in toast on a classic mac. A friend needs his stuff moved off these backups onto his NAS but his modern mac cannot read these CDs. I can mount them in linux manually but the filenames have illegal characters so I cannot copy them over to anything without losing like half of them.
How to I copy these files off the CDs?


#!/bin/bash # --- Configuration --- SOURCE_DEV="/dev/sr0" MOUNT_POINT="/mnt/mac_legacy_cd" DEST_DIR="$HOME/Desktop/mac_recovered_files" # 1. Ensure the system is ready echo "Checking for HFS support..." sudo modprobe hfs 2>/dev/null sudo modprobe hfsplus 2>/dev/null # Create directories sudo mkdir -p "$MOUNT_POINT" mkdir -p "$DEST_DIR" # 2. Attempt to mount # We try HFS first with MacRoman to UTF-8 translation echo "Attempting to mount $SOURCE_DEV..." sudo mount -t hfs -o ro,iocharset=utf8 "$SOURCE_DEV" "$MOUNT_POINT" 2>/dev/null if [ $? -ne 0 ]; then echo "HFS mount failed, trying HFS+ (Mac OS Extended)..." sudo mount -t hfsplus -o ro "$SOURCE_DEV" "$MOUNT_POINT" fi # 3. Verify mount and Copy if mountpoint -q "$MOUNT_POINT"; then echo "Mount successful. Copying files to $DEST_DIR..." # -a: archive mode (preserves symlinks, permissions, times) # -v: verbose # -z: compress (not really needed for local, but good practice) # -P: show progress rsync -avzP "$MOUNT_POINT/" "$DEST_DIR/" echo "---" echo "Copy complete. Unmounting..." sudo umount "$MOUNT_POINT" echo "Done. You can find your files in $DEST_DIR" else echo "Error: Could not mount the disc. Ensure the CD is inserted and $SOURCE_DEV is the correct path." exit 1 fi