What prevents Time Machine backup? I purchased a refurbished MacBook Pro (MPB) to replace a previous one of almost the same model.  (Lest anyone wonder why such a foolish thing, I bought the old one used for cheap and it had signs of being dropped.  The new one looks nicer and has a one-year warranty.)

In getting ready to migrate, I wanted to do one last backup.  It was then that I noticed Time Machine says the last backup was at the end of the previous year (two weeks ago).  I am fairly certain I had the drive connected several times during those two weeks, and even clicked "Backup Now" more than once.  There were no "unable to back up" notifications.

When I looked at TM preferences, the "Preparing to backup" progress bar gets to the end (or almost—it's hard for my eyes to tell whether the "last pixel" is still not blue).  But it stays there until I order it to cancel.  (Five minutes/sixty minutes according to my level of patience)

fsck_hfs found nothing wrong with the drive.

I found at least one web page that said this happens sometimes and a supposedly simple fix is to trash the *-in-progress backup, reboot, and try again.  Not only did that not help, SIP prevents emptying the trash.

Any explanation and/or solution?

I would like to "inherit" the backup, but if it's corrupt, I would wipe the disk instead and start over.
I would go with the general thrust of the suggestion of NoahL in comments (i.e. move the inProgress folder to the trash, disable SIP, empty the trash, reenable SIP, and then try backing up again).

However, if you do not know how to disable/enable SIP, you can follow these steps:


Start your MBP
Immediately hold down the commandR keys to boot into recovery
Click the Utilities menu and select Terminal
Type csrutil disable and press return
Close the Terminal app
Select Restart.... from the  menu


Once you've rebooted, empty the Trash (assuming you've already placed the inProgress folder in the Trash). Once emptied, shutdown your MBP and follow the above steps again, except that at Step 4 use csrutil enable instead of csrutil disable.