- Монтирование разделов
- Способы монтирования
- Способ 1: монтирование через универсально уникальный идентификатор (UUID)
- Способ 2: монтирование через имена устройств
- Дополнительная информация
- Донастройка системы
- How to manually mount a partition?
- 2 Answers 2
- Create mount point directory
- Mount the partition to the new directory
- Unmount the partition
- Script method
Монтирование разделов
Если вы раньше использовали ОС Windows, то вы, скорее всего, привыкли к дискам с именами (C:), (D:) и т.д. В ОС Ubuntu Linux все иначе. Если в Windows для каждого раздела винчестера, CD-привода, флешки или картридера, назначалась определенная буква, к примеру (E:), то в Linux содержимое всех подключаемых и внутренних дисков отображается в виде папок, которые монтируются (подключаются) в корень файловой системы (/) По началу это может показаться очень неудобным, но при постепенном осваивании системы Linux, вы поймете что так правильней и даже удобней.
На данный момент Ubuntu Linux выполняет автоматическое монтирование всех обнаруженных подключаемых устройств (внешние винчестеры, флешки, фотоаппараты и т.д.) в корень файловой системы в директорию /media/. Например, если вы вставите флешку с меткой «Flash_card», то система смонтирует ее в каталог /media/Flash_card. В любом случае вам не надо задумываться куда и как монтировать внешние носители, т.к. они автоматически становятся доступны на панели рабочего стола в меню «Переход».
Однако ситуация с NTFS, FAT и FAT32 разделами основного (внутреннего) винчестера несколько иная. Чтобы каждый раз при попытке зайти на NTFS или FAT32 раздел не вводить пароль нужно выполнить действия рассмотренные ниже:
Способы монтирования
Способ 1: монтирование через универсально уникальный идентификатор (UUID)
Монтирование через идентификатор диска UUID является наиболее надёжным, работает во всех версиях Ubuntu (и не только Ubuntu).
UUID — это атрибут конкретной файловой системы, а не произвольное число, зависящее от физического порядка подключения дисков или случайностей инициализации дисковой подсистемы ядром.
Узнаем UUID разделов, для этого
/dev/sda1: UUID="00a4ad8e-dbcc-4c32-a0b4-074b5ee2bfb4" TYPE="ext4" /dev/sda2: LABEL="Win7" UUID="0E42D6D242D6BE21" TYPE="ntfs" /dev/sda3: LABEL="Shared" UUID="7ECCC7F5CCC7A62D" TYPE="ntfs" /dev/sda4: UUID="1050e484-896f-42a9-bdb3-49eb1255cc77" TYPE="swap" /dev/sr0: LABEL="DrWebLiveCD" TYPE="iso9660" /dev/sdb1: LABEL="TRENDNET8GB" UUID="355B-FE37" TYPE="vfat"
Предположим, мы хотим подключить раздел «Shared» (NTFS-раздел, находящийся на основном диске компьютера) и «TRENDNET8GB» (флэшка, отформатированная в FAT32).
Бонус использования команды blkid по сравнению с инспекцией каталога /dev/disk/by-uuid/ в том,что вы сразу видите тип файловой системы на блочном устройстве, если ядру удалось его определить.
sudo mkdir /mnt/Shared /mnt/TrendNet8Gb
Открываем от имени администратора файл /etc/fstab, содержащий информацию о всех монтируемых при загрузке разделах:
UUID="7ECCC7F5CCC7A62D" /mnt/Shared ntfs rw,nls=utf8,gid=plugdev,umask=0002 0 0
UUID="355B-FE37" /mnt/TrendNet8Gb vfat rw,exec,codepage=866,nls=utf8,gid=plugdev,umask=0002,nofail,users 0 0
Способ 2: монтирование через имена устройств
Монтирование с помощью таблицы разделов поддерживается практически во всех версиях всех *nix-подобных операционных систем.
Считается устаревшим и строго не рекомендуется к постоянному использованию.
Единственным заметным плюсом является небольшая длина имён устройств, что удобно при прямой работе с консолью. Например, во время реанимации умершей системы.
Узнаём имена разделов. Для этого можно, опять же, воспользоваться командой blkid, либо обратиться к помощи системы:
# cat /proc/partitions major minor #blocks name 8 0 488386584 sda 8 1 20971520 sda1 8 2 2097152 sda2 8 3 464519168 sda3 8 16 488386584 sdb 8 17 20971520 sdb1 8 18 2097152 sdb2 8 19 464519168 sdb3 9 1 10538496 md1 9 0 6289344 md0
Разделы, оканчивающиеся цифрой — файловые системы. Разделы без цифры на конце — реальные физические устройства. В данном примере участвуют два физических диска (/dev/sda и /dev/sdb) и два рейд-массива (по сути — две файловые системы, не привязанные напрямую к какому-то одному физическому носителю).
Больше информации (как то точная геометрия и серийные номера физических дисков, что бывает нужно в целях более точной идентификации разделов) можно получить, воспользовавшись утилитами fdisk, sfdisk (для дисков, размеченных в MBR), parted (рекомендуется, понимает как разметку MBR, так и более современную GPT, используемую в системах с UEFI BIOS).
Пример вывода команды fdisk (вывод parted отличается очень незначительно):
# fdisk -u -l /dev/sd? Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x8543ab30 Device Boot Start End Blocks Id System /dev/sda1 * 2048 41945087 20971520 83 Linux /dev/sda2 41945088 46139391 2097152 83 Linux /dev/sda3 46139392 975177727 464519168 83 Linux Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x84a90046 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 41945087 20971520 83 Linux /dev/sdb2 41945088 46139391 2097152 83 Linux /dev/sdb3 46139392 975177727 464519168 83 Linux
Попробуем достучаться до массива md0.
Предположим, мы не знаем, какая файловая система на диске. К счастью, в большинстве случаев вполне можно положиться на автоматическое определение системы.
$ sudo mount /dev/md0 /mnt/raid0 -t auto -o rw,nls=utf8,noatime $ mount . /dev/md0 on /mnt/raid0 type ext3 (rw,noatime,nls=utf8)
Дополнительная информация
Я не стал загружать основной текст статьи расшифровкой опций монтирования, но несколько слов пояснения сказать необходимо.
rw (read-write, чтение-запись) — файловая система будет подключена с возможностью записи на неё пользователями.
Если вы хотите предотвратить любую запись на файловую систему вообще, указание одной только опции ro (read-only, только чтение) вас не спасёт — такие действия, как восстановление целостности системы по записям из журнала, будут проведены при подключении систем, поддерживающих журналирование. При необходимости предотвратить любую запись на файловую систему пользуйтесь другими средствами для монтирования, либо внимательно читайте документацию на утилиту монтирования для соответствующей файловой системы, если она допускает принудительное отключение подобных действий.
exec — все файлы на подключемой системе будут считаться исполнимыми, если система не поддерживает других механизмов указания исполнимости файла. Альтернативно, noexec запрещает исполнение любых бинарных файлов вообще.
codepage=866 — указывает, какую кодировку использовать для трансляции имён файлов на файловой системе. Кириллическая русская кодовая страница для файловой системы FAT — 866. Длинные имена на файловой системе (VFAT) сохраняются в уникоде, реально эта настройка нужна только для дисков, записанных на отличных от Windows системах, не поддерживающих соглашения VFAT.
nls=utf8 — указывает модулю файловой системы, какую кодировку использовать при передаче данных системе (и пользователю). Старое название этой опции — iocharset использовать запрещено — она будет удалена в следующих версиях программы.
FS OS Applications Operator
uid (gid) — указывает, какой пользователь (группа) будет владеть точкой подключения (и файлами на ней, если нет других способов определить владельца). gid=plugdev указывает, что все пользователи в группе 46(plugdev) могут обращаться к этому устройству. Локальные пользователи в Ubuntu обычно входят в эту группу.
nofail — если указанный том недоступен в момент загрузки, это не создаст ошибок и загрузка нормально продолжится.
Внимание: настольная (desktop) версия Ubuntu всё равно выдаст предупреждение и будет ждать ввода пользователя.
users — допускает монтирование и размонтирование устройства обычными пользователями, причём, в отличие от user, размонтировать устройство может любой пользователь, не обязательно тот, что его монтировал.
Более подробно о монтировании разделов диска и опций к нему можно узнать из статьи про fstab, а также в статье разделы_и_файловые_системы_linux.
Донастройка системы
Теперь диски стали подключаться автоматически, но так как это делается от имени root, у нас пропала возможность на подключенных дисках давать права на общий доступ, чтобы восстановить эту возможность добавим настройку в Samba:
sudo gedit /etc/samba/smb.conf
usershare owner only = false
Это ОЧЕНЬ ГРУБЫЙ ХАК. Для нормальной работы с пользователями на NTFS дисках — создайте на NTFS разделе файл .NTFS-3G/UserMapping
How to manually mount a partition?
There are many questions on automatically mounting or problems encountered during mounting that I’ve read here. But none on how to manually mount a partition.
2 Answers 2
The first step is to list all your partitions to find the one you want to mount:
$ lsblk -o NAME,FSTYPE,LABEL,SIZE,MOUNTPOINT NAME FSTYPE LABEL SIZE MOUNTPOINT sdb 14.4G ├─sdb4 iso9660 Ubuntu 18.04 LTS amd64 1.4G /media/rick/Ubuntu 18.04 LTS amd64 ├─sdb2 1M ├─sdb5 ext4 casper-rw 6.4G /media/rick/casper-rw ├─sdb3 vfat usbboot 244M └─sdb1 ntfs usbdata 6.4G /media/rick/usbdata sr0 1024M sda 931.5G ├─sda4 ntfs WINRETOOLS 450M ├─sda2 128M ├─sda5 ntfs Image 11.4G ├─sda3 ntfs HGST_Win10 919G /mnt/d └─sda1 vfat ESP 500M nvme0n1 477G ├─nvme0n1p5 ext4 NVMe_Ubuntu_16.0 44.6G / ├─nvme0n1p3 16M ├─nvme0n1p1 ntfs 450M ├─nvme0n1p8 ext4 Ubuntu18.04 23.7G ├─nvme0n1p6 swap Linux Swap 7.9G [SWAP] ├─nvme0n1p4 ntfs NVMe_Win10 391.2G /mnt/c ├─nvme0n1p2 vfat 99M /boot/efi └─nvme0n1p7 ntfs Shared_WSL+Linux 9G /mnt/e
For this example, we will mount nvme0n1p8 which has the label Ubuntu18.04 . To credit sources, we’ll be following this article as a guide.
Create mount point directory
The next step is to create a directory under /mnt that the newly mounted partition will be referred to as:
Mount the partition to the new directory
The final step is to mount the partition to the new directory:
$ sudo mount -t auto -v /dev/nvme0n1p8 /mnt/Ubuntu18.04 /dev/nvme0n1p8 mounted on /mnt/Ubuntu18.04.
Notice we prepend /dev/ to the names provided by lsblk above.
Now let’s see what we’ve just mounted:
$ ll /mnt/Ubuntu18.04 total 24 drwxr-xr-x 3 root root 4096 Apr 26 17:00 ./ drwxr-xr-x 6 root root 4096 Apr 27 20:51 ../ drwx------ 2 root root 16384 Apr 26 17:00 lost+found/
lost_found is needed for fschk command (File System check). It is automatically created and normally we don’t have to «fiddle» with it.
Unmount the partition
When we are finished we can unmount the partition using the -l parameter which safely unmounts the partition:
$ sudo umount /dev/nvme0n1p8 -l
Script method
A script to mount partition is available in this answer:
This screen appears tailored to your unique machine environment: