error de montaje "no es un dispositivo de bloque"

22

Estoy tratando de hacer olddiraccesible desde newdircon el comando de montaje:

mount olddir newdir

¿Por qué me sale el siguiente error?

mount: olddir no es un dispositivo de bloque

Juuso Ohtonen
fuente

Respuestas:

15

mount conecta dispositivos de almacenamiento en bloque que contienen un sistema de archivos a un directorio, que no es lo que está intentando hacer, de ahí el mensaje de error. Lo que desea es crear un enlace desde el nuevo nombre del directorio al antiguo nombre existente. Para eso debes usar el lncomando para crear un enlace simbólico.

ln -s olddir newdir
Kyle Jones
fuente
Estoy probando lo que sugirió, pero en lugar de vincular de olddir a newdir, crea un enlace simbólico llamado olddir dentro de newdir. Entonces, por ejemplo, después de hacerlo ln -s /olddir /newdirtermino con / newdir / olddir @ que enlaza con / olddir. ¿Cómo hago para que haga lo que dijiste?
trusktr
newdir debe ser el nombre que desea crear que apunta a olddir . newdir no debería existir ya.
Kyle Jones
Entiendo totalmente lo que quieres decir, y eso es lo que estoy tratando de hacer, pero está haciendo algo realmente extraño, completamente diferente. /olddirexiste y /newdirno existe. Luego, después de correr ln -s /olddir /newdir, está creando a /newdir/olddirqué enlaces /olddir. No quiero que se cree /newdir/olddir. Quiero que /newdirsolo se cree , que debería enlazar /olddir, pero eso no es lo que está sucediendo. Entonces, en lugar de hacer /newddir, es hacer /newdir/olddir. ¡¡¡Es tan raro!!! ¿Entiendes lo que quiero decir?
trusktr
26

En Linux, se puede realizar un montaje de enlace , que unirá un directorio existente a un nuevo punto de montaje.

mount --bind <olddir> <mountpoint>

Solaris admite una sintaxis alternativa:

mount -F lofs <olddir> <mountpoint>

* BSD usa en su mount_nulllugar (aunque no viene con OS X).

mount_null <olddir> <mountpoint>
Ignacio Vazquez-Abrams
fuente
1
Exactamente la respuesta!
trusktr
2

Si está intentando montar un HDD / SDD lógico

  • Yo arranque dual: Windows 10 / Ubuntu
  • Encontré esto buscando una manera de montar mi unidad de Windows en Linux

Pasos tomados

  • mostrar dispositivos de bloque

    ℹ️ su HDD / SDD es un dispositivo de almacenamiento en bloque

    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"
    
  • En mi caso, quiero montar el dispositivo con la etiqueta "Windows" /dev/sda2

Lo que no funcionó

  • Resulta que revertí los mountargumentos del comando para obtener la queja "no es un dispositivo de bloque"
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

Lo que hizo el trabajo 🤦♂️️

  • mount ¡funciona como un jefe cuando enumeras los argumentos en el orden correcto!
    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
fuente
1
Gracias, también
revertí
0

Cuando lo uso mount shareddir newdir, obtengo lo mismo, luego designo al host del servidor nfs para que se monte, se vuelve correcto. El comando como:

mount host:shareddir newdir
nanxj
fuente