даже без снимка экрана ошибки я думаю, что никто не может сказать уверенный. Лучшая вещь, которую можно сделать, состоит в том, чтобы представить initrd системе и преобразовать процесс начальной загрузки для использования UUID вместо имен устройств (которые являются предметом изменения, например, если Вы забыли свой pendrive в каком-либо из слотов usb).
Нет, Вы не должны устанавливать определенную файловую систему в самбе.
Linux обычно использует UTF-8. Необходимо использовать это. Samba согласовывает автоматически с, он - клиенты кодирование и преобразовывает имена файлов на лету.
Я понятия не имею относительно netatalk, но это не должно быть необходимо.
Относительно sftp просто не используйте его для окон. Windows предполагает, что файлы будут закодированы кодированием как кодовая страница 1252. Используйте самбу, которая сделает необходимые преобразования на лету, и Вы сохраните себя много проблем.
Всего наилучшего,
João Miguel Neves