Что значит размонтировать флешку

Обновлено: 29.06.2024

В чем разница между «Размонтировать том» и «Безопасное удаление»? Допустим, вы вставили флэш-диск и открыли пользовательский интерфейс Дисковой утилиты, если вы нажмете «Безопасное удаление», вы получите уведомление «Ошибка отсоединения диска», потому что он занят. Сначала необходимо нажать кнопку «Размонтировать громкость», а затем нажать кнопку «Безопасное удаление».

Пара вопросов здесь: означает ли это, что все это время я "извлекал" диск (через контекстное меню) перед его удалением, я не "безопасно" удалял его? И каковы эквиваленты командной строки для двух разных операций?

(Этот вопрос был несколько затронут здесь, но ответы, кажется, противоречат тому, что я указываю на опции Дисковой утилиты. Спасибо.)

«Размонтировать» размонтирует файловую систему. Если ваше запоминающее устройство USB (например, карты памяти USB или жесткие диски USB) содержит более одного раздела, это приведет к размонтированию файловой системы только на выбранном в данный момент разделе.

«Безопасное удаление» делает то же самое, что и «извлечение». В случае запоминающих устройств USB он отключает устройство, что делает его недоступным (оно исчезнет из списка устройств, пока вы не отключите и снова не подключите его). Выключение устройства перед размонтированием приведет к тому же результату, что и отключение USB-устройства без размонтирования: возможная потеря данных.

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

Эквиваленты командной строки кнопок Дисковой утилиты:

  • udisks --unmount для кнопки «Размонтировать»
  • udisks --detach для кнопки «Безопасное удаление»
Я считаю, что «Безопасное удаление» - это не то же самое, что «извлечение». Когда вы извлекаете USB-накопитель через файловый менеджер, вы все равно увидите его в Дисковой утилите как не подключенный, но не безопасно удаленный. Это означает, что «Размонтировать» - это то же самое, что и «Извлечь». Согласовано, rEnr3n. Это была единственная часть вопроса, которая все еще оставалась неясной для меня, но, поскольку остальная часть ответа была именно тем, что я искал, я пометил его как принятый. Как вы думаете, я должен открыть это? Нет, «eject» - это не то же самое, что «unmount», поскольку udisks все еще видит устройство, но больше не видит разделы после выполнения eject в Nautilus. Похоже, что это где-то посередине (или ошибка может быть?).

Монтирование тома означает размещение его где-то в файловой системе, чтобы его данные стали доступны. Например, при монтировании именованного флэш-тома MyFlash обычно создается папка с именем, /media/MyFlash из которой можно получить доступ к его содержимому.

Размонтировать его означает сделать данные недоступными через файловую систему. Это означает либо:

  • /media/MyFlash больше не существует после размонтирования или
  • /media/MyFlash пустая папка

Также вы отключаете один раздел за раз. Если у вас есть несколько томов (разделов) на вашем диске, вам необходимо отключить каждый из них в отдельности.

Безопасное извлечение диска означает, что USB-модуль ядра больше не заботится о нем. Любые выдающиеся данные, которые будут записаны, устройство будет отключено (хотя все еще будет напряжение, выходящее из порта USB). Только после этого вы должны извлечь диск из USB-порта.

Даже если ядро ​​записывает все свои данные через порт USB, некоторые устройства, особенно внешние (вращающиеся) жесткие диски, могут буферизовать эти данные и не сразу записать их на диск. Простое отключение всех разделов и отсоединение USB-кабеля может привести к тому, что данные в этих буферах не будут записаны на диск и, следовательно, потеряны. Тем не менее, при безопасном извлечении диска ядро ​​сообщает ему, чтобы все записи были записаны, и ожидает, пока накопитель не подтвердит, что это было сделано.

Ядро связывает некоторые специальные файлы с устройствами. Скажем, у нас есть устройство /dev/sdc с двумя разделами /dev/sdc1/ и /dev/sdc1 . Операции монтирования и размонтирования используют эти файлы, а инструменты форматирования используют их для записи данных непосредственно в раздел. Но когда вы «безопасно извлекаете» диск, ядро ​​больше не связывает /dev/sdc* файл с вашим диском.

