Maybe the SdFat 2.0 version has too much capability for this project.
I deleted the SdFat 2.0 library and downloaded the latest 1.0 library from the Releases list.
Then I ran SdFormatter in the 1.0 examples and reformatted my 32GB MicroSD card.
Then I ran SdInfo in the 1.0 examples and got this report:
SdFat version: 10102
Assuming the SD is the only SPI device.
Edit DISABLE_CHIP_SELECT to disable another device.
Assuming the SD chip select pin is: 10
Edit SD_CHIP_SELECT to change the SD chip select pin.
type any character to start
init time: 13 ms
Card type: SDHC
Manufacturer ID: 0X3
OEM ID: SD
Product: SC32G
Version: 8.0
Serial number: 0X2FF11AB0
Manufacturing date: 8/2013
cardSize: 31914.98 MB (MB = 1,000,000 bytes)
flashEraseSize: 128 blocks
eraseSingleBlock: true
OCR: 0XC0FF8000
SD Partition Table
part,boot,type,start,length
1,0X0,0XC,8192,62325760
2,0X0,0X0,0,0
3,0X0,0X0,0,0
4,0X0,0X0,0,0
Volume is FAT32
blocksPerCluster: 64
clusterCount: 973584
freeClusters: 973583
freeSpace: 31902.37 MB (MB = 1,000,000 bytes)
fatStartBlock: 9362
fatCount: 2
blocksPerFat: 7607
rootDirStart: 2
dataStartBlock: 24576
type any character to start
Here is the memory footprint from Arduino 1.8.13 for the SdInfo program:
Using library SdFat at version 1.1.4 in folder: C:\Users\mcgrawmc\Documents\Arduino\libraries\SdFat
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\mcgrawmc\\AppData\\Local\\Temp\\arduino_build_246140/SdFormatter.ino.elf"
Sketch uses 12220 bytes (37%) of program storage space. Maximum is 32256 bytes.
Global variables use 803 bytes (39%) of dynamic memory, leaving 1245 bytes for local variables. Maximum is 2048 bytes.
I think this SdFat 1.0 version gives us more program space and memory space than the 2.0 version - and should be compatible API calls.