Если вы только что подключили внешний диск к своей системе Linux и не знаете, как сделать его доступным, то вы попали по адресу! Монтирование диска в Linux может показаться сложным, но на самом деле это довольно просто, если вы понимаете основы. В этой статье мы расскажем вам, как навсегда смонтировать внешний диск в Linux с помощью файла fstab.
Мы также рассмотрим лучшие практики, такие как использование UUID, включение TRIM и установка более безопасного значения umask
.
В Linux — mounting «подключение» диска означает, что он становится доступным для системы. Когда вы подключаете внешний диск, Linux обнаруживает его, но вам нужно указать системе, где его «подключить» в файловой системе. Для этого нужно создать точку подключения (каталог) и связать с ней диск.
/etc/fstab
(сокращение от file systems table «таблица файловых систем») — это файл конфигурации в Linux, который определяет, как и где монтируются устройства хранения данных и разделы. Он сообщает системе, какие диски нужно монтировать, где их монтировать и какие параметры использовать в процессе монтирования.
Почему это так важно?
/etc/fstab
, автоматически монтируются при загрузке, поэтому вам не нужно монтировать их вручную каждый раз.
Структура /etc/fstab
:
Каждая строка в файле представляет собой файловую систему или раздел и содержит шесть полей:
/dev/sdb1
, UUID=1234-5678
, или LABEL=MyDrive
)./mnt/mydrive
).ext4
, ntfs
, exfat
).defaults
, noatime
, nofail
).dump
для резервного копирования (0
означает отсутствие резервного копирования).0
означает отсутствие проверки, 1
— для корневого каталога, 2
— для других дисков).
Пример записи:
Вот пример записи /etc/fstab
:
UUID=1234-5678 /mnt/mydrive ext4 defaults,noatime 0 2
Здесь,
dump
утилиты.
Таким образом, файл /etc/fstab
— это мощный инструмент для управления тем, как и где монтируются диски в Linux. Понимая его структуру и параметры, вы можете автоматизировать монтирование и настроить систему хранения данных.
Для получения более подробной информации о Fstab, пожалуйста, ознакомьтесь со следующим руководством:
Давайте теперь посмотрим, как смонтировать диск в Linux на постоянной основе.
Перед монтированием вам нужно знать название вашего диска. Linux присваивает дискам такие названия, как /dev/sdb1
или /dev/nvme0n1p1
.
Чтобы найти свой диск, откройте терминал и запустите:
lsblk
В списке будут перечислены все диски и разделы в вашей системе. Найдите в списке свой внешний диск. Обычно его размер соответствует ёмкости вашего диска.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 931.5G 0 part └─sda2 8:2 0 32M 0 part nvme0n1 259:0 0 465.8G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 464.3G 0 part / └─nvme0n1p3 259:3 0 976M 0 part [SWAP]
Как вы видите в приведенном выше выводе, в системе подключены два диска. Внутренний диск — /dev/nvme0n1
, а внешний — /dev/sda
.
В этом примере sda1 — это устройство, которое мы собираемся подключить.
Точка монтирования — это просто каталог, в котором будет доступен диск. Вы можете создать его в любом месте, но обычно используют /mnt
или /media
. Например:
sudo mkdir /media/ostechnix/SK_WD_SSD
Замените /media/ostechnix/SK_WD_SSD
именем, которое имеет смысл для вашего диска.
Чтобы протестировать диск, вы можете временно подключить его. Используйте команду mount
:
sudo mount /dev/sda1 /media/ostechnix/SK_WD_SSD
Замените /dev/sda1
на правильное название вашего диска. Теперь ваш диск должен быть доступен по адресу /media/ostechnix/SK_WD_SSD
.
Чтобы ваш диск автоматически монтировался при каждом запуске компьютера, вам нужно отредактировать файл /etc/fstab
. Этот файл сообщает Linux, какие диски нужно монтировать и где.
Вот пример записи /etc/fstab
для внешнего SSD-накопителя NVMe с файловой системой exFAT:
LABEL=SK_WD_SSD /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=0 0 2
Пожалуйста, обратите внимание, что я назвал свой внешний диск «SK_WD_SSD», когда отформатировал его в файловой системе exFAT. В вашем случае название может быть другим.
Эта запись работает, но давайте улучшим её, следуя рекомендациям:
1. Используйте UUID вместо метки:
UUID более надёжны, потому что они не меняются. Найдите UUID вашего диска с помощью:
sudo blkid
Пример вывода:
/dev/nvme0n1p3: UUID="1ff239fc-674c-4749-9c73-fe5d0668071a" TYPE="swap" PARTUUID="95db6d7b-903b-4f8c-8583-bd00070aa45a" /dev/nvme0n1p1: UUID="CF87-3143" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="9dc59fb7-f900-484d-b4c5-c9090b901727" /dev/nvme0n1p2: UUID="99406049-9ff5-47d1-a1ce-d5e27cd859c0" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="f2d515b2-a3c4-4c8c-a609-91d5b755b001" /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="VTOYEFI" LABEL="VTOYEFI" UUID="5A89-BA75" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6251cb36-02" /dev/sda1: LABEL="SK_WD_SSD" UUID="2A81-C276" BLOCK_SIZE="512" TYPE="exfat" PTTYPE="dos" PARTUUID="6251cb36-01"
В этом примере мы подключим /dev/sda1
с UUID «2A81-C276».
2. Установите безопасный umask
:
Используйте umask=022
, чтобы предоставить владельцу полный доступ, а другим пользователям — доступ только для чтения.
3. Предотвратите ошибки при загрузке:
Добавьте опцию nofail
, чтобы предотвратить ошибки загрузки при отключении накопителя.
Вот последняя и улучшенная запись /etc/fstab
:
UUID=2A81-C276 /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail 0 2
Эта запись /etc/fstab
:
2A81-C276
к /media/ostechnix/SK_WD_SSD
.exfat
файловую систему.errors=remount-ro
), производительности (noatime
, nodiratime
), а также доступа пользователей (users
, umask=022
).nofail
).0
) и планирует проверку файловой системы после корневой файловой системы (2
).
В двух словах, эта команда используется для постоянного подключения диска в Linux.
Вот подробное описание приведённой выше записи в fstab:
UUID=2A81-C276
Он определяет подключаемый диск с помощью UUID (универсального уникального идентификатора).
UUID уникальны и не меняются, в отличие от имён устройств (например, /dev/sda1
, /dev/sdb1
), которые могут меняться в зависимости от порядка подключения дисков.
Вы можете запустить sudo blkid
, чтобы получить список всех дисков и их UUID.
/media/ostechnix/SK_WD_SSD
Здесь указывается точка монтирования, то есть каталог, в котором будет доступен диск. Именно там вы будете получать доступ к своим файлам после монтирования диска.
Вы можете изменить его на любой другой каталог по вашему усмотрению (например, /mnt/mydrive
).
exfat
Он определяет тип файловой системы накопителя. Linux должен знать, как читать и записывать данные на накопитель. К распространённым файловым системам относятся ext4
, ntfs
, vfat
и exfat
.
Замените exfat
на правильный тип файловой системы для вашего диска.
errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail
Это параметры монтирования, которые определяют способ установки накопителя. Они предоставляют стандартный набор параметров для большинства случаев использования.
Давайте разберем их по полочкам:
errors=remount-ro
:
При обнаружении ошибок диск перемонтируется как доступный только для чтения, чтобы предотвратить повреждение данных. Это защищает ваши данные в случае ошибок файловой системы.
defaults
:
Это включает набор параметров подключения по умолчанию, включая:
rw
: Доступ на чтение и запись.suid
: Позволяет битам SUID и SGID вступить в силу.dev
: Позволяет интерпретировать файлы устройства в файловой системе.exec
: Позволяет выполнять двоичные файлы.auto
: Автоматически монтирует диск при загрузке.nouser
: Только пользователь root может подключить диск (в данном случае users
переопределяет).async
: Операции с файловой системой выполняются асинхронно.
users
Это позволяет пользователям, не являющимся администраторами, монтировать и демонтировать диск. Полезно для внешних дисков, которые должны быть смонтированы обычными пользователями.
noatime
и nodiratime
Это предотвратит обновление системой времени доступа к файлам и каталогам. Это повышает производительность и снижает износ твердотельных накопителей за счет минимизации операций записи.
umask=022
Он устанавливает права доступа к файлам для диска и контролирует, кто может получать доступ к файлам на диске и изменять их.
Здесь umask=022
означает:
rwx
).r-x
)nofail
Это предотвращает появление ошибок в системе или её сбой при загрузке, если диск не подключён. Это важно для внешних дисков, которые не всегда подключены.
0
Он определяет, будет ли создаваться резервная копия диска с помощью утилиты dump
. Большинство пользователей не используют dump
, поэтому 0
обычно подходит.
0
: Отключает резервное копирование (рекомендуется для большинства пользователей).1
: Включает резервное копирование.
2
Он определяет порядок, в котором файловая система проверяется fsck
во время загрузки.
0
: Чека нет.1
: Сначала проверьте (используется для корневой файловой системы).2
: Проверьте после корневой файловой системы.
Это обеспечивает целостность файловой системы для некорневых дисков.
Чтобы добавить указанную выше запись в Fstab, откройте файл /etc/fstab
в текстовом редакторе:
sudo nano /etc/fstab
Добавьте строку в конец файла.
Вот записи fstab системы для справки:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # systemd generates mount units based on this file, see systemd.mount(5). # Please run 'systemctl daemon-reload' after making changes here. # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/nvme0n1p2 during installation UUID=99406049-9ff5-47d1-a1ce-d5e27cd859c0 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/nvme0n1p1 during installation UUID=CF87-3143 /boot/efi vfat umask=0077 0 1 # swap was on /dev/nvme0n1p3 during installation UUID=1ff239fc-674c-4749-9c73-fe5d0668071a none swap sw 0 0 # Fstab Entry to Permanently Mount External Drive UUID=2A81-C276 /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail 0 2
Нажмите CTRL+O
затемCTRL+X
, чтобы сохранить файл и выйти из редактора.
Перед перезагрузкой проверьте настройки, чтобы убедиться в отсутствии ошибок:
sudo mount -a
Если ошибок нет, ваш накопитель готов к использованию!
Вы можете проверить это с помощью команды df:
df -h
Эта команда покажет вам список подключённых дисков вместе с точками их подключения в вашей системе:
Размер файловой системы Используется Доступно Используется % Смонтировано на udev 16G 0 16G 0% /dev tmpfs 3,1G 2,3M 3,1G 1% /run /dev/nvme0n1p2 456G 264G 170G 61% / tmpfs 16G 104M 16G 1% /dev/shm tmpfs 5.0M 8.0K 5.0M 1% /run/lock efivarfs 192K 109K 79K 59% /sys/firmware/efi/efivars /dev/nvme0n1p1 511M 9.3M 502M 2% /boot/efi /dev/sda1 932G 799G 133G 86% /media/ostechnix/SK_WD_SSD /dev/fuse 128M 16K 128M 1% /etc/pve tmpfs 3.1G 2.6M 3.1G 1% /run/user/1000
Как вы можете видеть в приведенном выше выводе, /dev/sda1
установлен на /media/ostechnix/SK_WD_SSD
.
Если вы используете SSD, включите периодическую очистку TRIM для поддержания производительности.
Для этого выполните:
sudo fstrim -v /media/ostechnix/SK_WD_SSD
Вы также можете настроить задание cron для автоматического запуска. Например, чтобы запускать TRIM еженедельно, добавьте это в свой crontab:
0 2 * * 0 sudo fstrim -v /media/ostechnix/SK_WD_SSD
Когда вы закончите использовать накопитель, безопасно отключите его:
sudo umount /media/ostechnix/SK_WD_SSD
Вы также можете сделать это в графическом интерфейсе файлового менеджера (щелкните правой кнопкой мыши и выберите Размонтировать или Безопасно удалить).
Обычно существует два метода TRIM. Это непрерывная и периодическая TRIM.
Выбор между постоянной TRIM и периодической TRIM зависит от конкретного сценария использования, нагрузки на SSD и ваших предпочтений в отношении производительности или долговечности.
Непрерывная TRIM (включена в опции discard
монтирования в /etc/fstab
) отправляет команды TRIM на SSD в режиме реального времени по мере удаления файлов. Это позволяет сразу использовать свободное место SSD для новой записи.
Добавьте опцию discard
в свою запись /etc/fstab
:
UUID=your-uuid-here /media/ostechnix/SK_WD_SSD exfat errors=remount-ro,defaults,users,noatime,nodiratime,umask=022,nofail,discard 0 2
Периодическая команда TRIM (активируется при запуске fstrim
вручную или по расписанию) отправляет команды TRIM на SSD через регулярные промежутки времени (например, ежедневно или еженедельно).
fstrim
.
Установить util-linux
(если еще не установлен):
sudo apt install util-linux
Запустить fstrim
вручную:
sudo fstrim -v /media/ostechnix/SK_WD_SSD
Настройте задание Cron (например, еженедельно):
Откройте редактор crontab:
crontab -e
Добавляйте эту строку для запуска fstrim
каждое воскресенье в 2 часа ночи:
0 2 * * 0 sudo fstrim -v /media/ostechnix/SK_WD_SSD
В качестве альтернативы используйте Systemd Timer (если ваша система использует systemd):
Создайте службу systemd и таймер для периодического запуска fstrim
.
Чтобы включить общесистемную периодическую ОБРЕЗКУ, выполните:
sudo systemctl enable --now fstrim.timer
Это запускает TRIM еженедельно на поддерживаемых твердотельных накопителях.
Если вы хотите запустить TRIM вручную в любое время, вы можете сделать:
sudo fstrim -av
Это отключает все смонтированные файловые системы, которые его поддерживают.
Если вы собираетесь использовать внешний твердотельный накопитель NVMe для ежедневного резервного копирования, периодическая команда TRIM, скорее всего, будет лучшим выбором. Резервное копирование обычно предполагает большую последовательную запись, и вам не нужно немедленно освобождать место. Выполнения fstrim
раз в неделю должно быть достаточно для поддержания производительности и продления срока службы твердотельного накопителя.
Используйте smartctl
для контроля состояния вашего накопителя:
sudo apt install smartmontools sudo smartctl -a /dev/sdb1 ## Это позволяет очистить все подключенные файловые системы, которые поддерживают эту функцию.
Если вы предпочитаете графический интерфейс, в большинстве настольных сред Linux (например, GNOME или KDE) есть файловые менеджеры, которые позволяют монтировать диски одним щелчком мыши.
Вопрос: Что, если мой диск не отображается вlsblk
?
О: Убедитесь, что диск правильно подключен. Если он по-прежнему не определяется, проверьте системные журналы на наличие ошибок с помощью dmesg
В: В чем разница между /mnt
и /media
?
A: /mnt
обычно используется для временных подключений, а /media
— для съёмных накопителей. Вы можете использовать любой из них, но для единообразия лучше придерживаться одного.
Постоянная установка внешнего диска в Linux — простой процесс, если вы знаете, что нужно делать. Следуя этой статьи, вы сможете сделать свой диск доступным и обеспечить его автоматическую установку при каждом запуске системы.