До тех пор, пока диск не «безопасно удален», а просто «размонтирован», у приложений и ядра все еще есть возможность записи на диск, и нет гарантии, что ядро ​​завершило запись своих буферов на диск, или что диск закончил перекодировать их.

В наши дни очень большую популярность у пользователей набрали USB флешки. Они используются для обмена файлами, различными фильмами и документами, установки операционных систем, а также восстановления системы после сбоя. Чтобы работать с флешкой в Linux ее нужно примонтировать в корневую файловую систему.

Дело в том, что организация файловой системы Linux немного отличается от того, что мы привыкли видеть в Winodws. Здесь нет никаких дисков C,D,E и так далее, есть только корень, самая верхняя точка файловой системы, в подкаталоги которой подключаются все жесткие диски и внешние носители.

Если в системе используется окружение рабочего стола, то оно, как правило, берет на себя всю низкоуровневую работу чтобы выполнить монтирование флешки в linux. Система обнаруживает подключенную флешку и в системном лотке всплывает уведомление о подключенном устройстве. Дальше остается кликнуть по значку флешки, чтобы система выполнила все нужные для ее монитрования действия. Но если окружение рабочего стола не запущенно или вам нужно работать в консоли можно выполнить все действия по монтированию флешки вручную.

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

Монтирование флешки в Linux

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

Файлы флешек и других устройств хранения данных находятся в каталоге /dev. Устройства нумеруются по алфавиту sda, sdb, sdc, sdd и т д. Так как флешка подключается последней у нее будет старшая буква. Например, sdb или sdc. Имя sda принадлежит жесткому диску. Можно, конечно, просто посмотреть содержимое каталога /dev/, но такой способ ненадежный. Мы воспользуемся утилитой fdisk.

Подключите флешку и выполните:

usb

Как видите, здесь мы можем посмотреть детальную информацию об устройстве. Имя файла, список разделов, формат таблицы разделов, список разделов. А главное для нас, размер раздела и его файловую систему. Теперь не сложно понять какая из них флешка. В этом примере это /dev/sdc1

Создаем папку для монтирования:

sudo mkdir /mnt/usb

Теперь монтируем флешку с помощью команды mount:

sudo mount /dev/sdc1 /mnt/usb

usb1

Если знаете файловую систему флешки, то лучше ее указать с помощью опции -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

Удостовериться что флешка подключена можно посмотрев содержимое каталога, в который мы ее монтировали:

Или выполнив команду mount:

usb2

После завершения работы с флешкой не забудьте ее отмонтировать. Потому что иначе данные могут быть не сохранны или вообще повреждена файловая система флешки:

sudo umount /dev/sdc1

Автоматическое монтирование флешки в Linux

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

Мы тоже можем использовать его для ручного монтирования. Здесь даже есть несколько плюсов. Во-первых, мы можем монтировать без прав суперпользователя, во-вторых, не нужно создавать папку.

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

udisksctl mount -b /dev/sdc1

usb3

Здесь /dev/sdc1 - файл нашей флешки, а опция -b указывает, что нужно монтировать блочное устройство. Так же как и в mount здесь можно задать опции монтирования -o и файловую систему -t. Флешка будет примонтирована в папку /run/имя_пользователя/uuid-флешки/

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

udisksctl unmount -b /dev/sdc1

usb4

Автоматическое монтирование usb флешки в linux можно настроить с помощью утилиты udiskie. Все новые подключенные флешки будут автоматически подключаться, после подключения устройства будет всплывать окно с предложением открыть файловый менеджер, а также значок, с помощью которого можно получить доступ к каждому из устройств.

Устанавливается утилита в Ubuntu командой:

sudo apt install udiskie

Дальше остается запустить программу:

