This works in Windows 10 as well as 11, no downloads required.
Basic idea, use command prompt (elevated recommended)
Navigate to the folder you want to check.
Execute this command to list ALL FILES in the folder and subfolder, so don't do a huge drive all at once. As noted below, hardlinked files will appear twice.
echo off & for /F "delims=" %A in ('dir /s /b') do echo. & fsutil hardlink list "%A" > "%UserProfile%\Desktop\HardLinks.txt"
A single isolated line means the it's a normal file. You can ignore this.
Two lines together means it's a hard link.
The top path will be for the hard link, and the bottom path will be for it's target source.
The first part of the article discusses listing Symbolic Links and Junction Points.
Reference:
https://www.elevenforum.com/t/find-all-symbolic-links-and-junction-points-in-windows.4225/
I'm busy with taxes at the moment, but I feel like it would be fairly straightforward to write a simple script to remove the duplicate listings and only output the hard links. Maybe I'll ask my son.