Jörg: Kann in Ubuntu nicht mehr auf Partition z wechseln

Hallo Forum,

ich habe meinen Programmcode auf Partition Z (Windows). Zudem habe ich Ubuntu on Windows installiert, habe also so eine Art Sub-Betriebssystem, sowas kann Windows ja.

Meine Z-Partition ist übrigens eine verschlüsselte Partition. Nun ist zuletzt mal der Rechner abgeschmiert, was zur Folge hatte, dass Windows unbedingt nen Systemcheck machen wollte. Der war auch recht schnell fertig und hat IMHO nichts repariert. Jedenfalls läuft jetzt soweit wieder alles ok.

Aber ich kann mit meiner normalen .sh.Datei, die in meinem Homeverzeichnis liegt, nicht mehr auf Partition Z wechseln, um anschließend rsync laufen zu lassen. Ubuntu meldet mir:

sending incremental file list
rsync: link_stat "/mnt/z/ " failed: No such file or directory (2)

Der Programmcode an dieser Stelle hierzu ist:

#!/usr/bin/sh

# Auf HDD z wechseln
cd /mnt/z/

Was läuft hier falsch?

Jörg

  1. Das Ubuntu als Windows-App ist „schwer gestrippt“, man könnte auch sagen „gefleddert“. Sagt denn der Befehl mount(ohne Optionen oder Parameter gibt er im echten Linux alle Mounts aus) irgendwas? Steht irgendwas im Syslog? Gibt es journalctl (was sagt sudo journalctl -b0 | grep mount)? Gibt es die Datei /etc/fstab?

    Und dann wäre da noch die Frage, ob wsl 1 oder wsl 2.

    1. Hallo Willi,

      Das Ubuntu als Windows-App ist „schwer gestrippt“, man könnte auch sagen „gefleddert“. Sagt denn der Befehl mount(ohne Optionen oder Parameter gibt er im echten Linux alle Mounts aus) irgendwas? Steht irgendwas im Syslog? Gibt es journalctl (was sagt sudo journalctl -b0 | grep mount)? Gibt es die Datei /etc/fstab?

      mount:
      C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)
      Z:\ on /mnt/z type 9p (rw,noatime,dirsync,aname=drvfs;path=Z:;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)

      sudo journalctl -b0 | grep mount: No journal files were found.

      Und dann wäre da noch die Frage, ob wsl 1 oder wsl 2.

      Ich meine, ich hätte WSL2 genommen.
      Kann man das irgendwo nachsehen?

      1. Z:\ on /mnt/z type 9p

        Hm. Mal versucht in das Verzeichnis /mnt/z zu wechseln und ls -l auszuführen?

        1. Z:\ on /mnt/z type 9p

          Hm. Mal versucht in das Verzeichnis /mnt/z zu wechseln und ls -l auszuführen?

          Ja, das funktioniert.
          Hier die Lösung des Problems.

          Danke für die Hilfe.

  2. Hallo Jörg,

    ich habe meinen Programmcode auf Partition Z (Windows). Zudem habe ich Ubuntu on Windows installiert, habe also so eine Art Sub-Betriebssystem, sowas kann Windows ja.

    nennt sich Windows Subsystem for Linux (WSL). Kenne ich vom Hörensagen, ich traue dem Konzept aber nicht viel weiter, als ich ein Klavier werfen könnte.

    Meine Z-Partition ist übrigens eine verschlüsselte Partition. Nun ist zuletzt mal der Rechner abgeschmiert, was zur Folge hatte, dass Windows unbedingt nen Systemcheck machen wollte. Der war auch recht schnell fertig und hat IMHO nichts repariert. Jedenfalls läuft jetzt soweit wieder alles ok.

    Aus Windows-Sicht?

    Aber ich kann mit meiner normalen .sh.Datei, die in meinem Homeverzeichnis liegt, nicht mehr auf Partition Z wechseln, um anschließend rsync laufen zu lassen. Ubuntu meldet mir:

    sending incremental file list
    rsync: link_stat "/mnt/z/ " failed: No such file or directory (2)
    

    Ist das vor oder nach dem Versuch, die Partition Z: zu mounten? Oder anders gefragt: Existiert denn der Mountpoint /mnt/z? Die Fehlermeldung sagt: Nein.

    #!/usr/bin/sh
    
    # Auf HDD z wechseln
    cd /mnt/z/
    

    Was sagt denn die Ausgabe von mount | grep "/mnt" und von ls -l /mnt?

    Was läuft hier falsch?

    Mein Bauchgefühl sagt, dass das Linux-Subsystem die "reparierte"[1] Partition Z: nicht mehr mounten kann - warum auch immer. Sollte aber bloß das leere Verzeichnis /mnt/z fehlen, das ja als Mountpoint dienen soll, dann leg das doch einfach wieder an.

    Einen schönen Tag noch
     Martin

    --
    "Hab ich vergessen" ist oft nur ein Euphemismus für "Hab ich noch nie verstanden".

    1. Das DIY-Motto: If it ain't broken, fix it until it is. ↩︎

    1. Hallo Martin,

      Aus Windows-Sicht?

      Ja genau das meinte ich.

      Ist das vor oder nach dem Versuch, die Partition Z: zu mounten? Oder anders gefragt: Existiert denn der Mountpoint /mnt/z? Die Fehlermeldung sagt: Nein.

      Genau danach.

      #!/usr/bin/sh
      
      # Auf HDD z wechseln
      cd /mnt/z/
      

      Was sagt denn die Ausgabe von mount | grep "/mnt" und von ls -l /mnt?

      mount | grep "/mnt":
      tmpfs on /mnt/wsl type tmpfs (rw,relatime) C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:;uid=1000;gid=1000;symlinkroot=/mnt /,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)
      Z:\ on /mnt/z type 9p (rw,noatime,dirsync,aname=drvfs;path=Z:;uid=1000;gid=1000;symlinkroot=/mnt /,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)

      ls -l /mnt:
      drwxrwxrwx 1 joe joe 4096 Oct 31 12:48 c
      drwxrwxrwx 2 root root 4096 Jan 21 2021 d
      drwxrwxrwx 2 root root 4096 Jan 21 2021 e
      drwxrwxrwx 2 root root 4096 Jan 21 2021 f
      drwxrwxrwx 2 root root 4096 Jan 26 2021 g
      drwxrwxrwx 2 root root 4096 Aug 5 2021 l
      drwxrwxrwt 2 root root 40 Oct 31 13:04 wsl
      drwxrwxrwx 1 ted ted 512 Jan 1 1980 z

      1. Hallo,

        
        > **mount | grep "/mnt":**  
        > Z:\ on /mnt/z type 9p (rw,noatime,dirsync,aname=drvfs;path=Z:\;uid=1000;gid=1000;symlinkroot=/mnt  /,mmap,access=client,msize=65536,trans=fd,rfd=8,wfd=8)  
        
        

        hmm, also danach ist Z: auf /mnt/z gemountet.

        
        > **ls -l /mnt:**  
        > drwxrwxrwx 1 joe  joe  4096 Oct 31 12:48 c  
        > drwxrwxrwx 2 root root 4096 Jan 21  2021 d  
        > drwxrwxrwx 2 root root 4096 Jan 21  2021 e  
        > drwxrwxrwx 2 root root 4096 Jan 21  2021 f  
        > drwxrwxrwx 2 root root 4096 Jan 26  2021 g  
        > drwxrwxrwx 2 root root 4096 Aug  5  2021 l  
        > drwxrwxrwt 2 root root   40 Oct 31 13:04 wsl  
        > drwxrwxrwx 1 ted  ted   512 Jan  1  1980 z
        
        

        Und das Verzeichnis/der Mountpoint /mnt/z existiert auch. Auffällig ist nur, dass es anscheinend ein ungültiges Datum hat (1980-01-01 sieht nach einem Null-Wert aus), und dass dieses Verzeichnis nur einen Sektor belegt (512 Byte) anstatt acht wie die anderen. Irgendwas ist da also anders.

        Kannst du, bevor Z: gemountet wird, das Verzeichnis /mnt/z löschen und neu anlegen?

        Einen schönen Tag noch
         Martin

        --
        "Hab ich vergessen" ist oft nur ein Euphemismus für "Hab ich noch nie verstanden".
        1. Kannst du, bevor Z: gemountet wird, das Verzeichnis /mnt/z löschen und neu anlegen?

          Nicht ausprobiert, weil...
          Hier die Lösung des Problems.

          Danke für die Hilfe.

  3. Gerade mal an der Konsole cd /mnt/z/ eingegeben, schwups bin ich auf Partition Z.
    Nur aus dem Script heraus meckert Linux.

    1. Hallo Willi und Martin,

      ich habe den Fehler gefunden, da muss man erstmal drauf kommen.

      Ich erzähls Euch:

      Ich habe einige Verzeichnisse, die ich über rsync spiegeln will. Hierzu habe ich eine Batchdatei angelegt, in der alle rsyncbefehle untereinander aufgeführt sind:

      #==================================================
      #(Dateirechte des Servers bleiben erhalten!) |
      #==================================================
      rsync -asv --no-p --chmod=ugo=rwX \
      --exclude=test  \
      --exclude=test 2 \ 
      --exclude=test 3 \
      --exclude=test 4 \
      ./xampp8/htdocs/folder1/ meinServer:myfolder/;
      #=================================================
      

      Und davon dann ca. 12 Stück untereinander.

      Nun hatte ich gestern einen weitere --exclude-Eintrag 12 x vorzunehmen und dachte mir, ich spare etwas Arbeit, indem ich das im Editor per find/replace mache. Und damit es nett ausschaut und übersichtlich bleibt, habe ich im Editor per Regex auch den Zeilenumbruch eintragen lassen.
      Leider war der Editor damit zwar rein äußerlich nicht überfordert, aber er hat dabei noch irgendein Zeichen produziert, dass meine Batchdatei so zerstört hat, dass genau diese fehlermeldung dabei heraus kam. Ich habe jetzt nicht im Hexeditor nachgesehen, welches zeichen der Editor eingefügt hat, für mich sah es im Editor nach einem leerzeich vor dem Zeilenumbruch aus.

      Nachdem ich das gelöscht habe, läuft alles wieder einwandfrei.

      Auf jeden Fall Danke fürs Helfen an Euch.

      Jörg

      1. 1.) Windows-Editor? Dann hast Du wohl ein Windows-Zeilenende produziert, welches Dein Editor sodann brav vor dem Backslash stehen ließ.

        2.) Schreib die excludes hübsch untereinander in eine Textdatei und dann

        rsync ... --exclude-from=FILE` ...
        
        1. 2.) Schreib die excludes hübsch untereinander in eine Textdatei und dann

          rsync ... --exclude-from=FILE` ...
          

          Kannte ich gar nicht.

          Danke 😀