how to output all images in an entry's loop
You should use .all(), but that will give you an array of Assets. You can't call .getUrl() on an array, so you'd have to loop that array:

{% for entry in craft.entries.section('projekte').all() %}  
    &lt;a href="{{ entry.url }}"&gt;      
        {% set images = entry.startbilder.all() %}

        {% if images |length %}
            {% for image in images %}
                &lt;img src="{{ image.getUrl('medium') }}" alt="{{ image.title }}" /&gt;
            {% endfor %}
        {% endif %}
    &lt;/a&gt;        
{% endfor %}


If you'd want to eager load the images, this is how you'd do it:

{% for entry in craft.entries.section('projekte').with(['startbilder']).all() %}  
    &lt;a href="{{ entry.url }}"&gt;      
        {% if entry.startbilder |length %}
            {% for image in entry.startbilder %}
                &lt;img src="{{ image.getUrl('medium') }}" alt="{{ image.title }}" /&gt;
            {% endfor %}
        {% endif %}
    &lt;/a&gt;        
{% endfor %}