Теперь все подключаемые устройства будут автоматически монтироваться с помощью udisks. Рассмотрим что значат опции:

  • -a - выполнять автоматическое монтирование
  • -n - показывать всплывающее уведомление
  • -t - показывать значок в трее.

Выводы

Теперь монтирование флешки linux не вызовет у вас проблем. Даже если у вас не будет работать окружение рабочего стола и придется делать все вручную. Если остались еще вопросы, спрашивайте в комментариях.

Наблюдая в очередной раз, как знакомые вендузятники просто выдергивают флешки из компов, мне подумалось: а нафига я годами парюсь с этим всем sudo umount или гуй-аналогами? У людей вроде вон, годами флешки работают, и ничего. Зачем вообще нужно размонтирование? Ну кроме очевидной очистки моунт-пойнта, чтобы фс видела, что директория снова пустая. Правда ли, что если выдергивать флешку не размонтировав ее, она умрет быстрее? Если да, то что именно и почему откажет? И есть ли разница между выдергиванием не размонтированной флешки/ssd и hdd?



Просто данные пофигачишь.

Я когда последний раз флешку вынимал, после окончания записи файла на 12 ГБ, ждал этак минуты две наверно.

Флешка exFAT, драйвер ядерный.


винда при записи на флешку применяет отличающуюся от дисков политику кеширования. В каких-то случаях из-за этого медленнее работает, но возможноо в среднем на практике этой удобней.


Ну вот я и хочу понять,как и почему они могут пофигачиться. Ты имеешь ввиду, umount долго отрабатывала? Да,бывает такое тоже.


А как это влияет на последствия выдергивания без рамонтирования?


И вот на тебе винфака немного (я вот помнил, что чего-то на эту тему читал в новостях, что поменяли)


Видимо, на винде, если прогресс-бар копирования исчез, то всё сделано — файлы реально скопированы, кеши сброшены.

greenman ★★★★★ ( 05.11.21 06:28:52 )
Последнее исправление: greenman 05.11.21 06:29:29 (всего исправлений: 2)


А в линуксах как? А если прогресс-бара не было, то есть я не копировал файлы,а просто что-то посмотрел на флешке - зачем ее размонтировать?


Да, данные могут потеряться. Прочитай про механизм отложенный записи, которые кретины придумали, не иначе. :(


период времени когда ланные уже находятся в кеше, но ещё не на диске - в винде сильно меньше.

И выдёргивая в моменты когда нет очевидной активной записи - скорее всего попадёшь в момент времени, когда состяние ФС консистентно.

всегда перед отмонтированием делаю синк, а так, по идее, ей пофиг, когда её вынимают, что при записи/чтении, что в простое, данные только можно потерять


думаю что винда может вполне прозрачно флешку монтировать и отмонтировать, не показывая тебе реальное состояние флешки в системе. и когда копируешь какие-то файлы на флешку, она пишет каждый блок сразу на лету, всё гарантировано пишется в реалтайме, без необходимости выполнять отдельный sync.

и только функция безопасного извлечения устройства уже отключает питание на usb порте, до следующего переподключения. кстати так в линуксах через udev тоже можно делать. я планировал использовать этот механизм для booty во время загрузки дистрибутива в tmpfs. т.е. система загружается в память с флешки, а затем подаёт сигнал чтобы флешку отключить, таким образом из загруженной операционной системы нельзя будет навредить вставленному usb-накопителю с системой.


Правда ли, что если выдергивать флешку не размонтировав ее, она умрет быстрее?

В операционных системах Linux и UNIX вы можете использовать команду mount для подключения (монтирования) файловых систем и съемных устройств, таких как флэш-накопители USB, в определенной точке монтирования в дереве каталогов.

Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

В этом руководстве мы рассмотрим основы подключения и отключения различных файловых систем с помощью команд mount и umount .

Как вывести список подключенных файловых систем

При использовании без аргументов команда mount отобразит все подключенные в данный момент файловые системы:

По умолчанию вывод будет включать все файловые системы, включая виртуальные, такие как cgroup, sysfs и другие. Каждая строка содержит информацию об имени устройства, каталоге, в который оно смонтировано, типе файловой системы и параметрах монтирования в следующей форме:

Чтобы отобразить только определенные файловые системы, используйте параметр -t .

Например, чтобы распечатать только разделы ext4, которые вы должны использовать:

Монтирование файловой системы

Чтобы смонтировать файловую систему в указанном месте (точке монтирования), используйте команду mount в следующей форме:

После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.

Например, чтобы смонтировать файловую систему /dev/sdb1 каталог /mnt/media вы должны использовать:

Обычно при монтировании устройства с общей файловой системой, такой как ext4 или xfs команда mount автоматически определяет тип файловой системы. Однако некоторые файловые системы не распознаются и требуют явного указания.

Используйте параметр -t чтобы указать тип файловой системы:

Чтобы указать дополнительные параметры монтирования , используйте параметр -o :

Несколько вариантов могут быть представлены в виде списка, разделенного запятыми (не вставляйте пробел после запятой).

Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .

Монтирование файловой системы с помощью / etc / fstab

Предоставляя только один параметр (каталог или устройство) команде mount , она будет читать содержимое файла конфигурации /etc/fstab чтобы проверить, указана ли указанная файловая система в списке или нет.

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

Файл /etc/fstab содержит список записей в следующем виде:

Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :

Установка USB-накопителя

В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.

Чтобы вручную подключить USB-устройство, выполните следующие действия:

Создайте точку монтирования:

Предполагая, что USB-накопитель использует устройство /dev/sdd1 вы можете /dev/sdd1 его к каталогу /media/usb , набрав:

Чтобы узнать тип устройства и файловой системы, вы можете использовать любую из следующих команд:

Чтобы смонтировать USB-накопители в формате exFAT, установите бесплатный модуль и инструменты FUSE exFAT .

Монтирование файлов ISO

Вы можете смонтировать файл ISO с помощью устройства loop, которое представляет собой специальное псевдоустройство, которое делает файл доступным как блочное устройство.

Начните с создания точки монтирования, это может быть любое место, которое вы хотите:

Подключите ISO-файл к точке монтирования, введя следующую команду:

Не забудьте заменить /path/to/image.iso путем к вашему файлу ISO.

Монтирование NFS

Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.

Установите клиент NFS в Ubuntu и Debian:

Установите клиент NFS на CentOS и Fedora:

Выполните следующие действия, чтобы смонтировать удаленный каталог NFS в вашей системе:

Создайте каталог, который будет точкой монтирования для удаленной файловой системы:

Как правило, вам нужно автоматически монтировать удаленный общий ресурс NFS при загрузке. Для этого откройте файл /etc/fstab текстовом редакторе :

Добавьте в файл следующую строку, заменив remote.server:/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:

Подключите общий ресурс NFS, выполнив следующую команду:

Отключение файловой системы

Чтобы отсоединить смонтированную файловую систему, используйте команду umount после которой укажите либо каталог, в котором она была смонтирована (точка монтирования), либо имя устройства:

Если файловая система используется, команда umount не сможет отсоединить файловую систему. В таких ситуациях вы можете использовать команду fuser чтобы узнать, какие процессы обращаются к файловой системе:

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

Ленивое отключение

Используйте параметр -l ( --lazy ), чтобы отключить занятую файловую систему, как только она больше не будет занята.

Размонтировать принудительно

Используйте параметр -f ( --force ), чтобы принудительно размонтировать. Этот параметр обычно используется для отключения недоступной системы NFS.

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

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду mount для присоединения различных файловых систем к вашему дереву каталогов и отсоединения монтирования с помощью команды umount .

Чтобы узнать больше о параметрах команд mount и umount , см. Соответствующие страницы руководства.

В наши дни очень большую популярность у пользователей набрали USB флешки. Они используются для обмена файлами, различными фильмами и документами, установки операционных систем, а также восстановления системы после сбоя. Чтобы работать с флешкой в Linux ее нужно примонтировать в корневую файловую систему.

Дело в том, что организация файловой системы Linux немного отличается от того, что мы привыкли видеть в Winodws. Здесь нет никаких дисков C,D,E и так далее, есть только корень, самая верхняя точка файловой системы, в подкаталоги которой подключаются все жесткие диски и внешние носители.

Если в системе используется окружение рабочего стола, то оно, как правило, берет на себя всю низкоуровневую работу чтобы выполнить монтирование флешки в linux. Система обнаруживает подключенную флешку и в системном лотке всплывает уведомление о подключенном устройстве. Дальше остается кликнуть по значку флешки, чтобы система выполнила все нужные для ее монитрования действия. Но если окружение рабочего стола не запущенно или вам нужно работать в консоли можно выполнить все действия по монтированию флешки вручную.

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

Монтирование флешки в Linux

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

Файлы флешек и других устройств хранения данных находятся в каталоге /dev. Устройства нумеруются по алфавиту sda, sdb, sdc, sdd и т д. Так как флешка подключается последней у нее будет старшая буква. Например, sdb или sdc. Имя sda принадлежит жесткому диску. Можно, конечно, просто посмотреть содержимое каталога /dev/, но такой способ ненадежный. Мы воспользуемся утилитой fdisk.

Подключите флешку и выполните:


Как видите, здесь мы можем посмотреть детальную информацию об устройстве. Имя файла, список разделов, формат таблицы разделов, список разделов. А главное для нас, размер раздела и его файловую систему. Теперь не сложно понять какая из них флешка. В этом примере это /dev/sdc1

Создаем папку для монтирования:

Теперь монтируем флешку с помощью команды mount:


Если знаете файловую систему флешки, то лучше ее указать с помощью опции -t. Чаще всего используется FAT, так как ее легко открывают как Windows так и Linux системы:

Монтирование осуществляется от суперпользователя, но если нужно чтобы отмонитровать флешку мог любой нужно указать опцию users:

По умолчанию владельцем файлов на флешке при монтировании устанавливается root, поэтому если вы захотите работать с флешкой через файловый менеджер, то нужно будет его запускать с правами суперпользователя или же сразу примонтировать флешку в linux таким образом, чтобы владельцем был ваш пользователь. Для этого укажите группу и id своего пользователя в опциях uid и gid:

Удостовериться что флешка подключена можно посмотрев содержимое каталога, в который мы ее монтировали:

Или выполнив команду mount:


После завершения работы с флешкой не забудьте ее отмонтировать. Потому что иначе данные могут быть не сохранны или вообще повреждена файловая система флешки:

Автоматическое монтирование флешки в Linux

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

Мы тоже можем использовать его для ручного монтирования. Здесь даже есть несколько плюсов. Во-первых, мы можем монтировать без прав суперпользователя, во-вторых, не нужно создавать папку.

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


Здесь /dev/sdc1 - файл нашей флешки, а опция -b указывает, что нужно монтировать блочное устройство. Так же как и в mount здесь можно задать опции монтирования -o и файловую систему -t. Флешка будет примонтирована в папку /run/имя_пользователя/uuid-флешки/

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


Автоматическое монтирование usb флешки в linux можно настроить с помощью утилиты udiskie. Все новые подключенные флешки будут автоматически подключаться, после подключения устройства будет всплывать окно с предложением открыть файловый менеджер, а также значок, с помощью которого можно получить доступ к каждому из устройств.

Устанавливается утилита в Ubuntu командой:

Дальше остается запустить программу:

Теперь все подключаемые устройства будут автоматически монтироваться с помощью udisks. Рассмотрим что значат опции:

  • -a - выполнять автоматическое монтирование
  • -n - показывать всплывающее уведомление
  • -t - показывать значок в трее.

Выводы

Теперь монтирование флешки linux не вызовет у вас проблем. Даже если у вас не будет работать окружение рабочего стола и придется делать все вручную. Если остались еще вопросы, спрашивайте в комментариях.

Читайте также: