błąd montowania „nie jest urządzeniem blokowym”


22

Usiłuję olddirudostępnić newdirza pomocą polecenia mount:

mount olddir newdir

Dlaczego pojawia się następujący błąd?

mount: olddir nie jest urządzeniem blokowym

Odpowiedzi:


15

mount dołącza blokowe urządzenia pamięci masowej zawierające system plików do katalogu, co nie jest tym, co próbujesz zrobić, stąd komunikat o błędzie. To, czego chcesz, to utworzyć łącze z nowej nazwy katalogu do starej istniejącej nazwy. W tym celu musisz użyć lnpolecenia, aby utworzyć dowiązanie symboliczne.

ln -s olddir newdir

Próbuję tego, co zasugerowałeś, ale zamiast linkować z olddir do newdir, tworzę dowiązanie symboliczne o nazwie olddir wewnątrz newdir. Na przykład po zrobieniu ln -s /olddir /newdirkończę na / newdir / olddir @, który prowadzi do / olddir. Jak sprawić, by robiło to, co powiedziałeś?
trusktr

newdir powinien być nazwą, którą chcesz utworzyć, która wskazuje na olddir . newdir nie powinien już istnieć.
Kyle Jones

Całkowicie rozumiem, co masz na myśli i właśnie to próbuję zrobić, ale robi coś naprawdę dziwnego, zupełnie innego. /olddiristnieje i /newdirnie istnieje. Następnie, po uruchomieniu ln -s /olddir /newdir, tworzy /newdir/olddirlinki do których /olddir. Nie chcę tego tworzyć /newdir/olddir. Chcę, żeby to tworzyło /newdirtylko to, co powinno zawierać link /olddir, ale nie tak się dzieje. Zamiast tworzyć /newddir, robi /newdir/olddir. To takie dziwne!!! Rozumiesz co mam na myśli?
trusktr

26

W systemie Linux można wykonać podłączenie wiązania , które podzieli istniejący katalog na nowy punkt podłączenia.

mount --bind <olddir> <mountpoint>

Solaris obsługuje alternatywną składnię:

mount -F lofs <olddir> <mountpoint>

* mount_nullZamiast tego używa BSD (chociaż nie jest dostarczane z OS X).

mount_null <olddir> <mountpoint>

1
Dokładnie odpowiedź!
trusktr

2

Jeśli próbujesz zamontować logiczny dysk twardy / SDD

  • I dual boot: Windows 10 / Ubuntu
  • Znalazłem to, szukając sposobu na zamontowanie dysku Windows w Linuksie

Podjęte kroki

  • pokaż urządzenia blokowe

    ℹ️ Twój HDD / SDD jest blokowym urządzeniem magazynującym

    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"
    
  • W moim przypadku chcę zamontować urządzenie oznaczone jako „Windows” /dev/sda2

Co nie działało?

  • Okazuje się, że odwróciłem mountargumenty polecenia, aby uzyskać skargę „nie jest urządzeniem blokowym”
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

Co zrobił pracę 🤦♂️️

  • mount działa jak szef, gdy podajesz argumenty w odpowiedniej kolejności!
    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
    

1
Dzięki, ja też odwróciłem zamówienie
użytkownik3804598

0

Kiedy używam mount shareddir newdir, otrzymuję to samo, a następnie wyznaczam hosta serwera nfs do zamontowania, wszystko się zgadza. Polecenie takie jak:

mount host:shareddir newdir
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.