Einhängefehler "ist kein Blockiergerät"

22

Ich versuche es mit dem Befehl mount olddirzugänglich zu machen newdir:

mount olddir newdir

Warum erhalte ich den folgenden Fehler?

mount: olddir ist kein Blockgerät

Juuso Ohtonen
quelle

Antworten:

15

mount hängt Blockspeichergeräte, die ein Dateisystem enthalten, an ein Verzeichnis an, was nicht das ist, was Sie versuchen, daher die Fehlermeldung. Sie möchten einen Link vom neuen Verzeichnisnamen zum alten vorhandenen Namen erstellen. Dazu müssen Sie den lnBefehl verwenden, um eine symbolische Verknüpfung zu erstellen.

ln -s olddir newdir
Kyle Jones
quelle
Ich versuche, was Sie vorgeschlagen haben, aber anstatt von olddir auf newdir zu verlinken, wird in newdir ein Symlink namens olddir erstellt. Nachdem ln -s /olddir /newdirich das getan habe, lande ich zum Beispiel bei / newdir / olddir @, das auf / olddir verweist. Wie mache ich das, was du gesagt hast?
Trusktr
newdir sollte der Name sein, den Sie erstellen möchten und der auf olddir verweist . newdir sollte noch nicht existieren.
Kyle Jones
Ich verstehe vollkommen, was du meinst, und das ist es, was ich versuche, aber es tut etwas wirklich Seltsames, völlig anderes. /olddirexistiert und /newdirexistiert nicht. Nachdem ich ausgeführt habe ln -s /olddir /newdir, wird erstellt, zu /newdir/olddirwelchen Links /olddir. Ich möchte nicht, dass es entsteht /newdir/olddir. Ich möchte, dass es /newdirnur erstellt wird, auf das verlinkt werden soll /olddir, aber das passiert nicht. Also anstatt zu machen /newddir, macht es /newdir/olddir. Es ist so seltsam!!! Verstehe was ich meine?
Trusktr
26

Unter Linux kann ein Bind-Mount durchgeführt werden , bei dem ein vorhandenes Verzeichnis an einen neuen Mount-Punkt angehängt wird.

mount --bind <olddir> <mountpoint>

Solaris unterstützt eine alternative Syntax:

mount -F lofs <olddir> <mountpoint>

* BSD verwendet mount_nullstattdessen (obwohl es nicht mit OS X kommt).

mount_null <olddir> <mountpoint>
Ignacio Vazquez-Abrams
quelle
1
Genau die Antwort!
Trusktr
2

Wenn Sie versuchen, eine logische Festplatte / SDD zu mounten

  • Ich Dual-Boot: Windows 10 / Ubuntu
  • Ich fand diese Suche nach einer Möglichkeit, mein Windows-Laufwerk unter Linux zu mounten

Schritte gemacht

  • Blockgeräte anzeigen

    ℹ️ Ihre Festplatte / SDD ist ein Blockspeichergerät

    sudo blkid
    
    /dev/sda5: UUID="a6aa3891-1dc2-439a-b449-b9b1848db028" TYPE="ext4" PARTUUID="e4887e0f-05"
    /dev/sda1: LABEL="System" UUID="C6F4E92AF4E91E05" TYPE="ntfs" PARTUUID="e4887e0f-01"
    /dev/sda2: LABEL="Windows" UUID="4ABAF478BAF461BD" TYPE="ntfs" PARTUUID="e4887e0f-02"
    
  • In meinem Fall möchte ich das Gerät mit der Bezeichnung "Windows" bereitstellen. /dev/sda2

Was hat nicht funktioniert

  • Es stellte sich heraus, dass ich die mountBefehlsargumente umgekehrt habe , um die Beschwerde "ist kein Blockgerät" zu erhalten
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

Was hat funktioniert?

  • mount funktioniert wie ein Chef, wenn Sie die Argumente in der richtigen Reihenfolge auflisten!
    sudo mount /dev/sda2 Windows 
    cd Windows 
    ls
    Config.Msi                hiberfil.sys   Intel         pagefile.sys   ProgramData     'Program Files (x86)'  '$Recycle.Bin'  'System Volume Information'   WCH.CN
    'Documents and Settings'   home           msdia80.dll   PerfLogs      'Program Files'   Recovery               swapfile.sys    Users                        Windows
    
Fusion27
quelle
1
Danke, ich habe auch die Bestellung rückgängig gemacht
user3804598
0

Bei Benutzung mount shareddir newdirbekomme ich das selbe, dann ernenne ich den nfs-Server zum Hostmount, es wird ok. Der Befehl wie:

mount host:shareddir newdir
nanxj
quelle