Raspberry автоматическое монтирование дисков
Follow the simple steps in the order mentioned below to have your USB drive mounted on your Raspberry Pi every time you boot it.
These steps are required especially if your are setting up a Samba share, or a 24x7 torrent downloader, or alike where your Raspberry Pi must have your external storage already mounted and ready for access by the services / daemons.
Step 0. Plug in your USB HDD / Drive to Raspberry Pi If you are using a NTFS formatted drive, install the following
sudo apt-get install ntfs-3g
Step 1. Log on pi using ssh terminal and execute:
You will see something like the following:
lrwxrwxrwx 1 root root 10 Jan 1 1970 0AC4D607C4D5F543 -> ../../sda1 Note down the value of the UUID --> 0AC4D607C4D5F543
Step 2. Create a location for mount point:
sudo mkdir /mnt/volume
Give proper permission:
sudo chmod 770 /mnt/volume
Step 3. Get the uid, gid for pi user and group with id command (usually 1000)
Step 4. Mount the USB Drive and then check if it is accessible at /mnt/volume
sudo mount -t ntfs-3g -o nofail,uid=1000,gid=1000,umask=007 /dev/sda1 /mnt/volume
sudo mount /dev/sda1 /mnt/volume
Note: ntfs-3g for NTFS Drives vfat for FAT32 Drives ext4 for ext4 Drives
Step 5. Now, we will configure RasPi to do this after every reboot: Take a backup of current fstab and then edit
Add the mount information in the fstab file (replace UUID with your own):
UUID=0AC4D607C4D5F543 /mnt/volume ntfs-3g async,big_writes,noatime,nodiratime,nofail,uid=1000,gid=1000,umask=007 0 0
/dev/sda1 /mnt/volume ntfs defaults 0 0
Step 8. (Optional, required if using as data storage for owncloud) If you are configuring ownCloud's data directory on your NAS drive, it should be having a 770 permission for www-data user. You can simply add user www-data to pi group, since its already having 770 as permission as set above in fstab.
sudo usermod -a -G pi www-data
This is a short guide on how to connect an External Hard Drive to the Raspberry Pi! Most external Hard Drives are quite juicy and will require a USB Hub to run in a stable manner, so please do check this before trying to install your drive!
First step is to plug it in, and then switch on your Pi! It should boot up as normal, so go ahead and log in to Raspian as usual.
Step 1. Is it there?!
If you want to check for the current storage devices attached to your Pi, simply run the command:
This reveals that we currently have our “Seagate Expansion Drive” attached.
Step 2. Check the Partitions
We now need to check the boot name of our Seagate’s partition.
Reveals that our drive is located at /dev/sda1
Step 3. Mounting it.
Now we know where our drive is, we need to mount it:
sudo mount /dev/sda1 /mnt/volume
The folder “/mnt” is the standard location for mounting permanent media, but you can always create your own folder if required using the “mkdir” command.
That’s it! Our drive is mounted.
Step 4. Permissions.
As our drive is formatted in NTFS, we might need to change the /mnt drive permissions in order to enable proper access. Simply run the following command:
sudo chmod 775 /mnt/volume
This will change your permissions and allow you to access the drive.
To test this, let’s try to create a folder. . .
Great! So we can read and write to our hardrive!
Step 5. Automounting our drive.
If you want your Hard Drive to mount from boot, we need to set this up!
First step is to edit our "fstab" file
sudo nano /etc/fstab
This will open up the file in nano text editor:
We need to add the following line to have our hard drive mount at boot!
/dev/sda1 /mnt/volume ntfs-3g uid=1000,gid==1000,umask=007,nofail,x-systemd.device-timeout=30 0 0
You can now reboot your Raspbery Pi, and your Hard Drive will automatically mount!
Step 5. How to unmount.
To unmount the drive, simply run the command:
sudo umount /mnt/volume
As long as you’re not currently accessing the drive, it should unmount successfully.
Загрузка
Извлекаем из Raspberry Pi microSD-карточку с системой, подключаем к USB наш внешний диск и подаем питание.
Начнется загрузка с внешнего диска и через десяток-другой секунд система будет готова к работе.
Важный момент №1: При подключении внешнего жесткого диска потребляемая Raspberry Pi 4 мощность возрастает. Чтобы не столкнуться с нехваткой мощности для полноценной работы микрокомпьютера заранее позаботьтесь о наличии хорошего блока питания и качественного кабеля.
Важный момент №2: В некоторых случаях Raspberry Pi 4 может некорректно грузиться с подключенных к порту USB 3.0 накопителей. Если операционная система не стартует более минуты или пытается войти в Emergency Mode — переподключите жесткий диск в любой из портов USB 2.0. Да, скорость передачи данных по USB 2.0 будет ниже, зато работать будет надежнее.
andi-rpi3 commented Aug 7, 2018
Is there any tool/code to check the edit fstab before reboot (and in worst case, fail start)?
Mount USB Drive on Raspberry Pi
Insert the flash drive into a USB port on your Raspberry Pi and execute the lsblk command to identify the name of the disk partition that points to your storage device and the filesystem type on it:
In the example above, the USB drive is recognized by the operating system of Raspberry Pi as a block device /dev/sda with a single partition /dev/sda1 in FAT format.
Create a mount point, for example:
Depending on the filesystem type, execute one of these commands to mount the USB drive:
Filesystem | Mount Command |
---|---|
FAT | |
NTFS | |
exFAT | |
EXT4 |
Once the USB drive is mounted, you can verify this by listing its contents:
To unmount the USB drive, execute the umount command:
Cool Tip: Check the real actual size of USB flash drive or SD card! Read More →
simcha07 commented Feb 12, 2018
Same experience after adding this line
UUID=F43A-5DF2 /mnt/NASRPI exfat uid=1000,gid=1000,umask=007 0 0
with:
sudo nano /etc/fstab
to
/etc/fstab
My Raspberry is not booting anymore.
New image of raspbian stretch was necessary
Вариант 2. Автоматическое монтирование через pmount
При использовании данного способа все подключаемые к «малинке» USB-накопители будут монтироваться автоматически.
Для этого нам потребуется установить утилиту pmount:
Затем создадим файл с правилами монтирования накопителя:
И впишем в него следующую строку:
Затем создадим новый сервис:
Впишем в него следующее содержимое:
Создадим файл скрипта для монтирования:
Со следующим содержимым:
Сделаем скрипт исполняемым:
После этого все подключаемые к системе устройства будут автоматически монтироваться по адресам /media/usbX/, где X — порядковый номер устройства.
Auto-Mount USB Drive on Plugin-Time
Alternatively, you can install the usbmount tool - it automatically mounts USB drives when they are plugged in and unmounts them when they are removed.
The mount points ( /media/usb3 by default), supported filesystems ( vfat , ext2 and hfsplus by default) and mount options ( sync , noexec , nodev , noatime , nodiratime by default) can be configured in /etc/usbmount/usbmount.conf file.
When multiple devices are plugged in, the first available mount point is automatically selected:
To troubleshooting any issues with usbmount , use the following command to check logs:
szymczaks0 commented May 13, 2018
This is such an irresponsible guide.
Automatically Mount USB Drive on Raspberry Pi
Run the blkid command to find out the UUID of the USB drive:
Make a backup and open the /etc/fstab file in your favorite text editor:
Depending on the filesystem type, append one of the lines from the table below to /etc/fstab and save the changes:
Filesystem | Line To Add To /etc/fstab |
---|---|
FAT | |
NTFS | |
EXT4 |
Don't forget to set the corresponding UUID and replace the mount point with the one you have created (if it is not /mnt/usb0 ).
Option | Description |
---|---|
defaults | Use default options: rw , suid , dev , exec , auto , nouser and async |
auto | Mount when mount -a is given (e.g., at boot time) |
users | Allow mount/unmount by any user |
rw | Mount read-write |
nofail | Do not report errors for this device if it does not exist |
umask=000 | Anyone can read, write or execute any file or directory |
0 0 | Don't dump. Don't check filesystem for errors during startup |
Once the record is added to /etc/fstab , the USB drive will be automatically mounted on system boot.
Also you can mount and unmout the USB drive at any time without reboot using the following commands:
Cool Tip: Shutdown & reboot Raspberry Pi safely! Read more →
hichol commented Jan 12, 2020
I fdisk -l , blkid and insert a line to /etc/fstab, boot fail I had 'nofail' recovered. but how can I troubleshoot why my boot fail or why drive won't mount at the boot time. I have search for it and all I found is just remove line cause problem.
Заключение
Вот таким образом за несколько минут настраивается сетевой доступ к размещенным на Raspberry Pi файлам.
Сетевой доступ обязательно нужно настроить в случае, если Raspberry Pi 3 будет использоваться в качестве домашнего сервера. Да и в остальных случаях сделать это будет не лишним.
19 комментария на «Raspberry Pi. Загрузка с USB-накопителя»
Цитата:
Для нужно загрузиться в Raspberry Pi OS с microSD-карты и добавить строчку с командой в файл config.txt:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
====================================================
А если открыть /boot/config.txt непосредственно в корне SD-карты и записать в него данную команду? Так возможно?
Dmitry :
Да, так тоже можно
Народ, растолкуйте, пож-та, как RPI 4 найдёт, с какого партишна внешнего диска грузиться?
Dmitry :
При записи образа системы всегда создается раздел /boot, загрузка происходит с него.
Спасибо за ответ. Но как быть, если я хочу записать ещё одну систему (типа добавить ubuntu к rasbian), то надо, кроме копирования ubuntu на новый раздел с помощью dd, ещё и его /boot переписать? У меня, кстати, /sda1 смонтирован на /boot, но он не совсем boot:
e2label: Bad magic number in super-block while trying to open /dev/sda1
/dev/sda1 contains a vfat file system labelled ‘BOOT’
Dmitry :
Вот тут не смогу ответить, ни разу еще не пробовал настраивать мультизагрузку.
Помучившись, выяснил, что .img файлы, поставляемые ubuntu, являются образом всего диска, как Вы и написали, и содержат в себе 2 раздела — fat с именем system-boot и ext4 writable.
Как я понимаю, записывать их можно с помощью dd, но на весь диск ( типа /dev/sdc ), а не на partition (dev/sdc1). Мне этот вариант не подошёл, и удалось найти (накопать) другое решение — с помощью fdisk -lu узнать структуру файла .img, а потом mount -t [vfat,ext4] -o loop,offset=?,sizelimit=? обеспечивает доступ к каждому разделу отдельно.
Я пока только в начале пути, так что больших подробностей об этом пока не знаю. Спасибо за помощь!
а попробуй как нибудь установить загрузчик grub чтоб можно было выбирать на какую ос загружаться
Вопрос — а если мне надо, чтобы на этом диске кроме /boot и / (16G) был ещё раздел в формате NTFS/FAT32 (484G, чтобы можно было читать-писать в Win10)? Будет ли он тоже читаться? По умолчанию, на USB можно подсоединять любые диски, в том числе и NTFS/FAT32, и они будут читаться как внешние в /media/pi/имя_диска. А вот при загрузке с USB-диска куда будет подключен новый раздел?
Dmitry :
Не проверял, но наверняка также в /media/.
А как быть, если имеется установленная и настроенная система на карте памяти и не хочется её переустанавливать? Как перенести систему с карты памяти на USB-SSD, отказавшись полностью от карты памяти?
Dmitry :
Полностью скопировать содержимое карты памяти на SSD. Можно воспользоваться для этого утилитой dd, только пути к смонтированным устройствам надо будет поменять на правильные.
А как использовать все пространство жесткого диска, если образ который сняли с флешки гораздо меньше объема диска, диск при записи образа становится объемом как та флешка, с которой сняли образ?
Dmitry :
Расширить его через Raspberry Pi Software Configuration Tool:
В Advanced Options надо выбрать выбрать пункт Expand Filesystem.
Спасибо, для 3b+ проблем с переносом ОС на жесткий диск не возникло, а вот 3b ни как не получается запустить с диска…. все манипуляции уже провел. На 3b установлен Home Assistant.
Вы озабачивались функцией TRIM при переезде на SSD?
Dmitry :
В отсутствие интенсивных процессов создания-удаления файлов TRIM не нужен. Если сохранять не менее 20% свободного дискового пространства, то контроллер SSD и без TRIM эффективно проводит процедуры обслуживания.
В этой публикации из цикла статей о Raspberry Pi и Arduino я хочу рассказать о том, как правильно подключать внешние жесткие диски (USB HDD) к Raspberry Pi.
Монтирование жесткого диска обязательно потребуется, если «малину» планируется использовать для работы с контентом в домашней сети. Поэтому я хочу вынести инструкцию по монтированию HDD и флешек в отдельную статью, дабы иметь возможность ссылаться на нее в своих последующих публикациях.
Установка системы
Установка операционной системы для Raspberry Pi на USB-накопитель ничем принципиально не отличается от установки на microSD-карту: нам все также потребуется скачать образ нужной системы и записать его на подходящий диск.
Удобнее всего использовать для этого специальную утилиту Raspberry Pi Imager, доступную под Windows, Ubuntu и macOS. В отличие от универсальных приложений для записи образов (Rufus, Win32DiskImager, balenaEtcher и т.п.), она может работать не только с локально хранящимися файлами, но и выкачивать нужный образ с сайта Raspberry Pi Foundation прямо в процессе записи.
Выбираем нужный образ из списка:
Выбираем накопитель для записи:
И дожидаемся окончания процесса:
На этом все. Но если в дальнейшем планируется использовать Raspberry Pi в headless-режиме, то стоит сразу закинуть в корень получившегося загрузочного диска пустой файл с названием «ssh» без расширения. А если для подключения к сети будет использоваться беспроводной интерфейс, то туда же в корень нужно добавить файл wpa_supplicant.conf с данными для подключения к точке доступа:
astewartau commented Feb 7, 2018 •
After adding the line
UUID=CA74-83DD /mnt/usb vfat uid=1000,gid=1000,umask=007 0 0
To my /etc/fstab file, my Raspberry Pi no longer boots. I will have to re-image it.
jrodriguez6 commented Oct 21, 2018
Does this mean the Drive is Mounted.
I want to make sure the drive loads even after a Power Failure.
Вариант 2. Сборка из исходников
Добавлено: 16 мая 2020 года
В некоторых случаях требуется установить более свежую версию Samba по сравнению с доступной в стандартных репозиториях.
Шаг 1. Скачаем и распакуем архив с дистрибутивом:
И удалим установленный пакет samba, если до этого утилита уже устанавливалась из репозитория:
Шаг 2. Установим необходимые для сборки пакеты:
ВНИМАНИЕ: это не универсальный список нужных пакетов, требования к нему могут немного различаться в зависимости от используемого дистрибутива Linux. Поэтому если на этапе конфигурации и сборки возникают ошибки, то нужно обратиться к справочной документации на этой странице и посмотреть требования для своей системы.
Шаг 3. Перейдем в папку с распакованным дистрибутивом:
И начнем конфигурирование:
Скрипт конфигурации может ругаться в процессе работы, что ему не удалось что-то найти. Это нормально, главное чтобы процесс конфигурации завершился без ошибок. Если ошибки возникли — возвращаемся к предыдущему шагу, читаем документацию и доустанавливаем недостающие пакеты, после чего запускаем скрипт со всеми параметрами заново.
Шаг 4. Сборка и установка
Запустим сборку пакета:
После завершения процесса запустим установку:
Шаг 5. Запуск Samba
И убедимся, что он заработал:
5 комментария на «Raspberry Pi 3. Организация сетевого доступа к файлам через Samba»
Здравствуйте Дмитрий, я настроил общий локальный доступ к каталогу, спасибо. Вопрос следующий, каким образом этот каталог можно открыть через браузер, аналогично ftp://ip:порт, я пытался реализовать с помощью установки ftp, но везде требуется ввод логина и пароля, окно авторизации убрать невозможно, анонимный доступ не работает на локальных пользователей. Еще рассматриваю последним вариантом nextcloud.
Dmitry :
Можно установить Apache / Nginx и хранить файлы в /var/www/название_каталога/. Открывать в браузере как обычный сайт.
Если нужен доступ из браузера не только на чтение, но и на запись, то можно установить на локальный веб-сервер файловый менеджер (FileRun, phpXplorer и т.п.). Все остальное аналогично предыдущему пункту.
Либо же Nextcloud.
Все верно вы написали.
Надо только перед правкой smb.conf лучше остановить самбу
sudo services samba stop
а потом запустить
все сделал как у вас,но комп и телик не видят расширенные папки.что делать?
You can connect the external HDD, SSD or USB flash dives to any of the USB ports on the Raspberry Pi and mount the file system to access the data stored on it.
In this article i will show how to manually or automatically at boot time mount a storage device on the example of a USB flash drive.
I will also show how to mount USB storage devices automatically when they are plugged in, and unmount them when they are removed using usbmount tool.
Cool Tip: Test performance of HDD, SSD, USB Flash Drive, SD card! Read more →
rockwotj commented Aug 4, 2019
sudo findmnt --verify --verbose is the best way I've found the verify fstab.
48 комментария на «Raspberry Pi 3. Правильное монтирование USB HDD и флешек»
Поправил в fstab строку, теперь она выглядит так
UUID=B32738CA56783E6FF32 /mnt/usbdisk ntfs nofail,permissions,uid=pi,gid=pi 0 0
Перегрузился
Но всё равно не могу поменять права, так и висят 777
Ну ntfs-систем нет особо понятия прав доступа как в ехт, поэтому там все как 777 для линуха)
К сожалению, не написано, как открыть для редактирования непосредственно сам файл fstab. А это самое важное тут.
Dmitry :
Написано же:
sudo nano /etc/fstab
nano — консольный текстовый редактор, sudo — запуск от имени суперпользователя, /etc/fstab — путь к файлу
Для полных новичков с не установленным nano, может поставить их в тупик. Поэтому думаю стоило упомянуть про ее установку.
sudo apt-get install nano
Вот тогда редактор откроется.
За туториал спасибо!
Dmitry :
В обычном Raspbian Jessie он предустановлен по умолчанию уже). Хотя может в Lite-редакции его и нет, не проверял.
Добрый день.
У меня USB-HDD подключен к роутеру как медиахранилище.
Возможно ли подключить к нему Raspberry?
Dmitry :
А вот если роутер Xiaomi и у него какая-то хитрая система с доступом к медиахранилищу через свои приложения, то скорее всего нет.
zyxel giga II
у него на борту transmission
он качает из инета на себя всякое-разное и раздает в локальную сеть
также есть возможность включить на роутере DLNA сервер
будет через DLNA забирать?
Dmitry :
Да, будет. Но по DLNA можно получать только медийный контент. Т.е. не софт, не архивы, не документы. Фильмы, музыка, фотографии — это можно.
Если используемый жесткий диск будет отформатирован не в NTFS, а в ext4. Что изменится?
Dmitry :
Особо ничего. Только нужно будет в fstab вместо «ntfs nofail,uid=pi,gid=pi» указать «ext4 defaults».
Подозреваю, что для ext4 сойдёт и «auto defaults» :)
Здравствуйте. Есть проблема.
Сделал все как написано в статье, но все равно сети не отображается сетевое хранилище и не могу понять почему, единственное что изменил в файле /etc/fstab вместо ntfs nofail,uid=pi,gid=pi, поставил rw,force,exec,users 0 0, но пробывал оставлять и так и так все равно сеть не видит хранилище также доступ 777 сделал, ничего не помогает, может из маршрутизатора Zexel
Dmitry :
Может сетевое обнаружение в Windows отключено?
Кроме того можно зайти напрямую, введя «\\raspberrypi» (или другое сетевое имя устройства, если оно менялось) в адресной строке проводника. Там должны отобразиться расшаренные ресурсы, на них можно создать ярлыки для быстрого доступа.
А как восстановить обратно файлик fstab если распбери перестала загружаться после его редактирования?
Dmitry :
Подключить монитор и клавиатуру, и открыть файл на редактирование после того как загрузка застопорится (sudo nano /etc/fstab). Удалить добавленные строки (после которых появились проблемы с загрузкой), сохранить изменения и перезагрузиться.
Если команды в консоли не выполняются, то заново установить систему на карточку из файла образа или последнего бэкапа.
Добрый день. Подключаю жесткий диск (NTFS), ввожу команду ls -l /dev/disk/by-uuid, но среди устройств жесткого диска нет. Что может служить причиной? Питание на RPI 2 Ампера, жесткий диск пробовал кидать на USB хаб с доп. питанием, но никаких изменений нет. Спасибо
Dmitry :
Попробуйте вместо диска подключить что-то другое, например, флешку.
Так будет понятнее в чем причина, в самом диске или у вас вообще дисковые носители почему-то не определяются.
Флешки определяет нормально. Если ввести команду sudo fdisk -l, то есть какая-то инфа по поводу HDD
PS файлик fstab выглядит немного иначе, нежели у вас. У меня там нет UUID’ов
Спасибо!
Статья помогла, выполнил лишь
apt-get update
apt-get install ntfs-3g
и проблемы исчезли.
Теперь я могу сохранять файлы на внешнем носителе.
Привет,
Cпасибо за наводку про plex и hdd. Вопос скорее теоретического толка — что будет быстрее работать в контексте стриминга? Подмонтированный по smb диск, подключенный к usb роутера или диск подключенный по usb к малине?
Dmitry :
На малине USB 2.0 и 10/100Mbit Ethernet, если на роутере так же, то разницы не будет.
Если на роутере USB 3.0 и гигабитная LAN, то тяжелые файлы будут лучше проигрываться к подключенному к неу диска.
Спасибо. Познавательно. Вопрос, если я подключаю флешку с несколькими разделами, два из которых нтфс и два ехт3, как быть в этом случае?
Dmitry :
Если на флешке несколько разделов, то они все отобразятся при выполнении команды ls -l /dev/disk/by-uuid.
Просто монтировать их по отдельности на разные пути, и для ext3 раздела прописать в fstab соответствующий тип файловой системы.
Это все как бы хорошо, но вот в чем проблема.
Таким образом рассшаривается конкретный диск, возможно ли сразу рассшарить усб порт, что любой диск подключающийся в порт автоматически становился доступным по сети?
Dmitry :
Есть платное приложение VirtualHere Linux USB Server, расшарить USB-порт можно через него. Других способов я не знаю, средствами самой ОС это вроде бы не делается.
Привет всем!
Сегодня решил проделать это, и есть изменения в схеме, так как эта схема не работает =//
в файле, что изменяется нужно ставить не UUID имя переменной, а PARTUUID, почему… хз)
Но есть момент, который поможет увидеть успешный результат ДО перезагрузки малинки — прописать команду: `sudo mount -a`. И если ничего не ругалось — то все ок и все работает.
после перезагрузки чтоб понять, что все точно ок — можно зайти на этот носитель
`
cd /mnt/usbstorage
ls
`
Есть проблема если внешний диск постоянно дёргать туда сюда, приходится каждый раз перегружаться чтобы система вновь его увидела.
Есть какое нибудь решение чтобы автоматически подхватывало когда диск вернулся?
Ещё заметил что при использовании transmission демона процесс mount.ntfs грузит процессор под 100%, настраивал всё по вашим гайдам. Насколько я понял из инета проблема в том, что торрент клиент постоянно делает мелкие записи, что очень нагружает проц потому как ntfs сам по себе очень ресурсо затратен под линукс. Может ли стать решением отформатировать внешний винт в exfat и полностью отказаться от ntfs, как думаете?
Dmitry :
Добрый день, если диск планируется использовать постоянно подключенным к Raspberry Pi, то действительно лучше отформатировать его в ext4 вместо NTFS.
А вот как сделать автомонтирование при переподключении USB-накопителя пока не могу ответить.
День добрый! Совсем новичок в Линуксе, поэтому объясните, если не трудно. В чем необходимость/преимущества такого монтирования через fstab по сравнению с просто подключением диска без всего?
Использую Raspberry pi 4 с Raspbian Buster. Подключил внешний жёсткий и он сразу стал доступен. Но в fstab записей никаких не появилось, конечно же. Интересно просто, что меняется при правильном монтировании? Или в Buster’e это просто уже не актуально и все монтируется автоматом как нужно?
Заранее благодарен за ответ!
Dmitry :
Здравствуйте! Buster еще не устанавливал, посмотрю.
Добрый день. Потянет ли pi3b 4 диска (2,5) подключенных по usb? или нужно организовывать для дисков отдельное питание? (остались 4 диска *500гб при переходе на ssd. хочется использовать).
Dmitry :
Добрый день.
Сомневаюсь. 2 диска без доп.питания еще может потянуть, но сразу 4 точно нет. Так что, да, нужно будет организовывать отдельное питание.
Спасибо, так и думал. Подыскиваю что можно прикупить не сильно дорогое и с доп питанием.
За статьи спасибо. Реально выручили!.
Dmitry :
Руководство обновлено, добавлено описание настройки автоматического монтирования накопителей через pmount.
Там в «sudo nano usr/local/bin/cpmount» не забываем / перед usr
Dmitry :
Точно, сейчас поправлю
Как сделать что бы устройства монтировались в папку отличную от /media/usbX/
заменил media на storage в файле cpmount, но смонтировалось все равно в папку /media/usbX/….
Давай, может быть, как-то например так перепишем скрипт монтирования? :)
for (( i=1; i do
if ! mountpoint -q /media/$MPOINT_NAM_TAMPL$i
then
/usr/bin/pmount —umask 000 —noatime -w —sync $1 $MPOINT_NAM_TAMPL$i
break
fi
echo No available mountpoints
done
День добрый.
raspberry pi 4. По USB подключаем винт NTFS и он прекрасно опознается.
Только когда пропадает / появляется питание, raspberry не может стартовать с подключенным винтом.
Приходится вытаскивать винт из USB, запускать raspberry и только потом снова подключать винт.
Как это побороть? Чтобы после восстановления питания Raspberry нормально запускалась?
Спасибо
Добрый день! У меня чуть другой зверек. но это сути дела не меняет. в fstab монтирую флешку по дефолту. файловая система exfat. флешка тупо не хчет форматироваться в другую файловую систему. повторяю не хочет зависает при создании журнала ext4. поэтому только exfat. раздаю самбой. ресурс виден. но запись запрещена. куда рыть? 68 лет и голова не хочет отдупляться. неделю сижу. нужен тихий домашний серверок без крутилок типа харда. 2 тб ссд в продаже нет. да и затея по цене потеряет смысл.
Dmitry :
Добрый день. Я бы предложил отформатировать флешку из Windows. Системная утилита в ext4 не форматирует, но есть много программ, которые это умеют — PartitionGuru, Partition Assistant и т.п.
Если нет аппаратных проблем в самой флешке, то это решит проблему.
Добрый день.
Использую Raspberry pi 4. Установлено Volumio и подключена USB флешка, на которой имеется
плейлист m3u для Web радио Radio Caprice.
Как правильно указать URL этого плейлиста: 192.168.1.39… и что написать далее?
Dmitry :
Добрый день, я не пользовался Volumio. Думаю, что надо посмотреть в документации по системе как вообще в нее подгружаются плейлисты. Думаю, что там есть какие-то стандартные папки для хранения медиафайлов, и нужно либо менять пути к ним, либо размещать файлы по этим стандартным путям.
Еще один небольшой шаг к освоению Raspberry Pi заключается в настройке сетевого доступа к размещенным на ней файлам.
Сетевой доступ к файлам организовывается по SMB-протоколу, для чего нужно установить на микрокомпьютер пакет Samba и настроить серверную часть. Необходимые для этого действия займут буквально несколько минут времени.
Заключение
Если с самого начала разобраться в процессе монтирования устройств в *nix-системах, то процесс подключения USB HDD к Raspberry Pi займет не более 5 минут.
benfleuty commented Oct 3, 2018
To those having issues: XXXX-XXXX is a partial UUID, not the full UUID. Use the full UUID.
Установка прав доступа
В завершении процедуры монтирования жесткого диска нужно выставить права доступа:
777 — полный доступ на чтение, запись и запуск файлов для всех пользователей. Рискованное с позиции безопасности разрешение, но гарантированно беспроблемное.
Если «малина» находится в домашней сети, то ничего страшного от выставления полного доступа для всех к примонтированному к ней жесткому диску не произойдет. Но в локальных сетях на предприятиях и на интернет-серверах полный доступ к файлам выставлять нельзя.
На этом процесс монтирования можно считать завершенным и остается только перезагрузить систему:
wgranicki commented Oct 17, 2019 •
I need to point out, that
cd /mnt/volume
sudo mkdir /IMAFOLDER
cd /IMAFOLDER
does not do what you say it does.
It creates a folder in / , not in /mnt/volume .
What you're looking for is:
cd /mnt/volume
sudo mkdir IMAFOLDER
cd IMAFOLDER
or just
sudo mkdir /mnt/volume/IMAFOLDER
ls -l /mnt/volume
EDIT: But, the whole "Step 4. Permissions." doesn't make much sense. As root (you're using sudo here), you will always have access to /mnt and underlying folders. If you want to be able to access it as standard user, you either need to allow it in full for all users, e.g.
sudo chmod 777 /mnt/volume
or change ownership to your user and then set correct permissions, e.g.
sudo chown your_username:your_groupname /mnt/volume
sudo chmod 750 /mnt/volume
(to find your_username and your_groupname, use id )
So, effectively, you should be able to do
mkdir /mnt/volume/IMAFOLDER
without sudo . That's when you know, you have the right permissions (confirm with ls -l /mnt/volume if you want).
helderc commented Aug 10, 2018
This tutorial works fine. It is not stupid as some are saying!
To avoid the boot fail you must to add the nofail parameter as I did below:
UUID=6C7A421A7A41E186 /mnt/HD_Ext ntfs async,big_writes,noatime,nodiratime,nofail,uid=1000,gid=1000,umask=007 0 0
Keep in mind that if its not working, or giving some errors, just restore the backup!
Что нам понадобится
Для осуществления описываемых в этой статье действий понадобится:
Процесс установки и настройки Raspbian описан в статье «Raspberry Pi 3. Обзор и начало работы».
Подключение жесткого диска к Raspberry Pi описано в статье «Правильное монтирование USB HDD и флешек».
RPGillespie6 commented Jan 20, 2020
After adding the line
UUID=CA74-83DD /mnt/usb vfat uid=1000,gid=1000,umask=007 0 0
To my /etc/fstab file, my Raspberry Pi no longer boots. I will have to re-image it.
No need to reimage, just mount sd card partition on another computer and revert the line
filRocha commented Mar 9, 2019
It is indeed a good step-by-step. Thank you, it worked for me after trying many other tutorials.
The only thing to do is add nofail in the fstab command, just like other colleagues said.
Greetings!
ricardolopes86 commented Mar 23, 2019
If you're stuck and your Pi isn't booting. Just power off, put the microsd on an adapter and mount it on a Linux machine, then you'll be able to change the /etc/fstab file to add the nofail option to prevent not booting anymore.
F1XM4J commented Mar 12, 2019
I had the same problem, I followed this and it would not boot anymore, but I managed to get it back doing the following
- Hold shift on you Pi bootscreen, it will bring you to NOOBS config screen
- Add init=/bin/sh to cmdline.txt (this line is a 1 line text file, DO NOT ADD A NEW LINE, simply write "init=/bin/sh" (without the quotes) somewhere in the file
- Reboot
- From there, the Pi is in read only since the file system has not been mounted properly, so run the command
mount -o remount,rw / - Now, you should be able to edit the fstab, so 'nano /etc/fstab'. Either you remove the line that caused your Pi to fail or you add 'nofail,x-systemd.device-timeout=1' in the mount options of your external drive (this worked for me)
- Reboot your Pi and hold Shift on the splashscreen again because you will want to remove that 'init=/bin/sh' line
- Reboot your Pi and enjoy the feeling of not loosing everything you had on there
Добавление в Raspbian поддержки NTFS
Скорее всего, используемый жесткий диск будет отформатирован в NTFS.
В OS Raspbian нет поддержки NTFS «из коробки», поэтому нужно установить соответствующий пакет:
После этого можно приступить непосредственно к монтированию HDD.
miky-boy commented Jul 31, 2021
Recently i had a problem with my USB drive and the PI stop booting. Always on Emergency mode. After a lot of head pains and wasted hours i realized the problem is on the drive and the corrupted fstab.
The solution was very easy at the end and i leave my expericience for those gad the same problem or similars. The solution is install the application "DiskGenius" on Windows computer and insert the microSD card from the PI.
The full linux system will be available and you are able to download the file from SD to computer, edit on any notepad software and put it back on the SD Card, using "DiskGenius". You cannot edit it directly under the application, but is easy as well.
I tested before a lot of applications, but the unique working was "DiskGenius".
Hope save time and "lifes" :)
Best Regards
Miky
Что нам понадобится
Для осуществления описываемых в этой статье действий понадобится:
Хорошая новость — все свежие модели микрокомпьютеров линейки Raspberry Pi «из коробки» поддерживают загрузку с USB-накопителей. И только на старых моделях эту возможность нужно активировать вручную.
AurelFR commented Apr 17, 2022 •
For me it just working like this
my info
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Apr 17 10:52:05 2022 from 192.168.1.65
pi@deluge:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 2.4G 26G 9% /
devtmpfs 430M 0 430M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 7.2M 455M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 463M 0 463M 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 48M 205M 19% /boot
tmpfs 93M 0 93M 0% /run/user/1000
then edit my fstab file -something like this
in the file what i had before
GNU nano 3.2 fstab
proc /proc proc defaults 0 0
PARTUUID=2fd6b8cb-01 /boot vfat defaults 0 2
PARTUUID=2fd6b8cb-02 / ext4 defaults,noatime 0 1
and add my PARTUUID s
something like this
GNU nano 3.2 fstab
Не так давно я описывал процесс установки сервера Home Assistant на Raspberry Pi и упоминал недостаток подобной системы: работающий Home Assistant может довольно быстро «убивать» microSD-карточки интенсивными операциями чтения-записи.
Выход из ситуации — установка системы на внешний HDD или SSD диск и загрузка микрокомпьютера с него.
Заключение
Легкость перевода Raspberry Pi на загрузку с USB-накопителей — еще один довод за покупку микрокомпьютеров именно этой линейки.
Буквально 10 минут работы позволяют в разы повысить надежность системы, отказавшись от использования карточек памяти с ограниченным ресурсом в пользу твердотельных накопителей или обычных HDD.
tamasbalassa commented Dec 27, 2018
Addig "nofail" worked for me. Thanks!
jrodriguez6 commented Oct 21, 2018
Trying to add a WD 1 TB Passport to Raspberry Pi 3B, Got to Step 4: Got Denied:
pi@jgrpi:~ $ sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=007 /dev/sda1 /mnt/volume
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.
Tried:
pi@jgrpi:~ $ sudo mount /dev/sda1 /mnt/volume
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.
What do I do Next? Thanks
I'm trying to Create an FTP Sever to work with a WiFi Security Cam as a Cloud Drive.
Please Help I'm Lost I have no Idea how this works.
Joe
Retired USAF SMSgt
Активация загрузки с USB на Raspberry Pi 2 / 3
Для появления возможности загрузки с USB-накопителей на Raspberry Pi 3 нужно активировать опцию USB Boot Mode путем внесения значения в OTP-память.
Для нужно загрузиться в Raspberry Pi OS с microSD-карты и добавить строчку с командой в файл config.txt:
А затем перезагрузить систему:
Во время следующей загрузки команда будет обработана и пропишет активирующее возможность загрузки с USB-дисков значение в OTP-память микрокомпьютера. Данная операция необратима. Но волноваться по этому поводу не стоит: активация USB Boot Mode не лишит вас возможности запускать «малинку» с microSD-карты, а всего лишь добавит новую опцию, которая активна по умолчанию в более свежих моделях микрокомпьютера.
Также обращу внимание, что из config.txt строка program_usb_boot_mode=1 сама по себе никуда не денется, поэтому после перезагрузки ее желательно оттуда удалить.
Вариант 1. Монтирование USB HDD через fstab
fstab — конфигурационный файл, в котором описывается каждое из подключенных к компьютеру устройств хранения информации.
Добавлением строк в этот файл в *nix-системах совершается монтирование жестких дисков и других устройств.
Структура записей fstab выглядит так:
Наша цель — в правильной форме создать и записать строку для монтирования подключенного по USB жесткого диска (или флешки).
Для начала найдем нужное нам значение для жесткого диска. Для этого при подключенном жестком диске нужно выполнить команду:
В ответ на которую мы увидим нечто примерно такое:
Строка с /sda1 — наш жесткий диск. А написанное синим шрифтом — это как раз то, что мы ищем. Копируем эти символы куда-нибудь.
Теперь создадим точку монтирования:
Я решил, что мой смонтированный жесткий диск будет доступен по пути /usbstorage, но этот параметр может быть любым.
Ничто не мешает назвать точку монтирования /hdd1, /500gb, /media, /data или любым другим ранее не задействованным именем.
Название точки монтирования — это наше будущее значение в структуре записи fstab.
Теперь разбираемся со значением .
Поле — тут нужно будет указать файловую систему, в которой отформатирован наш накопитель. Если мы ранее пользовались Windows, то скорее всего жесткий диск отформатирован в NTFS. Менее вероятно — FAT32. Практически невероятно — EXT4 и другие применяемые в *nix-системах файловые системы.
Если ошибиться в указании файловой системы монтируемого жесткого диска, то это гарантированно приведет к ошибке во время загрузки Raspbian.
Далее идут опции монтирования (). Они перечисляются через запятую. Рекомендую просто написать как у меня: «nofail,uid=pi,gid=pi».
И последними в структуре идут и .
Первый используется утилитой dump для создания резервных копий. Этот параметр нужно выставить «0».
Второй определяет приоритет, с которым утилита для сканирования и исправления ошибок fsck будет приступать к сканированию данного диска. Значением этого параметра может быть «0», «1» или «2», где «1» и «2» — приоритеты, а «0» — отключение. Я выставил «0», но можно поставить и «1» — особо это ни на что не влияет.
Таким образом, у меня формируется следующая строка для добавления в fstab:
Набор символов после UUID= нужно вставить свой, остальную часть строки можно использовать в таком виде без изменений.
Вставляем строку в fstab и сохраняем его:
Вариант 1. Установка из репозитория
Samba имеется в стандартных репозиториях, поэтому установка заключается в выполнении одной единственной консольной команды:
После чего остается только подождать минуту-другую пока скачаются и распакуются все необходимые файлы, и можно приступать к настройке серверного модуля.
leofuscaldi commented Jan 24, 2019
worked for me. you have to use FULL UUID, not only partial!
KenaiFreex commented Feb 18, 2018
kfrncs commented Jun 25, 2018
just chiming in:
using the following format in fstab I got it working successfully:
/dev/sda1 /mnt/volume ntfs defaults 0 0
I also added nofail and x-systemd.device-timeout=1 as per the Arch wiki.
Настройка Samba
Для настройки сервера Samba необходимо сделать две вещи: задать пользовательский пароль и отредактировать файл конфигурации.
Начнем с пароля:
Этой командой мы задаем пароль для пользователя pi, с которым можно будет получить доступ к расшаренным на Raspberry Pi ресурсам по SMB-протоколу.
Можно обойтись и без пароля, расшарив ресурсы для гостевого доступа. Но я рекомендую гостевой доступ не открывать, а пароль все-таки установить.
Пароль установлен, теперь надо отредактировать файл конфигурации:
В этом файле нас в первую очередь интересует группа параметров [global]. В нее нужно добавить следующие строки:
Заголовок [global] повторно писать не нужно, нужно просто добавить 4 строки под имеющийся заголовок.
Также нужно уделить внимание уже прописанному в [global] параметру:
В нем указывается название рабочей группы, в которую входят объединенные в локальную сеть компьютеры. По умолчанию имя рабочей группы так и указывается WORKGROUP и трогать этот параметр не нужно. Но если у вас рабочая группа названа как-то нестандартно, то нужно изменить этот параметр, вписав вместо WORKGROUP ее правильное название.
Теперь прописываем ресурсы для расшаривания. Следующие строки нужно вписать в самый конец файла, вместе с заголовком в квадратных скобках:
Эти строки создают ресурс, который будет виден (browseable = yes) в сетевом размещении под названием usbstorage ([usbstorage]) и доступен для записи (writeable = yes, read only = no), и находящийся на Raspberry Pi по пути /mnt/usbstorage.
Можно сделать несколько отдельных шар, прописав в конфиге несколько ресурсов с отдельными [названиями] и указав в каждом свой /путь/до/нужной/директории.
При этом нужно убедиться, что у пользователя, под которым мы будем логиниться по SMB-протоколу, есть права доступа к этим файлам. Если нет — их нужно задать:
Можно открыть гостевой доступ, прописав его следующим образом:
Все это вопрос удобства и личных предпочтений.
Мне было удобнее расшарить весь диск целиком, сделав доступ к нему доступным по паролю.
Закончив редактировать конфигурацию Samba, перезагрузим Raspberry Pi для применения изменений:
И проверим работоспособность введенных параметров.
Открываем «Сетевое окружение», находим в нем свою Raspberry Pi:
Вводим заданный пароль для пользователя pi:
Если пароль введен верно, то видим расшаренные ресурсы.
Первый из них — корневая директория пользователя, она расшарена по умолчанию и только для чтения. Второй — жесткий диск:
Все работает, файлы доступны для просмотра и изменения, значит все сделано правильно.
Robert-Gustavsson commented Mar 2, 2018 •
@astewartau: That happened to me aswell. Luckily I had another Pi and an external SD card reader so I put the "dead" SD card into the other Pi and removed the offending fstab line. There is an option that can be added so the Pi continues the boot process after 90 seconds even if the mount can't be done.
UUID=CA74-83DD /mnt/usb vfat uid=1000,gid=1000,nofail,umask=007 0 0
Установка Samba
Первым делом нужно установить Samba — программу, реализующую доступ к файлам по протоколу SMB.
astewartau commented Feb 7, 2018 •
After adding the line
UUID=CA74-83DD /mnt/usb vfat uid=1000,gid=1000,umask=007 0 0
To my /etc/fstab file, my Raspberry Pi no longer boots. I will have to re-image it.
totial commented May 17, 2019
In case someone breakes the boot up ot the raspberry avoid reinstalling raspbian from scratch by placing the microSD card into another computer and changing the /etc/fstab by removing the added line to make it the default. I saw lots of ppl doing a reimage when its not necessary. Hope it saves your time ;)
xkdcc commented Dec 10, 2018 •
To revert the fstab withouth re-imaging or use another raspberry pi, if you are using NOOBS and have a monitor/kb connected to your pi, press shift to go to recovery mode at boot time:
- Edit cmdline.txt and add the following parameter at the end of the line: init=/bin/sh
Then ESC , you will be dropped into a shell. - Run mount -o remount,rw / and vi /etc/fstab and comment out the offending line and save it.
- Then run sync and do a reboot.
- Go to recovery mode to remove init=/bin/sh from cmdline.txt , press ESC once you're done.
- Now you should be able to boot your pi again.
Что нам понадобится
Для осуществления описываемых в этой статье действий понадобится:
Установке и настройке Raspbian на Raspberry Pi 3 посвящена статья «Raspberry Pi 3. Обзор и начало работы». В этой статье подразумевается, что OS Raspbian уже установлена и готова к работе.
bernd-wechner commented Jul 14, 2018
Totally the same experience. Followed this Pi wouldn't boot. Used this in /etc/fstab instead:
/dev/sda1 /media/USBdrive ext4 defaults,nofail,x-systemd.device-timeout=1,noatime 0 0
and it works a charm. Note of course that I formatted my USB drive ext4, as it's a permanent fixture with my pi and I have no need or desire to move it, and even if I did, well my whole home LAN is Linux based and I got no probs with ext4 format drives.
spoutnik16 commented Aug 7, 2018
this is an insanely stupid guide.
if you follow it, it doesn't work and your have to reinstall your raspberry from scratch.
Читайте также: