помилка монтажу "не є блочним пристроєм"


22

Я намагаюся зробити olddirдоступ з newdirдопомогою команди mount:

mount olddir newdir

Чому я отримую таку помилку?

mount: olddir не є блочним пристроєм

Відповіді:


15

mount приєднує до каталогу блокові пристрої зберігання даних, які містять файлову систему, а це не те, що ви намагаєтесь зробити, отже, повідомлення про помилку. Що ви хочете, це створити посилання від нового імені каталогу до старого існуючого імені. Для цього потрібно lnстворити команду для створення символічного посилання.

ln -s olddir newdir

Я намагаюся те, що ви запропонували, але замість того, щоб зв’язувати з olddir в newdir, це створить симпосилання під назвою olddir всередині newdir. Так, наприклад, після цього ln -s /olddir /newdirя закінчую з / newdir / olddir @, який посилається на / olddir. Як змусити його зробити те, що ти сказав?
trusktr

newdir має бути ім'ям, яке ви хочете створити, яке вказує на olddir . newdir вже не повинен існувати.
Кайл Джонс

Я повністю розумію, що ви маєте на увазі, і це те, що я намагаюся зробити, але це робить щось справді дивне, зовсім інше. /olddirіснує, і /newdirне існує. Потім, після запуску ln -s /olddir /newdir, він створює, до /newdir/olddirяких посилань /olddir. Я не хочу, щоб це створювало /newdir/olddir. Я хочу, щоб це створювало /newdirлише те, на що слід посилатися /olddir, але це не те, що відбувається. Тож замість того, щоб робити /newddir, це робить /newdir/olddir. Це так дивно !!! Отримайте, що я маю на увазі?
trusktr

26

У Linux можна виконати кріплення прив’язки , яке зробить існуючий каталог новою точкою монтажу.

mount --bind <olddir> <mountpoint>

Solaris підтримує альтернативний синтаксис:

mount -F lofs <olddir> <mountpoint>

* BSD використовує mount_nullнатомість (хоча він не поставляється з OS X).

mount_null <olddir> <mountpoint>

1
Саме відповідь!
trusktr

2

Якщо ви намагаєтесь встановити логічний жорсткий диск / SDD

  • I подвійне завантаження: Windows 10 / Ubuntu
  • Я знайшов це в пошуку способу встановити свій накопичувач Windows в Linux

Вжиті кроки

  • показати блок пристроїв

    ℹ️ ваш HDD / SDD - це блок блокового зберігання

    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"
    
  • У моєму випадку я хочу встановити пристрій з написом "Windows" /dev/sda2

Що не вийшло

  • Виявляється, я змінив mountаргументи команд, щоб отримати скаргу "не блоковий пристрій"
    mkdir Windows
    sudo mount Windows /dev/sda2
    mount: /dev/sda2: /home/casey/Windows is not a block device.
    

Що зробив роботу 🤦♂️️

  • mount працює як начальник, коли ви перераховуєте аргументи в потрібному порядку!
    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
Дякую, я також відмінив замовлення
user3804598

0

Під час використання mount shareddir newdirя отримую те саме, тоді я призначаю хост сервера nfs для монтажу, це виходить нормально. Така команда:

mount host:shareddir newdir
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.