We replaced a network card with same chipset on a Debian system, but old eth0 couldn't bring up, and new eth1 was up. So, we thought it was caused old MAC address stored in a file somewhere, after googling, we found that old MAC was stored in the following udev config file.
/etc/udev/rules.d/zyx_persistent-net.rules
(where yx is a random number)