Ubuntu отключить автомонтирование диска
Я работаю над проектом, и для этого мне нужно отключить установку жестких дисков в Ubuntu как при запуске, так и при подключении жесткого диска.
Я попробовал одно решение с "edit-conf", отключив автомонтирование в org.gnome.desktop.media-processing, но когда я подключаю жесткий диск, Ubuntu по-прежнему монтирует его в открытом окне, даже когда я перезагружаю компьютер между ними.
Существует также решение fstab, но дело в том, что я заранее не знаю UUID накопителя, который не хочу монтировать автоматически.
Из желания я понимаю, что есть решение редактирования правила udev, но я не специалист в этом.
Конфигурационный файл /etc/fstab
А теперь собственно к практике. Осталось только рассказать, как же устроен файл /etc/fstab и что в него надо писать. Начну с того, что этот файл является системным, поэтому для его редактирования нужны права root . Если вы забыли, как редактировать конфигурационные файлы системы, прочитайте снова статью про права доступа.
Итак, открыв /etc/fstab вы увидите достаточно небольшое содержимое, у меня этот файл выглядит так:
Помните, в статье про разметку диска я рассказывал, что разделы винчестера в Linux именуются как sdaX (или sdbX , sdcX и т.д. если у вас несколько винчестеров). Так вот, в fstab используется несколько другой механизм идентификации винчестеров 6) . Для этой цели используются так называемые uuid , достаточно длинные строчки из произвольных букв латинского алфавита и цифр 7) . Для того, чтобы узнать uuid для нужного вам раздела выполните в терминале команду 8)
Вот как выглядит результат выполнения у меня:
Я думаю, понятно, что к чему, uuid для каждого раздела выделен голубым цветом.
Итак, первое поле записи в fstab для разделов винчестера выглядит так:
Второе поле - это точка монтирования, тут всё просто, собственно вам всего лишь надо указать желаемую директорию. Однако учтите, что во-первых, указываемый каталог должен существовать, а во-вторых, в записи его имени не должно быть спецсимволов и пробелов.
А вот дальше начинаются хитрости и сложности, описывать которые я не буду. С файловой системой всё просто, а вот опции монтирования - это целая эпопея, требующая не одной отдельной статьи. А уж назначение двух цифирей в конце вообще покрыто мраком и мало кого интересует.
Но как-то указать все эти параметры всё-таки надо. К счастью, тут можно схитрить 9) . Дело в том, что записи о всех смонтированных дисках попадают в специальный файл /etc/mtab , а формат записей этого файла ровно такой же, как и у /etc/fstab . Поэтому если вам надо добавить запись для какого-то раздела винчестера в fstab просто зайдите на него через меню «Переход», при этом он автоматически смонтируется в подкаталог /media и следовательно запись о нём появится в mtab . Теперь откройте mtab , найдите нужную строчку (тут уже диски именуются обычным способом) и скопируйте её в fstab , заменив имя диска на его uuid и точку монтирования на желаемую. Кроме того, если в качестве ФС в mtab записано fuseblk , то при копировании необходимо подставить вместо этого значения имя своей файловой системы. Если вы не знаете, как правильно должна называться ваша ФС в fstab , то поищите информацию на эту тему в интернете. И если вы не наделаете ошибок при замене, то при следующей загрузке диск смонтируется туда, куда вы указали.
На этом я заканчиваю краткое, хоть и достаточно запутанное, знакомство с файлом /etc/fstab и системой монтирования дисков в Ubuntu. Более того, на этом так же заканчивается вся информация, которую я хотел вам рассказать про Ubuntu. Ну и дабы не завершать руководство столь неочевидным рассказом про специфическую настройку системы, я завершу его статьей с красивым названием «Эпилог»:
Это не всегда так. Можно добавить запись для устройства во всё тот же /etc/fstab , тогда при подключении точка монтирования не будет назначена автоматически, а считается из этого файла. Так, например, сделано для дисководов. Так что /etc/fstab используется не только при загрузке. Кроме того, если имя уже занято, то к нему будет дописано нижнее подчёркивание при определении точки монтирования.
На самом деле на рабочий стол и в меню «Переход» попадает всё, что смонтировано в один из подкаталогов /media или же будет туда смонтировано при первом обращении.
Да, вы можете создавать новые каталоги непосредственно в корне файловой системы. Не стоит этим увлекаться, но и запрещать вам никто ничего не будет.
Конечно есть возможность и полностью скрыть содержимое нежелательных разделов, для этого необходимо поставить на /hidden/data соответствующие права доступа, см. чуть ниже.
Только сразу хочу предупредить, в отличие от подключения дополнительных разделов в /media или в /hidden/data , системные каталоги выносить на отдельные разделы лучше только при установке, если вам вдруг понадобится это сделать после неё, то сначала разберитесь, что и куда надо скопировать и что и где изменить, простого добавления записи в /etc/fstab для этого недостаточно. Вкратце, для этого нужно загрузиться с LiveCD, потом скопировать текущее содержимое нужного каталога на новый диск, затем удалить данные со старого места, после чего добавить новую запись в /etc/fstab и напоследок проверить права доступа. Но поскольку выполняя эти операции вы рискуете потерять важные данные, то сначала подробно разберитесь в вопросе, и только потом приступайте к конкретным действиям.
Как вы может быть догадываетесь, узнать uuid можно далеко не единственным способом. Например, есть гораздо более информативная команда, требующая, однако, административных привилегий для запуска: Если вас не напряжёт лишний раз ввести пароль, то она вам скорее всего будет более симпатична, чем вариант с ls .
И даже не одним способом. Например, для добавления ntfs-раздела в fstab можно воспользоваться утилитой ntfs-config , правда предварительно вам придётся её установить.
Файл fstab - это текстовый файл, который содержит информацию о различных файловых системах и устройствах хранения информации в вашем компьютере. Это всего лишь один файл, определяющий, как диск и/или раздел будут использоваться и как будут встроены в остальную систему. Полный путь к файлу - /etc/fstab. Этот файл можно открыть в любом текстовом редакторе, но редактировать его возможно только от имени суперпользователя, т.к. файл является важной, неотъемлемой частью системы, без него система не загрузится.
Открыть файл fstab для редактирования, например в текстовом редакторе gedit, вы можете набрав команду в терминале:
3 ответа
Выполните эти две команды:
gsettings set org.gnome.desktop.media-handling automount 'false'
gsettings set org.gnome.desktop.media-handling automount-open 'false'
Или можно попробовать его правилом udev:
sudo nano /etc/udev/rules.d/85-no-automount.rule
Вставьте эту строку SUBSYSTEM=="usb", ENV="0" и сохраните файл.
Перезагрузите систему.
Можно попытаться добавить модуль к черному списку:
sudo gedit /etc/modprobe.d/blacklist.conf
устройство хранения данных usb черного списка
echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf
Включение его позже должно просто быть:
sudo modprobe usb-storage
Как Pabi записал в его ответе, выполните эту команду:
НО: это, вероятно, не будет эффективно до следующей перезагрузки.
Отсутствие перезагрузки заставило меня сомневаться относительно эффективности gsettings первоначально. Я нашел его будучи очень полным при подготовке к регистрации ошибки, которая я нашел, что не должен был делать. Я только попробовал это под sudo, однако, поэтому если Вы все еще испытываете затруднения, попытайтесь делать его тот путь. Я хочу это эффективное в масштабе всей системы и нашел, что это делает задание.
Вам не нужно к сенсорному автомонтированию - открытый, потому что оно только применяется, когда автомонтирование произойдет, и Вы отключите это.
Блочное устройство
То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda (диск целиком) или /dev/hdc1 (раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится.
Узнать UUID раздела можно из вывода команды
Кроме UUID монтировать можно еще и по другим адресам устройств, вот они:
Эти адреса являются ссылками на те же /dev/sd*.
Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из by-id (название), для iSCSI-тома — by-path (используется сетевой адрес и название «цели»).
Пример файла fstab
Строки файла содержат следующие поля:
Куда монтируем — точка монтирования - путь в корневой файловой системе к каталогу в который будет смонтировано устройство
Порядок проверки раздела (0- не проверять, 1 - устанавливается для корня, 2 - для остальных разделов).
Точка монтирования
Каталог, в который монтируется файловая система, к примеру /media/disc. Крайне желательно, чтобы он был пустым. Монтировать в непустой каталог тоже можно, но при этом вы заблокируете доступ ко всему содержимому каталога, ведь после монтирование содержимым каталога будет содержимое той файловой системы что была смонтирована.
How do you make HDDs and partitions mount at startup on Ubuntu?
I always keep my media and data files on separate partitions - one 2tb HDD and a 400 odd gig partition. I have been trying to swap the default folder location for the home directory to my other drives.
It works when I change the /home/user_name/.config/user-dirs.dirs file to the directories I want, but only until I reboot the system. I am only assuming that the drives not mounting is the problem with it, but it would be helpful either way. If any one knows another reason for why the directories change back to default each time that would be good also.
Edit the /etc/fstab file, here are useful links that has answers to your question: mount a drive on startup and mount ntfs drive on startup.
7 Answers 7
GUI Method (recommended for newbies) - The Disks program will automatically edit /etc/fstab for you and not break anything. Type disks on the launcher or gnome-disks in the terminal start the Disks application.
Select Drive, then partition, then use More actions (cogs icon) button to access 'Edit Mount Options' menu. Turn off User Defaults because you would not be here if it was really set to automount. The rest should be obvious.
Just don't forget to uncheck "Automatic mount options". I was confused because auto-mount was not working even though the "Mount at startup" checkbox was checked in the grayed out UI.
The terminal answer included advice on creating a backup of fstab before editing. Doing that just saved me some trouble and might be worthwhile including in this answer as well (I changed the mount options of my system drive, ignoring the extra warning :) )
Terminal Method for experienced users only. This can break your boot.
If you are okay with this, fire up a terminal.
[IMPORTANT] sudo cp /etc/fstab /etc/fstab.old - Create a backup of the fstab file just in case something unwanted happens. If something happens, you will need a bootable (live) usb. If you do not have one, use the GUI method instead.
sudo blkid - Note the UUID of the partition you want to automount.
sudo nano /etc/fstab - Copy the following line to the end of the file, save it and reboot afterwards to check if it worked.
3 ответа
Запустите эти две команды:
gsettings set org.gnome.desktop.media-handling automount 'false'
gsettings set org.gnome.desktop.media-handling automount-open 'false'
Или вы можете попробовать это с правилом udev:
sudo nano /etc/udev/rules.d/85-no-automount.rule
Вставьте эту строку SUBSYSTEM=="usb", ENV="0" и сохраните файл.
Перезагрузите систему.
Вы можете попробовать добавить модуль в черный список:
sudo gedit /etc/modprobe.d/blacklist.conf
echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf
Включение этого позже должно быть просто:
sudo modprobe usb-storage
Как Паби написал в своем ответе, запустите эту команду:
НО: это, вероятно, будет неэффективно до следующей перезагрузки.
Отсутствие перезагрузки поначалу заставляло меня сомневаться в эффективности gsettings. Я нашел это, будучи очень тщательным в подготовке к регистрации ошибки, которую я нашел, мне не нужно было делать. Я пробовал это только под sudo, поэтому, если у вас все еще есть проблемы, попробуйте сделать это таким образом. Я хочу, чтобы это эффективно для всей системы, и нашел, что это делает работу.
Вам не нужно прикасаться к automount-open, потому что он применяется только тогда, когда происходит автоматическое монтирование, и вы отключите это.
В самом начале, при описании установки, я рассказывал про механизм монтирования дисков в Linux и объяснял его основы. Если вы забыли, что такое монтирование и для чего оно нужно, прочитайте снова статью про организацию файловой системы в Ubuntu. Ниже я попробую заполнить некоторые оставшиеся белые пятна.
Если вы с нетерпением ждали шаманств с терминалом и правки конфигурационных файлов, поздравляю, вы дождались! Вообще мне кажется, что скоро терминалом и конфигами впору будет пугать маленьких детей - столь отталкивающее мнение об этих инструментах присутствует у некоторых в принципе далёких от понимания упомянутых терминов людей. На самом деле обычно всё, конечно, очень просто, элегантно и логично. И у вас сейчас будет возможность в этом убедиться.
Examples
A common setup is:
Use lsblk -o NAME,FSTYPE,UUID to find out the UUIDs and filesystems of the partition you want to mount. For example:
Examples for the <> variables:
Use id -u to get the userid and id -g to get the groupid.
(Note that specifying the sync option can slow down write performance as it disables the cache. async is the default.)
Careful about being too prescriptive with the mount options; not everybody's uid & gid will be the default 1000.
@bbodenmiller sync option should be avoided here. It slows down disk writes because you ask for every byte to be flushed instantly instead of letting your computer optimize that for you. The answer should remove sync
I read in man mount that in the case of media with a limited number of write cycles (e.g. some flash drives), sync may cause life-cycle shortening.
In Ubuntu follow these steps to auto-mount your partition:
Open file manager and look left side on the devices listed.
Choose the device you want to auto-mount on start-up by just clicking it and you will see the folders in the right pane shown for that device (partition), keep this window open.
Go to your desktop Ubuntu search and type disks, you'll see disks shown in results.
Click on disks and disks manager will start.
You will see HDD's listed on the left pane and details of partitions on the right pane for each HDD you have.
Now highlight the partition by clicking it, IMPORTANT (don't set mount on start-up for all partitions as it slows down the system).
Make sure that the partition name you want to auto-mount have the same name by comparing the partitions in disk manager with the open partition window which you opened previously, by looking at the name of device at the top-left part of file manager (opened earlier), and looking the same name of drive or partition in the disks manager at the Contents field of the chosen partition in disks manager.
Now after making sure that you have chosen the correct partition, in disks manager just click more actions icon, sub-menu list will open, choose edit mount options, mount options will open with Automatic mount options = ON, so you turn this off and by default you'll see that mount at start-up is checked and show in user interface is checked, then hit OK and restart your system, after log-in go to file manager you'll see the part you choose to mount at start-up is already mounted.
Я работаю над проектом, и для этого мне нужно отключить установку жестких дисков в Ubuntu как при запуске, так и при подключении жесткого диска.
Я попробовал одно решение с «edit-conf», отключив автомонтирование в org.gnome.desktop.media-processing, но когда я подключаю жесткий диск, Ubuntu по-прежнему монтирует его в открытом окне, даже когда я перезагружаю компьютер между ними.
Существует также решение fstab, но дело в том, что я заранее не знаю UUID накопителя, который не хочу монтировать автоматически.
Из желания я понимаю, что есть решение редактирования правила udev, но я не специалист в этом.
Монтирование и пункты меню "Переход"
Сначала немного общей теории. Она не очень лёгкая, но надеюсь вы уловите основную суть. Итак, я рассказывал, что все подключаемые устройства автоматически монтируются в подкаталоги папки /media . Возможно, вы даже не преминули проверить это и убедиться в том, что и на самом деле всё обстоит именно так.
А вот с разделами винчестера ситуация несколько иная. Я говорил вам указать точки монтирования для всех разделов при установке, но не объяснил, зачем это нужно и что будет, если вы так не сделаете. Теперь постараюсь ликвидировать это упущение, попутно разложив по полочкам весь механизм монтирования.
В Ubuntu существует специальный файл, /etc/fstab , в котором хранятся настройки монтирования различных разделов, включая корень и swap. Существенная информация из этого файла заключается в первую очередь в соответствии точек монтирования разделам. При каждой загрузке Ubuntu читает этот файл и монтирует все перечисленные в нём диски в указанные для них места. Больше нигде никакой информации и точках монтирования в системе не хранится. Соответственно при установке в /etc/fstab записывается вся указанная вами информация о монтировании ваших разделов.
Различные флешки, внешние диски, плееры и прочие устройства монтируются автоматически при подключении к вашему компьютеру. Точкой монтирования в этом случае служит один из подкаталогов /media , обычно - с именем, соответствующим метке устройства 1) . За выдлением точек монтирования, определением файловой системы и решением других проблем следит Ubuntu - вам ничего делать не надо. Кроме того, все внешние устройства автоматически попадают в меню «Переход» и на рабочий стол, так что вы всегда можете легко получить к ним доступ 2) .
Проблемы начинаются только тогда, когда какое-то устройство было присоединено к компьютеру до загрузки Ubuntu, но для него нету записи в /etc/fstab . В этом случае оно будет смонтировано только при вашем первом к нему обращении. Естественно, по всё тем же правилам подключения внешних источников, то есть в автоматически созданный подкаталог директории /media . В случае с флешками это некритично - в конце концов при первом вашем обращении к флешке вы всё равно сразу же получите доступ к её содержимому и вам вообще не нужно задумываться не то, что о всяких /etc/fstab , а даже просто о значении термина «монтирование». Но дело в том, что Ubuntu ровно так же будет обрабатывать и неуказанные в /etc/fstab разделы винчестера. И в чём же проблема, спросите вы?
Проблема в том, что зачастую получить доступ к содержимому винчестера нужно сразу после загрузки и до того, как вы вручную зайдёте на нужный диск. Это связано с тем, что многие программы работают с файлами без вашего непосредственного участия. Например, различные торрент-клиенты, плееры и прочие приложения, которые постоянно обращаются к файлам на винчестере, просто не смогут работать, пока вы не перейдёте на нужный диск. Кроме того, при автоматическом назначении точки монтирования в момент первого обращения есть ещё одна небольшая проблема: вообще говоря никто не может гарантировать, что каждый раз будет использоваться одна и та же точка монтирования. А это значит, что могут меняться полные пути до всех файлов, что вообще приведёт к невозможности работы с ними большого количества приложений, вроде тех же торрент-клиентов.
В общем, вы наверно уже поняли, что все нужные вам разделы должны присутствовать в /etc/fstab , чтобы Ubuntu их автоматически монтировала при запуске и у вас не было проблем при работе с ними.
Вопрос остаётся только один: а какие указывать точки монтирования для разделов? Если вы помните, при описании установки я говорил вам монтировать все дополнительные разделы в подкаталоги /media . Это и есть самый распространённый способ указания точек монтирования, однако далеко не единственный. Дело в том, что всё, смонтированное в подкаталоги /media , автоматически попадает в меню «Переход» и на рабочий стол. Но иногда хочется скрыть некоторые разделы и убрать их из всех списков и меню. Логичным решением было бы просто удалить запись о ненужном разделе из /etc/fstab . Однако это не приведёт к желаемому результату, поскольку точка монтирования для раздела, не указанного в /etc/fstab , автоматически всё равно будет назначаться в подкаталог /media , соответственно, диск всё равно будет доступен через меню «Переход». А скрыть диск на самом деле очень просто: нужно указать точку монтирования для раздела не в подкаталог /media , а в другую часть файлового дерева.
Будьте осторожны! Неаккуратное обращение с точками монтирования может привести к полной неработоспособности системы.
Например, в подкаталог /hidden/data 3) . При этом диск исчезнет из всех графических программ, но к его содержимому всё же будет доступ по полному пути относительно корня 4) .
На всякий случай хочу обратить внимание на две вещи: во-первых, указанный в качестве точки монтирования для любого диска каталог должен существовать в файловой системе. То есть если вы хотите смонтировать какое-то устройство в /hidden/data , то у вас должен существовать каталог /hidden/data . И при этом он должен быть пустой, т.к. его содержимым после монтирования будет являться содержимое подключаемого устройства. А во-вторых права на запись файлов на подключаемые устройства определяются правами на запись в точку монтирования. То есть если вы что-то монтируете в /media/data , то у вас должны быть нужным образом установлены владелец, группа и права доступа к каталогу /media/data .
Осталось только немного рассказать про системные директории, вроде /home , и про их отношение к процессу монтирования. Конкретно в /home хранятся домашние каталоги для всех пользователей компьютера. Помните, при рассказе про установку я говорил, что /home рекомендуется выделять отдельным разделом для того, чтобы хранить пользовательские настройки отдельно от системы? Это нужно для того, чтобы можно было, например, отформатировать системный раздел и поставить систему заново, при этом сохранив все пользовательские данные в целостности и сохранности. Так вот, если вы ещё этого не поняли, тут стоит обратить внимание на то, что не только дополнительные разделы с помощью механизма монтирования можно вставлять в текущее дерево каталогов, но и выносить на отдельные разделы любые системные каталоги 5) .
Вот так всё запутанно и с первого взгляда сложно. Если вы не уловили суть вопроса, то ничего страшного, просто запомните, что для всех разделов винчестера обязательно должны быть записи в /etc/fstab , а обо всём остальном за вас позаботится система, вот и вся соль.
Читайте также: