erreur de montage «n'est pas un périphérique bloc»

22

J'essaye de rendre olddiraccessible depuis newdiravec la commande mount:

mount olddir newdir

Pourquoi est-ce que j'obtiens l'erreur suivante?

mount: olddir n'est pas un périphérique bloc

Juuso Ohtonen
la source

Réponses:

15

mount attache des périphériques de stockage de blocs qui contiennent un système de fichiers à un répertoire, ce qui n'est pas ce que vous essayez de faire, d'où le message d'erreur. Ce que vous voulez, c'est créer un lien entre le nouveau nom de répertoire et l'ancien nom existant. Pour cela, vous devez utiliser la lncommande pour créer un lien symbolique.

ln -s olddir newdir
Kyle Jones
la source
J'essaie ce que vous avez suggéré, mais au lieu de créer un lien entre olddir et newdir, cela crée un lien symbolique appelé olddir à l'intérieur de newdir. Ainsi, par exemple, après avoir ln -s /olddir /newdirterminé, je me retrouve avec / newdir / olddir @ qui est lié à / olddir. Comment puis-je faire ce que vous avez dit?
trusktr
newdir doit être le nom que vous souhaitez créer et qui renvoie à olddir . newdir ne devrait pas déjà exister.
Kyle Jones
Je comprends parfaitement ce que vous voulez dire, et c'est ce que j'essaie de faire, mais cela fait quelque chose de vraiment étrange, complètement différent. /olddirexiste et /newdirn'existe pas. Ensuite, après avoir exécuté ln -s /olddir /newdir, il crée des /newdir/olddirliens vers /olddir. Je ne veux pas que ça se crée /newdir/olddir. Je veux qu'il crée /newdiruniquement, ce qui devrait être lié /olddir, mais ce n'est pas ce qui se passe. Donc au lieu de faire /newddir, c'est faire /newdir/olddir. Il est tellement bizarre!!! Comprenez-vous ce que je veux dire?
trusktr
26

Sous Linux, on peut effectuer un montage de liaison , qui épissera un répertoire existant à un nouveau point de montage.

mount --bind <olddir> <mountpoint>

Solaris prend en charge une syntaxe alternative:

mount -F lofs <olddir> <mountpoint>

* BSD utilise à la mount_nullplace (bien qu'il ne soit pas fourni avec OS X).

mount_null <olddir> <mountpoint>
Ignacio Vazquez-Abrams
la source
1
Exactement la réponse!
trusktr
2

Si vous essayez de monter un disque dur / SDD logique

  • Je double démarrage: Windows 10 / Ubuntu
  • J'ai trouvé cette recherche d'un moyen de monter mon lecteur Windows sous Linux

Étapes franchies

  • afficher les périphériques de bloc

    ℹ️ votre HDD / SDD est un périphérique de stockage en bloc

    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"
    
  • Dans mon cas, je veux monter le périphérique étiqueté "Windows" /dev/sda2

Ce qui n'a pas fonctionné

  • Il s'avère que j'ai inversé les mountarguments de la commande pour obtenir la plainte "n'est pas un périphérique de bloc"
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

Qu'est - ce qui a fonctionné 🤦‍♂️️

  • mount fonctionne comme un patron lorsque vous listez les arguments dans le bon ordre!
    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
la source
1
Merci, j'ai inversé la commande aussi
user3804598
0

Lors de l'utilisation mount shareddir newdir, j'obtiens la même chose, puis je nomme l'hôte du serveur nfs à monter, ça tourne bien. La commande comme:

mount host:shareddir newdir
nanxj
la source