Arduino SD library, SD.begin and ejecting the card

Unfortunately the Arduino SD library, SD.h, has a bug that prevents initialization of a new card by calling SD.begin().

SdFat allows begin() to be called multiple times. There is no end() call, you only need to close all files before removing the card.

Once the new card is inserted, call begin() to initialize the new card.