badblocks on large disks: 'Value too large for defined data type (must be 32-bit value)'
badblocks -b 4096 -sv /dev/sdX. The block counter is 32-bit and with 1 KiB blocks it stops at 4 TiB; with 4 KiB it covers 16 TiB. -w wipes the disk; for a quick check, smartctl -t long.