Как правильно подключить USB HDD или флешку к Raspberry Pi

Raspberry Pi 3. Правильное монтирование USB HDD и флешек

Дата Автор Dmitry23 комментария 22 090 просмотров

В этой публикации из цикла статей о Raspberry Pi и Arduino я хочу рассказать о том, как правильно подключать внешние жесткие диски (USB HDD) к Raspberry Pi.

Монтирование жесткого диска обязательно потребуется, если «малину» планируется использовать для работы с контентом в домашней сети. Поэтому я хочу вынести инструкцию по монтированию HDD и флешек в отдельную статью, дабы иметь возможность ссылаться на нее в своих последующих публикациях.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Установке и настройке Raspbian на Raspberry Pi 3 посвящена статья «Raspberry Pi 3. Обзор и начало работы». В этой статье подразумевается, что OS Raspbian уже установлена и готова к работе.

Добавление в Raspbian поддержки NTFS

Скорее всего, используемый жесткий диск будет отформатирован в NTFS.

В OS Raspbian нет поддержки NTFS «из коробки», поэтому нужно установить соответствующий пакет:

sudo apt-get update
sudo apt-get install ntfs-3g

После этого можно приступить непосредственно к монтированию HDD.

Монтирование USB HDD через fstab

fstab — конфигурационный файл, в котором описывается каждое из подключенных к компьютеру устройств хранения информации.

Добавлением строк в этот файл в *nix-системах совершается монтирование жестких дисков и других устройств.

Структура записей fstab выглядит так:

# <file system>        <dir>         <type>    <options>          <dump> <pass>

   /dev/cdrom         /mnt/cd         iso9660     ro,user,noauto,unhide   0      0

Наша цель — в правильной форме создать и записать строку для монтирования подключенного по USB жесткого диска (или флешки).

Настоятельно рекомендую перед редактированием файла fstab сделать бэкап системы, потому что ошибки в редактировании этого файла могут привести к тому, что Raspbian перестанет загружаться до конца, выдавая в процессе сообщение об ошибке. Новичка в *nix-системах это может сильно смутить.

Для начала найдем нужное нам значение <file system> для жесткого диска. Для этого при подключенном жестком диске нужно выполнить команду:

ls -l /dev/disk/by-uuid

В ответ на которую мы увидим нечто примерно такое:
Как правильно подключить USB HDD или флешку к Raspberry PiСтрока с /sda1 — наш жесткий диск. А написанное синим шрифтом — это как раз то, что мы ищем. Копируем эти символы куда-нибудь.

Теперь создадим точку монтирования:

sudo mkdir /mnt/usbstorage

Я решил, что мой смонтированный жесткий диск будет доступен по пути /usbstorage, но этот параметр может быть любым.

Ничто не мешает назвать точку монтирования /hdd1, /500gb, /media, /data или любым другим ранее не задействованным именем.

Название точки монтирования — это наше будущее значение <dir> в структуре записи fstab.

Теперь разбираемся со значением <type>.

Поле <type> — тут нужно будет указать файловую систему, в которой отформатирован наш накопитель. Если мы ранее пользовались Windows, то скорее всего жесткий диск отформатирован в NTFS. Менее вероятно — FAT32. Практически невероятно — EXT4 и другие применяемые в *nix-системах файловые системы.

Если ошибиться в указании файловой системы монтируемого жесткого диска, то это гарантированно приведет к ошибке во время загрузки Raspbian.

Далее идут опции монтирования (<options>). Они перечисляются через запятую. Рекомендую просто написать как у меня: «nofail,uid=pi,gid=pi».

И последними в структуре идут <dump> и <pass>.

Первый используется утилитой dump для создания резервных копий. Этот параметр нужно выставить «0».

Второй определяет приоритет, с которым утилита для сканирования и исправления ошибок fsck будет приступать к сканированию данного диска. Значением этого параметра может быть «0», «1» или «2», где «1» и «2» — приоритеты, а «0» — отключение. Я выставил «0», но можно поставить и «1» — особо это ни на что не влияет.

Таким образом, у меня формируется следующая строка для добавления в fstab:

UUID=E2CCEF5FCCEF2D0B /mnt/usbstorage ntfs nofail,uid=pi,gid=pi 0 0

Набор символов после UUID= нужно вставить свой, остальную часть строки можно использовать в таком виде без изменений.

Вставляем строку в fstab и сохраняем его:

sudo nano /etc/fstab

Как правильно подключить USB HDD или флешку к Raspberry Pi

Установка прав доступа

В завершении процедуры монтирования жесткого диска нужно выставить права доступа:

sudo chmod 777 /mnt/usbstorage

