0

One of the 12 iMacs here has a big problem: it takes two hours or more from pressing the button to turn it on until finally ditching the progress bar and showing up the desktop.

It is a MacOS 10.15 Catalina running on an Intel processor.

How to make it usable again? Or, at least, what should I try? How to find the cause?

What have been attempted so far?

  1. Followed the Apple tutorial, that instructs to "use Disk Utility". All the other instructions supposes that the Mac is turning slow after booting up, but this is not the case, so they don't apply here. The "Disk Utility" found no problems;
  2. Followed the How To Geek tutorial, section "Hardware Issues: Problems Under the Hood", subsection "Apple Diagnostics", since anything above this section supposes that the Mac is turning slow after booting up, but this is not the case, so they don't apply. As suggested there, I entered "Apple Diagnostics" by holding d while booting up, to enter the "diagnostic tool". This resulted in the following error, as well as using +d. And this error isn't a valid error code output from the tool, it's just the tool not being able to load at all:

Error: 0x8000000000000003, Cannot Load 'EFI/Drivers/TestSupport.efi'

Status: 0x00000003

  1. Followed the How To Geek tutorial, section "Hardware Issues: Problems Under the Hood", subsection "Memory". As suggested there, I downloaded "MemTest86 Free (Version 10.4 Build 1000)", created "a MemTest86 bootable USB Flash drive in Linux", then booted "MemTest86 USB on Mac" by pressing while powering on the machine. I got the following result:

[Note] RAM may be vulnerable to high frequency row hammer bit flips

>Finished pass #1 (of 4) (Total errors: 0, ECC errors: 0)

enter image description here

  1. I've tried Seatools Bootable to check how (un)healthy the disk is, but the resulting thumb drive was not detected as bootable by the iMac by pressing while powering on the machine.

  2. I've tried SeaTools for DOS, which is the bootable option I already used many times for any PC to check how (un)healthy the disk is. But it has to run on a CD and the iMacs don't have CD drives. I tried creating a bootable USB thumb drive anyway by means of Balena Etcher, but there isn't really a partition table on the ".iso", so it did not work. I followed a NowhereLan tutorial that had the same result. And the Diskette Creator from Seatools is really just for diskettes, as it only works with "Drive A:/", which isn't the case for this thumb drive.

  3. I've tried booting up on the "Single User Mode", like the Life Wire tutorial suggested, but I'm unable to write /sbin/fsck -fy on the Terminal because it freezes (more than 1 hour showing the exact same screen) and never pass the command of the computer to my hands, like shown below. Single User Mode not allowing me to do anything

  4. I've tried to boot from Disk Drill Portable Mode using a thumb drive I prepared using the official Disk Drill tutorial. But the FAT thumb drive with the Disk Drill icon inside was not detected as bootable by the iMac by pressing while powering on the machine.

17
  • 4
    Based on lots of personal experience with the iMac, the spinning hard drive is dying. I would replace it with an SSD for long term reliability and a noticiable speed bump
    – Allan
    May 17, 2023 at 14:54
  • 1
    Disk Utility is not meant for diagnostics. You could get something like smartmontools to get SMART status, but go for something like Disk Drill
    – Allan
    May 17, 2023 at 15:00
  • 1
    @IconDaemon On government organizations, buying equipment is only authorized after necessity is proven, no matter how (in)expensive the acquisiton is. No replacement schedule here. I did not understand the question about "vintage". May 17, 2023 at 18:18
  • 6
    These iMacs are 11 years old and well past their "Sell By" date. Refreshing the HHD is an inexpensive way to keep them in service. The fact that it takes 2 hours for the iMac to boot is proof enough that the HDD needs replacing. I'm sorry you have to fight this unreasonable bureaucracy, but at some point in the not too distant future, more than one of these iMacs will fail spectacularly, leaving the users with no computers at all. Your college/university is taking a big chance trying to keep these iMacs in working order.
    – IconDaemon
    May 17, 2023 at 19:02
  • 1
    Having experience in your industry, I understand your constraints. What do you need for proof and I’ll write something up for you to follow.
    – Allan
    May 18, 2023 at 18:53

1 Answer 1

2

Use diskutil to check SMART status

First, be aware that this is not foolproof; it can give you false negatives. In other words, the drive could be failing miserably, but diskutil reports that it's fine.

Use the command below to get the SMART status from the disk. You're going to want to query both the SSD and the spinning disk (disk0 and disk1 respectively).

sudo diskutil info disk0 | grep -i smart
SMART Status:              Verified

If you get anything but "Verified" it's confirmed, your disk is failing.. If you do get "Verified" continue with your diagnostics.

Use 3rd Party Tools to Scan your drive

You're going to need the following tools:

  • smartmontools. This is a command line utility to read the SMART status of your drive's controller. It's available via MacPorts, Homebrew, or as a direct download.

  • Disk Drill. This is a GUI based recovery software. To recover files, you need the paid version, however for simple diagnostics, the free version will suffice.

It's important to note that you don't want to install these tools onto your malfunctioning Mac. You're going to copy them to the bootable external drive created in the next step.

Install macOS to a bootable USB

Using a USB drive 32GB or larger (flash works fine, USB3 will be even better) boot a Mac into Recovery and install macOS (any version compatible with your iMac) onto that USB drive. Once finished, boot to test and ensure that it works. Copy/Install smartmontools and DiskDrill to this macOS installation.

Boot the malfunctioning Mac with with USB drive (Hold ⌥ Option while booting and select the USB) and run the diagnostic software.

DiskDrill is a GUI app and is pretty self explanatory. There are a couple of commands for smartmontools that you'll need to execute. Remember, there are two drives, but I'll focus on the spinning drive for these instructions:

First, get the current SMART status:

smartctl -a /dev/disk1

You will get "report" that looks similar to below. Your drive may have errors and might look very different than my output:

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   099   099   010    Pre-fail  Always       -       8
  9 Power_On_Hours          0x0032   082   082   000    Old_age   Always       -       90179
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       341
177 Wear_Leveling_Count     0x0013   087   087   000    Pre-fail  Always       -       251
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   099   099   010    Pre-fail  Always       -       8
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   099   099   010    Old_age   Always       -       8
183 Runtime_Bad_Block       0x0013   099   099   010    Pre-fail  Always       -       8
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   062   042   000    Old_age   Always       -       38
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       49
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       106145813720

SMART Error Log Version: 1
No Errors Logged

You will likely see somewhere near the bottom of that report, this line indicating "no tests have been run"

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

To run the tests:

smartctl -t long /dev/disk1

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Long self-test routine immediately in off-line mode".
Drive command "Execute SMART Long self-test routine immediately in off-line mode" successful.

It will give you an estimated time frame of when it' will be done. Simply wait and then re-run the first command again to get the updated status report.

When you get this, you'll have the "proof" you need to swap out your hard drive (hopefully) with an SSD.

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .