В наши дни очень большую популярность у пользователей набрали USB флешки. Они используются для обмена файлами, различными фильмами и документами, установки операционных систем, а также восстановления системы после сбоя. Чтобы работать с флешкой в Linux ее нужно примонтировать в корневую файловую систему.
Дело в том, что организация файловой системы Linux немного отличается от того, что мы привыкли видеть в Winodws. Здесь нет никаких дисков C,D,E и так далее, есть только корень, самая верхняя точка файловой системы, в подкаталоги которой подключаются все жесткие диски и внешние носители.
Если в системе используется окружение рабочего стола, то оно, как правило, берет на себя всю низкоуровневую работу чтобы выполнить монтирование флешки в linux. Система обнаруживает подключенную флешку и в системном лотке всплывает уведомление о подключенном устройстве. Дальше остается кликнуть по значку флешки, чтобы система выполнила все нужные для ее монитрования действия. Но если окружение рабочего стола не запущенно или вам нужно работать в консоли можно выполнить все действия по монтированию флешки вручную.
В этой инструкции мы рассмотрим монтирование usb флешки в linux через терминал, а также настройку автоматического монтирования для оконных менеджеров, которые не поддерживают такую возможность.
Самое первое, что нужно сделать после того, как вы подключили флешку — узнать имя ее файла в системе. В Unix все устройства имеют свои файлы и именно через эти файлы система и программное обеспечение взаимодействуют с ними.
Файлы флешек и других устройств хранения данных находятся в каталоге /dev. Устройства нумеруются по алфавиту sda, sdb, sdc, sdd и т д. Так как флешка подключается последней у нее будет старшая буква. Например, sdb или sdc. Имя sda принадлежит жесткому диску. Можно, конечно, просто посмотреть содержимое каталога /dev/, но такой способ ненадежный. Мы воспользуемся утилитой fdisk.
Подключите флешку и выполните:
fdisk -l
Как видите, здесь мы можем посмотреть детальную информацию об устройстве. Имя файла, список разделов, формат таблицы разделов, список разделов. А главное для нас, размер раздела и его файловую систему. Теперь не сложно понять какая из них флешка. В этом примере это /dev/sdc1
Создаем папку для монтирования:
sudo mkdir /mnt/usb
Теперь монтируем флешку с помощью команды mount:
sudo mount /dev/sdc1 /mnt/usb
Если знаете файловую систему флешки, то лучше ее указать с помощью опции -t. Чаще всего используется FAT, так как ее легко открывают как Windows так и Linux системы:
sudo mount -t vfat /dev/sdc1 /mnt/usb
Монтирование осуществляется от суперпользователя, но если нужно чтобы отмонитровать флешку мог любой нужно указать опцию users:
sudo mount -t vfat -o users /dev/sdc1 /mnt/usb
По умолчанию владельцем файлов на флешке при монтировании устанавливается root, поэтому если вы захотите работать с флешкой через файловый менеджер, то нужно будет его запускать с правами суперпользователя или же сразу примонтировать флешку в linux таким образом, чтобы владельцем был ваш пользователь. Для этого укажите группу и id своего пользователя в опциях uid и gid:
sudo mount -o users,uid=1000,gid=1000 /dev/sdc1 /mnt/usb
Удостовериться что флешка подключена можно посмотрев содержимое каталога, в который мы ее монтировали:
ls /mnt/usb
Или выполнив команду mount:
mount
После завершения работы с флешкой не забудьте ее отмонтировать. Потому что иначе данные могут быть не сохранны или вообще повреждена файловая система флешки:
sudo umount /dev/sdc1
Автоматическое монтирование флешки в Linux
Популярные окружения рабочего стола выполняют монтирование флешки linux автоматически, как только она подключена к системе или по клику на ярлыке. Мы можем это реализовать с помощью службы udisks2.
Udisks — это служба dbus, позволяющая другим программам и пользователю взаимодействовать с udev. Мы можем получать сообщения о только что подключенных устройствах, выполнять их монтирование и отключение. Окружения рабочего стола используют именно этот сервис для монтирования устройств.
Мы тоже можем использовать его для ручного монтирования. Здесь даже есть несколько плюсов. Во-первых, мы можем монтировать без прав суперпользователя, во-вторых, не нужно создавать папку.
Для монтирования используется такая команда:
udisksctl mount -b /dev/sdc1
Здесь /dev/sdc1 — файл нашей флешки, а опция -b указывает, что нужно монтировать блочное устройство. Так же как и в mount здесь можно задать опции монтирования -o и файловую систему -t. Флешка будет примонтирована в папку /run/имя_пользователя/uuid-флешки/
Для размонтирования используется аналогичная команда:
udisksctl unmount -b /dev/sdc1
Автоматическое монтирование usb флешки в linux можно настроить с помощью утилиты udiskie. Все новые подключенные флешки будут автоматически подключаться, после подключения устройства будет всплывать окно с предложением открыть файловый менеджер, а также значок, с помощью которого можно получить доступ к каждому из устройств.
Устанавливается утилита в Ubuntu командой:
sudo apt install udiskie
Дальше остается запустить программу:
udiskie -a -n -t
Теперь все подключаемые устройства будут автоматически монтироваться с помощью udisks. Рассмотрим что значат опции:
- -a — выполнять автоматическое монтирование
- -n — показывать всплывающее уведомление
- -t — показывать значок в трее.
Выводы
Теперь монтирование флешки linux не вызовет у вас проблем. Даже если у вас не будет работать окружение рабочего стола и придется делать все вручную. Если остались еще вопросы, спрашивайте в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
- Печать
Страницы: [1] Вниз
Тема: Не монтируются флешки. (Прочитано 1972 раз)
0 Пользователей и 1 Гость просматривают эту тему.
deniska2
Чего-то вообще стронное с системой творится.Недавно только решил вот эту проблему https://forum.ubuntu.ru/index.php?topic=218205.0 .Сегодня возникла иная.Вставляю флешку и не монтируется.По lsusb видится.Прочитал что за монтирование флешки отвечает модуль usb_modules,который вроде расположен по адресу /etc/modules.У меня этого файла нет,должен ли он быть в этой папке в убунте 12.04,не знаю.
Придётся снова прописывать вручную монтирование в fstab или можно восстановить автомонтирование?
mail47002
Прочитал что за монтирование флешки отвечает модуль usb_modules,который вроде расположен по адресу /etc/modules.У меня этого файла нет,должен ли он быть в этой папке в убунте 12.04,не знаю.
посмотрел этой папки нету
Пользователь решил продолжить мысль 09 Апреля 2013, 13:22:58:
sudo blkid
выхлоп с вставленой флешкой
« Последнее редактирование: 09 Апреля 2013, 13:22:58 от gebels »
Всё гениальное просто, и всё простое гениально.
deniska2
Вот выхлоп:
/dev/sda2: LABEL="newtom" UUID="96C82EF4C82ED273" TYPE="ntfs"
/dev/sda3: UUID="6A1C86541C861B69" TYPE="ntfs"
/dev/sda5: LABEL="D" UUID="628435ED8435C3F7" TYPE="ntfs"
/dev/sda6: UUID="674eac80-0224-4579-81af-0818b72ab5ea" TYPE="swap"
/dev/sda7: UUID="c4a97430-a611-4816-841b-b50f5bab2093" TYPE="ext4"
/dev/sdb1: LABEL="SEAGATE" UUID="E46D-F843" TYPE="vfat"
Флешку видит.
mail47002
/dev/sdb1: LABEL=»SEAGATE» UUID=»E46D-F843″ TYPE=»vfat»
флешка
значит не туды монтируется
покажи sudo gedit /etc/fstab
Всё гениальное просто, и всё простое гениально.
deniska2
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=628435ED8435C3F7 /media/newtom2 ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
UUID=6A1C86541C861B69 /media/newtom1 ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
UUID=96C82EF4C82ED273 /media/newtom ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
#UUID=номер_полученного_UUID /media/номер_полученного_UUID ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sdb7 during installation
UUID=c4a97430-a611-4816-841b-b50f5bab2093 / ext4 errors=remount-ro 0 1
# swap was on /dev/sdb6 during installation
UUID=674eac80-0224-4579-81af-0818b72ab5ea none swap sw 0 0
192.168.1.8:/opt/sybhttpd/localhost.drives/SATA_DISK /home/denis/data nfs tcp,soft,intr,vers=3
mail47002
#UUID=номер_полученного_UUID /media/номер_полученного_UUID ntfs-3g rw,users,locale=ru_RU.UTF-8 0 0
это удали
что то ты намутил со своим файлом
есть оригинал?
Вот пример моего
Пользователь решил продолжить мысль 09 Апреля 2013, 23:21:11:
192.168.1.8:/opt/sybhttpd/localhost.drives/SATA_DISK /home/denis/data nfs tcp,soft,intr,vers=3
это что такое?
« Последнее редактирование: 09 Апреля 2013, 23:21:11 от gebels »
Всё гениальное просто, и всё простое гениально.
deniska2
mail47002
ок
а ты в ручную пробовал монтировать флешку?
Всё гениальное просто, и всё простое гениально.
deniska2
Сейчас попробовал,в fdisk она определился как sdc1.Ввёл sudo mount -t vfat /dev/sdc1 /mnt
и тишина,ничего не примонтировалось.
mail47002
попробуй так mount /dev/cdc1 /mnt/111
перед этим создай папку 111 в /mnt (sudo nautilus)
Всё гениальное просто, и всё простое гениально.
deniska2
Попробовал примонтировать к папке media (/media).Всё вышло,в папке медиа появились файлы с флешки,но вместо русских букв вопросики.
mail47002
проблемы с кодировкой
вопрос:
почему ты не хочешь поставить заново систему?
Всё гениальное просто, и всё простое гениально.
deniska2
Ну с этим никаких проблем.Просто хотел разобраться в чём причина,самому если честно надоело мозги канифолить.Легче переставить,но в тоже время и разобраться интересно.
mail47002
Ну с этим никаких проблем.Просто хотел разобраться в чём причина,самому если честно надоело мозги канифолить.Легче переставить,но в тоже время и разобраться интересно.
мне тяжело разобраться я не наю что ты тама еще ковырял
Всё гениальное просто, и всё простое гениально.
- Печать
Страницы: [1] Вверх
При монтировании диска произошла ошибка:
$ sudo mount /dev/sdb1 /media
$MFTMirr does not match $MFT (record 0). Failed to mount '/dev/sdc1': Ошибка ввода/вывода NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device
Решение
ntfsfix -d /dev/sdb1
LinuxUSB
[Решено] Не монтируется флешка
Автор http, 23 июня 2013, 23:28:48
« назад — далее »
0 Пользователи и 1 гость просматривают эту тему.
!!!!—РЕШЕНО—!!!!
При загрузке автоматически не монтируется флеш карта, попробовал через терминал примонтировать ее набрал команду fdisk -l определил название диска. попробовал примонтировать командой mount /dev/sdb /home/flash? он мне ответил что надо указать фаловую систему, указал mount -t ntfs-3g /dev/sdb /home/flash и тут он меня ваще озадачил таким сообщением
«NTFS signature is missing.Failed to mount ‘/dev/sdb’: Недопустимый аргумент
The device ‘/dev/sdb’ doesn’t seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?»
Помогите пжалуста, у меня Debian 7.0 lazarus
Gnome/Kde/XFCE/LXDE?
Другие юсб- монтируются? пакет ntfs-3g установлен,ядро не самосборное?
Gentoo x86_64 AMD E-350 Openbox 3.5.2
Цитата: noname от 23 июня 2013, 23:46:00
Gnome/Kde/XFCE/LXDE?
Другие юсб- монтируются? пакет ntfs-3g установлен,ядро не самосборное?
у меня других флешек нету, ядро не самосборное я же написал debian 7 lazarus. вот тока переустановил ось и перестала монтироваться
пакет ntfs-3g установлен?
Gentoo x86_64 AMD E-350 Openbox 3.5.2
Вот так попробуйте:
mount -t vfat /dev/sdb /home/flash
Цитата: yura_n от 23 июня 2013, 23:51:11mount -t vfat /dev/sdb /home/flash
выдал ето
# mount -t vfat /dev/sdb /home/flash
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
В некоторых случаях полезная информация может быть
найдена в syslog — попробуйте dmesg | tail или что-то
в этом роде
А что
fdisk -l
про флешку пишет?
Цитата: yura_n от 23 июня 2013, 23:54:20
А что
fdisk -l
про флешку пишет?
да пишит вот что
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 4009 МБ, 4009754624 байт
124 heads, 62 sectors/track, 1018 cylinders, всего 7831552 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x194907a2
Устр-во Загр Начало Конец Блоки Id Система
может заглянуть в syslog? конечно если бы вы подсказали где он
Цитата: http от 23 июня 2013, 23:56:06Устр-во Загр Начало Конец Блоки Id Система
Обычно после этого идет описание разделов и указание файловой системы. Но судя по тому, что у вас этого нет… а есть ли разделы?
Gentoo x86_64 AMD E-350 Openbox 3.5.2
Цитата: noname от 24 июня 2013, 00:01:23
Какое DE? LXDE,KDE,Gnome?
файловый менеджер какой?Цитата: http от 23 июня 2013, 23:56:06Устр-во Загр Начало Конец Блоки Id Система
нижето чегонибуть еще написано?
вот я просто не стал копировать с разделами
# fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004c117
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 332103680 976773119 322334720 83 Linux
/dev/sda2 2048 8603647 4300800 82 Linux своп / Solaris
/dev/sda3 8603648 332103679 161750016 83 Linux
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 4009 МБ, 4009754624 байт
124 heads, 62 sectors/track, 1018 cylinders, всего 7831552 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x194907a2
Устр-во Загр Начало Конец Блоки Id Система
это полный вывод команды а так вроде бы Gnome3 тока без верхней панели
У вас разделов на флешке нет. Создайте разделы, с нужной файловой системой, а затем монтируйте.
Gentoo x86_64 AMD E-350 Openbox 3.5.2
Для начала воткни флэшку и под рутом:
Видится ли она? должна быть строчка типа:
Код: Выделить всё
Bus 1 Device 5: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 / Astone USB Drive
Дальше, опять-таки род рутом:
Мой пример:
Код: Выделить всё
Disk /dev/hda: 20.5 GB, 20547841536 bytes
255 heads, 63 sectors/track, 2498 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1249 10032561 7 HPFS/NTFS
/dev/hda2 1250 1575 2618595 7 HPFS/NTFS
/dev/hda3 1576 2289 5735205 5 Extended
/dev/hda4 2290 2498 1678792+ 83 Linux
/dev/hda5 1576 1606 248976 82 Linux swap
/dev/hda6 1607 1668 497983+ 83 Linux
/dev/hda7 1669 1730 497983+ 83 Linux
/dev/hda8 1731 1792 497983+ 83 Linux
/dev/hda9 1793 2165 2996091 83 Linux
/dev/hda10 2166 2289 995998+ 83 Linux
Disk /dev/sda: 131 MB, 131072000 bytes
16 heads, 32 sectors/track, 500 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 499 127728 6 FAT16
Видно, что в данном случае флэшка сидит на /dev/sda1
Монтируешь:
Код: Выделить всё
mount -t vfat /dev/что_у_тебя_там /home/duran/usb
Но лучше к /mnt/flash_dir или к /media/flash_dir, где flash_dir — любая пустая директория, хоть имеющаяся, хоть новую создай.
Если примонтировалась, запиши эти параметры в /etc/fstab.
А ещё ядро 2.4 не всегда успешно любит флэшки. Скачай (или возьми с инсталляшного диска) ядро 2.6.любое, а лучше — собери из сырцов под свою систему, тогда гарантированно сможешь включить поддержку usb и scsi-накопителей (флэшки воспринимаются как scsi). Подробно разжёвано тут. Если будешь ставить/собирать ядро 2.6, не забудь поставить rc.modules-2.6.что-там-у-тебя. Цитирую статью:
Для корректного перехода с 2.4 на 2.6 необходимо также заменить старый /etc/rc.d/rc.modules на новый, т.к. в свежем ядре не только добавились новые модули, но и изменились названия некоторых старых. По большому счету изменений довольно много и со старым менеджером загрузки модулей далеко не уедешь. При наличии 2го установочного диска Slackware версии не ниже 10.0 вы найдете этот файл внутри пакета /mnt/cdrom/testing/linux-2.6.XX/kernel-modules-2.6.XX-i486-X.tgz. Просто установите его как обычно или вручную выдерните из него /etc/rc.d/rc.modules-2.6.XX.new. Далее следует его отредактировать раскомментировав строчки используемых вами модулей ядра. Посмотреть какие именно функции ядра вы оформили модульно можно в том же файле /usr/src/linux-2.6.11.10/.config.
Но вполне возможно, что запустится и на 2.4 ядре.