777 — полный доступ на чтение, запись и запуск файлов для всех пользователей. Рискованное с позиции безопасности разрешение, но гарантированно беспроблемное.

Если «малина» находится в домашней сети, то ничего страшного от выставления полного доступа для всех к примонтированному к ней жесткому диску не произойдет. Но в локальных сетях на предприятиях и на интернет-серверах полный доступ к файлам выставлять нельзя.

На этом процесс монтирования можно считать завершенным и остается только перезагрузить систему:

reboot

Заключение

Если с самого начала разобраться в процессе монтирования устройств в *nix-системах, то процесс подключения USB HDD к Raspberry Pi займет не более 5 минут.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

23 комментария на «Raspberry Pi 3. Правильное монтирование USB HDD и флешек»

  1. Поправил в fstab строку, теперь она выглядит так
    UUID=B32738CA56783E6FF32 /mnt/usbdisk ntfs nofail,permissions,uid=pi,gid=pi 0 0
    Перегрузился
    Но всё равно не могу поменять права, так и висят 777

  2. К сожалению, не написано, как открыть для редактирования непосредственно сам файл fstab. А это самое важное тут.

    • Написано же:
      sudo nano /etc/fstab

      nano — консольный текстовый редактор, sudo — запуск от имени суперпользователя, /etc/fstab — путь к файлу

      • Для полных новичков с не установленным nano, может поставить их в тупик. Поэтому думаю стоило упомянуть про ее установку.

        sudo apt-get install nano

        Вот тогда редактор откроется.

        За туториал спасибо!

  3. Добрый день.
    У меня USB-HDD подключен к роутеру как медиахранилище.
    Возможно ли подключить к нему Raspberry?

      • zyxel giga II
        у него на борту transmission
        он качает из инета на себя всякое-разное и раздает в локальную сеть
        также есть возможность включить на роутере DLNA сервер
        будет через DLNA забирать?

        • Да, будет. Но по DLNA можно получать только медийный контент. Т.е. не софт, не архивы, не документы. Фильмы, музыка, фотографии — это можно.

  4. Здравствуйте. Есть проблема.
    Сделал все как написано в статье, но все равно сети не отображается сетевое хранилище и не могу понять почему, единственное что изменил в файле /etc/fstab вместо ntfs nofail,uid=pi,gid=pi, поставил rw,force,exec,users 0 0, но пробывал оставлять и так и так все равно сеть не видит хранилище также доступ 777 сделал, ничего не помогает, может из маршрутизатора Zexel

    • Может сетевое обнаружение в Windows отключено?

      Кроме того можно зайти напрямую, введя «\\raspberrypi» (или другое сетевое имя устройства, если оно менялось) в адресной строке проводника. Там должны отобразиться расшаренные ресурсы, на них можно создать ярлыки для быстрого доступа.

  5. А как восстановить обратно файлик fstab если распбери перестала загружаться после его редактирования?

    • Подключить монитор и клавиатуру, и открыть файл на редактирование после того как загрузка застопорится (sudo nano /etc/fstab). Удалить добавленные строки (после которых появились проблемы с загрузкой), сохранить изменения и перезагрузиться.

      Если команды в консоли не выполняются, то заново установить систему на карточку из файла образа или последнего бэкапа.

  6. Добрый день. Подключаю жесткий диск (NTFS), ввожу команду ls -l /dev/disk/by-uuid, но среди устройств жесткого диска нет. Что может служить причиной? Питание на RPI 2 Ампера, жесткий диск пробовал кидать на USB хаб с доп. питанием, но никаких изменений нет. Спасибо

    • Попробуйте вместо диска подключить что-то другое, например, флешку.

      Так будет понятнее в чем причина, в самом диске или у вас вообще дисковые носители почему-то не определяются.

      • Флешки определяет нормально. Если ввести команду sudo fdisk -l, то есть какая-то инфа по поводу HDD
        PS файлик fstab выглядит немного иначе, нежели у вас. У меня там нет UUID’ов

  7. Спасибо!
    Статья помогла, выполнил лишь
    apt-get update
    apt-get install ntfs-3g
    и проблемы исчезли.
    Теперь я могу сохранять файлы на внешнем носителе.

  8. Привет,
    Cпасибо за наводку про plex и hdd. Вопос скорее теоретического толка — что будет быстрее работать в контексте стриминга? Подмонтированный по smb диск, подключенный к usb роутера или диск подключенный по usb к малине?

    • На малине USB 2.0 и 10/100Mbit Ethernet, если на роутере так же, то разницы не будет.
      Если на роутере USB 3.0 и гигабитная LAN, то тяжелые файлы будут лучше проигрываться к подключенному к неу диска.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *