mount disk

Предположим вы подключили новый диск, на котором ещё нет файловой системы. Система его не видит и нам нужно выполнить команды для его подключения.

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

При подключении нового диска нам нужно:

Как узнать имена дисков, как просмотреть все диски в системе

Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.

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

fdisk -l

Имеется диск /dev/sda. Затем перечислены два устройства /dev/sda1 и /dev/sda2 По совпадающему части названия sda можно понять, что это разделы, на которые разделён диск /dev/sda.

Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:

cfdisk /dev/sda

Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый:

Введите его размер.

Если нужно, поменяйте тип раздела:

Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.

Форматирование разделов

Для форматирования в ext4:

mkfs.ext4 /dev/имя_раздела

Для форматирования в ext3:

mkfs.ext3 /dev/имя_раздела

Для форматирования в ext2:

mkfs.ext2 /dev/имя_раздела

Для форматирования в FAT32:

mkfs.fat -F32 /dev/имя_раздела

Мой пример (я не стал разбивать диск на разделы):

mkfs.ext4 /dev/sda

Кстати, если вы хотите отформатировать раздел, который уже используете, то его нужно сначала отмонтировать (об этом дальше).

Монтирование и размонтирование дисков

С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.

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

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные
не нужно копировать в безопасное место, поскольку они уже на другом диске.

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

mount /dev/имя_раздела /точка/монтирования/

Допустим, я хочу, чтобы новый диск был подключён (смонтирован) к папке /mnt/disk_d. Название можно выбрать любое и точка монтирования необязательно должна быть в директории /mnt/ — можно сделать в домашней папке или в любой другой.

Начинаем с создания директории, в которую будет смонтирован диск:

mkdir /mnt/disk_d

Монтируем:

mount /dev/sda /mnt/disk_d

Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:

chmod 0777 /mnt/disk_d

На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.

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

umount /dev/имя_раздела

Или:

umount /точка/монтирования/

Автоматическое монтирование диска при загрузке Linux

Диски для монтирования при запуске Linux прописаны в файле /etc/fstab.

Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/. При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:

mkdir /mnt/disk_d

Открываю файл /etc/fstab:

gedit /etc/fstab

и дописываю туда следующую строчку:

/dev/sda   /mnt/disk_d  ext4    rw,relatime 0   0

В этой строке вам нужно заменить

Если вы не уверены в файловой системе или её обозначении, то выполните команду:

lsblk -f

В результате диск будет автоматически монтироваться при каж
дом старте системы.

Чтобы ваш пользователь имел доступ к этой папке без необходимости повышать свои привилегии, выполните команду:

chown -R $USER /mnt/disk_d

Можно более тонко настроить права доступа — например, создав группу, только члены которой будут иметь доступ к диску.

Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta, то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.

Для проверки записей в файле /etc/fstab используйте команду

findmnt --verify

На скриншоте можно увидеть, что диск с UUID равным 26FC3023FC2FEC2D является недоступным (unreachable). Это может означать, что запись в файле /etc/fstab имеет ошибку. Но в данном случае диск с UUID=26FC3023FC2FEC2D — это съёмный диск, для его монтирования указана опция nofail (не вызывать фатальную ошибку, даже если диск отсутствует), поэтому предупреждение можно проигнорировать.

Для вывода более подробной информации добавьте опцию

--verbose:

findmnt --verify --verbose

Все пункты успешно прошли проверку, рассмотрим более подробно записи проблемного диска:

/mnt/disk_e

   [ ] target exists

   [ ] VFS options: rw

   [ ] FS options: utf8

   [ ] userspace options: noauto,nofail

   [W] unreachable: UUID=26FC3023FC2FEC2D

Они означают:

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении
USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

Если этого не произошло, значит нужно смонтировать вручную. Этот процесс ничем не отличается от обычного монтирования дисков: также создайте точку монтирования и используйте команду mount.

Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

Как просмотреть все диски и точки монтирования

Для этого используйте уже знакомую нам команду:

lsblk -f

Как удалить разделы диска

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

Откройте диск в gdisk:

gdisk /dev/диск

Для перехода в экспертный режим там введите x

Затем для удаления GPT введите z

Дважды согласитесь, чтобы полностью очистить диск.

Перемонтирование диска с правами записи

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

mount -rw -o remount /dev/sdb1

В ней /dev/sdb1 замените на имя вашего раздела.

Если вы столкнулись с ошибкой:

mount: /run/media/mial/Новый том: /dev/sdb1 is write-protected but explicit read-write mode requested.

То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):

hdparm -r0 /dev/sdb1

Пример вывода:

/dev/sdb1:

 setting readonly to 0 (off)

 readonly      =  0 (off)

После этого перемонтируйте диск.

Обратите внимание, что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.

, , , , , , , , ,