erro de montagem "não é um dispositivo de bloco"

22

Eu estou tentando tornar olddiracessível newdircom o comando mount:

mount olddir newdir

Por que obtenho o seguinte erro?

mount: olddir não é um dispositivo de bloco

Juuso Ohtonen
fonte

Respostas:

15

mount anexa dispositivos de armazenamento em bloco que contêm um sistema de arquivos a um diretório, que não é o que você está tentando fazer, daí a mensagem de erro. O que você deseja é criar um link do novo nome de diretório para o antigo nome existente. Para isso, você deve usar o lncomando para criar um link simbólico.

ln -s olddir newdir
Kyle Jones
fonte
Estou tentando o que você sugeriu, mas, em vez de vincular o olddir ao newdir, ele cria um link simbólico chamado olddir dentro do newdir. Por exemplo, depois de ln -s /olddir /newdirterminar, acabo com / newdir / olddir @, que vincula a / olddir. Como faço para fazer o que você disse?
trusktr
newdir deve ser o nome que você deseja criar que aponte para olddir . newdir já não deveria existir.
Kyle Jones
Entendo perfeitamente o que você quer dizer, e é isso que estou tentando fazer, mas está fazendo algo realmente estranho, completamente diferente. /olddirexiste e /newdirnão existe. Então, depois que eu corro ln -s /olddir /newdir, ele cria os /newdir/olddirlinks para /olddir. Eu não quero que ele crie /newdir/olddir. Eu quero que ele crie /newdirapenas, que deve ser vinculado /olddir, mas não é isso que está acontecendo. Então, ao invés de fazer /newddir, está fazendo /newdir/olddir. Isto é tão estranho!!! Entendeu o que eu quis dizer?
trusktr
26

No Linux, é possível executar uma montagem de ligação , que unirá um diretório existente a um novo ponto de montagem.

mount --bind <olddir> <mountpoint>

O Solaris suporta uma sintaxe alternativa:

mount -F lofs <olddir> <mountpoint>

* O BSD usa em seu mount_nulllugar (embora não seja fornecido com o OS X).

mount_null <olddir> <mountpoint>
Ignacio Vazquez-Abrams
fonte
1
Exatamente a resposta!
trusktr
2

Se você estiver tentando montar um HDD / SDD lógico

  • Eu dupla inicialização: Windows 10 / Ubuntu
  • Encontrei isso procurando uma maneira de montar minha unidade Windows no Linux

Passos dados

  • mostrar dispositivos de bloco

    ℹ️ seu HDD / SDD é um dispositivo de armazenamento em bloco

    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"
    
  • No meu caso, quero montar o dispositivo rotulado "Windows" /dev/sda2

O que não deu certo

  • Acontece que reverti os mountargumentos do comando para obter a reclamação "não é um dispositivo de bloco"
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

O que funcionou 🤦‍♂️️

  • mount funciona como um chefe quando você lista os argumentos na ordem certa!
    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
fonte
1
Obrigado, eu também
inverti
0

Quando uso mount shareddir newdir, fico com o mesmo, depois nomeio o host do servidor nfs para montar, ele fica ok. O comando como:

mount host:shareddir newdir
nanxj
fonte