Nein, das geht wohl nicht. Denn sobald das Datenroaming aktiviert ist, sucht sich das Gerät ja seinen Roamingpartner, je nach dem, wer gerade zur Verfügung steht. Man kann nur das Datenroaming deaktivieren auf den Schiffen oder auch die automatische Netzsuche deaktivieren. Denn die übrigen Gebühren sind auch nicht so ohne: ankommende Gespräche 1,70-7€ pro min. Dann loggt sich das Gerät aber auch nicht mehr ohne Zutun ins günstige Roamingnetz auf dem Land ein.
Teltarif rät sogar dazu, auf Schiffen den Flugmodus einzuschalten oder die SIM ganz rauszunehmen, was ich jetzt etwas übertrieben finde. Man kann ja das Gerät auch einfach an Bord abschalten, außer man nutzt das Bord-WLAN:
https://www.teltarif.de/mobilfunk/schiffsnetze.html
Das Handy kann ja nicht ahnen, ob dies ein günstiger Roamingpartner oder ein Abzockpartner ist. Das gleiche Problem besteht auch in Grenzbereichen zum EU-Roaming oder in Flugzeugen. Hier muss man den Roamingpartner unbedingt manuell auswählen. Z.B. Kroatien hat eine lange Grenze nach Bosnien gar nicht weit von der Küste. Dabei geht einem leider der Vorteil verloren bei mehreren möglichen Roamingpartnern im EU-Land jeweils nach Ort den besseren zu bekommen bei der automatischen Netzsuche.
Einen besonderen Log-in gibts - im Gegensatz zu WLAN - bei diesen Netzen nicht, aber dein Netzbetreiber muss dir eine Mitteilung beim ersten Einloggen über die Kosten des Schiffsnetzes schicken, die aber leider meist ignoriert wird oder die Leute kapieren nicht, was 1,60 bis 2,50 € pro KB eigentlich bedeutet.