Отвечать на Ваш конкретный вопрос: "Так есть ли файловая система для SD-карт, где восстановление фактически гарантируется?"
NO!
Также кажется, что Вы путаете проблему здесь. Проблема, что Вы описываете наличие, со способом, которым система обрабатывает ввод-вывод для съемных носителей, не с самой файловой системой. Возможно восстановить поврежденную информацию с любой файловой системы, но это предполагает, что информация состояла в том, чтобы ранее там восстановиться. Когда операции ввода-вывода к диску разрушены, затем информация никогда не пишется в файловую систему для начала, и поэтому нет ничего для восстановления.
Для предотвращения этих типов проблем в будущем используйте надлежащие опции монтирования для медиа. В частности, используйте 'синхронизирующую' опцию при монтировании, который вынудит все записи быть сразу выполненными вместо того, чтобы быть кэшируемым. По умолчанию кэширование включено для всех разделов, который допускает лучшую производительность, но может вызвать эти типы проблем из-за асинхронной природы операций ввода-вывода.
это не ясно из Вашего описания, оба интерфейсы, подключенные к той же сети.
Так или иначе:
давайте примем
Вы имеете
eth0 - 192.168.10.10/24, gw 192.168.10.1
eth0 - 170.10.0.10/24, gw 170.10.0.1
#ip ru add table 5 prio 20000 from 170.10.0.10
таким образом можно проверить настройки:
#ip ru sh
- см. правила
0: from all lookup local
20000: from 170.10.0.10 lookup 5
#ip ro sh ta 5
- посмотрите, что маршрутизация для Вас представляет в виде таблицы
default via 170.10.0.1 dev eth1
BTW, существует хорошее чтение относительно маршрутизации Linux Linux Advanced Routing & Traffic Control