- Как смонтировать USB-HDD в Linux
- 1. Обнаружение USB-диска
- 2. Создание точки монтирования
- 3. Монтирование USB-диска
- 4. Доступ к данным на USB-диске
- Размонтирование USB-диска
- Постоянное монтирование USB-диска в Linux
- Заключение
- USB storage devices (Русский)
- Автоматическое монтирование с помощью udisks
- Монтирование вручную
- Где взять ядро, поддерживающее usb_storage
- Опознавание устройств
- Монтирование USB флэш-памяти
- От имени суперпользователя (root)
- Разрешить запись обычным пользователям
- От имени обычного пользователя посредством fstab
- Инструменты монтирования
- Решение проблем
- Никакие устройства хранения USB не распознаются системой
- Устройство USB определилось, но его не получается примонтировать
- Устройство не выключается после размонтирования всех разделов
Как смонтировать USB-HDD в Linux
В данной статье описано, как подключить USB-диск в системе Linux с помощью терминала и командной строки shell. Если вы пользуетесь менеджером рабочего стола, то, скорее всего, сможете использовать его для монтирования USB-диска.
Монтирование USB-диска ничем не отличается от монтирования флешки или даже обычного SATA-диска.
В этом руководстве вы узнаете, как:
1. Обнаружение USB-диска
После подключения USB-устройства к USB-порту система Linux добавляет новое блочное устройство в каталог /dev/. На данном этапе вы не можете использовать это устройство, так как файловая система устройства USB должна быть смонтирована, прежде чем вы сможете получить или сохранить какие-либо данные. Чтобы узнать, какое имя имеет файл блочного устройства, нужно выполнить команду fdisk -l.
Команда fdisk требует административных привилегий для доступа к необходимой информации, поэтому ее необходимо выполнять от имени пользователя root или с использованием префикса sudo.
После выполнения вышеуказанной команды вы получите результат, аналогичный приведенному ниже:
Disk /dev/sdc: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdc1 * 8192 15523839 15515648 7.4G b W95 FAT32
В приведенном выше отчете, скорее всего, будет перечислено несколько дисков, подключенных к вашей системе. Найдите свой USB-диск по его размеру и файловой системе. Когда все готово, запишите имя блочного устройства раздела, который вы собираетесь монтировать. Например, в нашем случае это будет /dev/sdc1 с файловой системой FAT32.
2. Создание точки монтирования
Прежде чем использовать команду mount для монтирования раздела USB-диска, необходимо создать точку монтирования. Точкой монтирования может быть любой новый или существующий каталог в файловой системе хоста. Используйте команду mkdir для создания нового каталога точки монтирования, в который вы хотите смонтировать USB-устройство. Например:
3. Монтирование USB-диска
На этом этапе можно монтировать раздел USB-диска /dev/sdc1 в точку монтирования /media/usb-drive:
# mount /dev/sdc1 /media/usb-drive/
Чтобы проверить, правильно ли смонтирован ваш USB-диск, снова выполните команду mount без каких-либо аргументов и используйте grep для поиска имени устройства USB-блока:
# mount | grep sdc1 /dev/sdc1 on /media/usb-drive type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf8,shortname=mixed,errors=remount-ro
Если команда mount не выводит никаких данных, ваш USB-раздел не смонтирован. Кроме того, проверьте, правильно ли вы использовали имя устройства блока в приведенной выше команде.
4. Доступ к данным на USB-диске
Если все прошло успешно, мы можем получить доступ к нашим данным на накопителе USB, просто перейдя к ранее созданной точке монтирования /media/usb-drive:
Размонтирование USB-диска
Прежде чем размонтировать наш раздел расположенный на USB-диске, мы должны убедиться, что ни один процесс не использует каталог точки монтирования и не обращается к нему, иначе мы получим сообщение об ошибке, подобное приведенному ниже:
umount: /media/usb-drive: target is busy (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1).)
Для размонтирования USB-диска, выполните следующую команду linux:
Постоянное монтирование USB-диска в Linux
Если у вас имеет место постоянное подключение USB-диска и чтобы после перезагрузки диск автоматически монтировался, добавьте следующую строку в конфигурационный файл /etc/fstab:
/dev/sdc1 /media/usb-drive vfat defaults 0 0
Обращение к USB-диску по имени блочного устройства из /etc/fstab может оказаться не лучшим решением. В зависимости от количества USB-накопителей, доступных в вашей системе Linux, имя блочного устройства может меняться. Хотя это может послужить хорошим временным решением, но лучше использовать исходное имя блочного устройства UUID, как описано ниже.
По этой причине рекомендуется использовать UUID раздела. Для этого сначала найдите UUID вашего USB-диска:
# ls -l /dev/disk/by-uuid/* lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/2016-08-30-11-31-31-00 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/3eccfd4e-bd8b-4b5f-9fd8-4414a32ac289 -> ../../sda1 lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/4082248b-809d-4e63-93d2-56b5f13c875f -> ../../sda5 lrwxrwxrwx 1 root root 10 Mar 28 01:09 /dev/disk/by-uuid/8765-4321 -> ../../sdc1 lrwxrwxrwx 1 root root 10 Mar 27 23:38 /dev/disk/by-uuid/E6E3-F2A2 -> ../../sdb2
На основании вышеприведенного результата команды ls мы видим, что UUID, принадлежащий блочному устройству sdc1, имеет значение 8765-4321, поэтому наша строка монтирования в /etc/fstab будет иметь следующий вид:
/dev/disk/by-uuid/8765-4321 /media/usb-drive vfat 0 0
Теперь выполните команду mount -a, чтобы смонтировать все еще не смонтированные устройства, без перезагрузки системы
Заключение
В этой статье мы рассмотрели, как монтировать USB-диск в системе Linux, чтобы получить доступ к его данным и сохранить на нем новые данные. Linux позволяет либо временно монтировать USB-диск, который мы вставляем, либо сделать постоянное монтирование устройств хранения, которые мы не планируем извлекать. Независимо от того, есть ли у вас маленькая флешка или огромный внешний диск, приведенные здесь команды должны помочь смонтировать ваш USB-накопитель.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
USB storage devices (Русский)
Состояние перевода: На этой странице представлен перевод статьи USB storage devices. Дата последней синхронизации: 10 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
В этом документе описываются способы использования различных USB накопителей в Linux. Это также касается и других устройств, таких как цифровые камеры или телефоны, которые распознаются как обычные USB накопители.
Если у вас свежая система со стандартным ядром Arch и современная среда рабочего стола, USB устройство должно автоматически появляться на рабочем столе при подключении, и лезть в консоль не потребуется.
Автоматическое монтирование с помощью udisks
Это самый простой и самый часто используемый метод. Он используется во многих средах рабочего стола, но может применяться и отдельно.
Подробности и вспомогательные программы описаны в статье udisks (Русский).
Монтирование вручную
Примечание: Перед тем, как обвинить Arch Linux в том, что он не монтирует USB устройства, стоит проверить все доступные порты. Часть разъёмов могут не обслуживаться контроллером (или не подключены к контроллеру вообще, в случае портов на передней панели), и устройства физически не смогут монтироваться. Теоретически контроллер портов может оказаться выключенным; для того, чтобы это проверить, нужно зайти в BIOS и отыскать параметр с названием вроде «Onboard USB Controller» — должен быть «Enabled».
Где взять ядро, поддерживающее usb_storage
Если не используется самодельное (самосборное) ядро, то делать ничего не требуется, все официальные ядра Arch Linux настроены как нужно. В случае самосборного ядра следует убедиться, что при компиляции была включена поддержка SCSI, SCSI-Disk и usb_storage. Если установлена последняя версия udev, то можно просто подключить носитель, и система автоматически подгрузит все необходимые модули ядра.
Опознавание устройств
Самое первое, что нужно знать об устройстве, так это его идентификатор, присвоенный ядром. Смотрите fstab (Русский)#Определение файловой системы для подробностей.
Совет: Чтобы узнать, какое именно устройство является нужным вам USB-устройством, можно сравнить вывод lsblk -f (описанный в статье по ссылке) до и после подключения устройства.
Монтирование USB флэш-памяти
Для этого нужно создать папку, в которую в дальнейшем будет монтироваться флэшка:
От имени суперпользователя (root)
Монтировать устройство рутом при помощи команды (только нужно заменить device_node найденным устройством, как было показано выше):
# mount device_node /mnt/usbstick
# mount -U UUID /mnt/usbstick
Если mount не распознаёт формат устройства (файловой системы), то можно попробовать с ключом -t , а также глянуть в mount(8) для просвещения. Если монтирование не работает и на устройстве нет важных данных, можно попробовать отформатировать его или даже пересоздать таблицу разделов.
Разрешить запись обычным пользователям
Чтобы непривилегированные пользователи могли записывать данные на USB носитель, нужно прописать следующую команду:
# mount -o gid=users,fmask=113,dmask=002 /dev/sda1 /mnt/usbstick
Если это не сработало, убедитесь, что файловая система монтируема и доступна для записи суперпользователю (смотрите предыдущий раздел).
От имени обычного пользователя посредством fstab
Если вы хотите, чтобы обычный пользователь имел право монтировать и размонтировать устройство, смотрите FAT (Русский)#Запись на FAT32 в качестве обычного пользователя.
Инструменты монтирования
Есть множество инструментов, облегчающих монтирование от имени обычного пользователя.
Решение проблем
Никакие устройства хранения USB не распознаются системой
Если вы подключили USB-накопитель к компьютеру, но он не отображается в списке lsblk или dmesg, убедитесь, что в BIOS включена функция XHCI Handoff и EHCI Handoff.
Устройство USB определилось, но его не получается примонтировать
Если вы недавно обновили ядро, модули для USB-накопителя для вашего текущего ядра были удалены и заменены модулями для свежеустановленного ядра. Эти модули не смогут загрузиться, пока вы не перезагрузитесь и не запустите новое ядро или не выполните откат пакета ядра до версии, соответствующей текущей версии ядра.
Устройство не выключается после размонтирования всех разделов
Невыключение питания устройства может привести к тому, что:
- жёсткий диск не припаркует свою головку, издаст слабый царапающий звук при раскручивании и может деградировать [2], или
- твердотельный диск (особенно старый) не сбросит буферы кэша или не обновит таблицы отображения, что может привести к потере данных [3].
После размонтирования разделов устройство всё ещё включено. Чтобы безопасно извлечь его, необходимо сначала попросить систему выключить его: [4]
# echo 1 > /sys/block/имя_диска/device/delete
Если вы используете udisks, можно использовать следующие команды: [5]
$ udisksctl unmount -b /dev/sdXY $ udisksctl power-off -b /dev/sdX