Как создать GPT-диск в Linux (носитель более 2 ТиБ)
C GPT в системах Linux работает утилита parted.
Чтобы узнать, какой именно тип диска (GPT или MBR) настроен вводим команду:
Если будет выведено предупреждение WARNING: GPT (GUID Partition Table) detected, значит используется GPT.
Также, для определения диска можно использовать gdisk, но сначала его нужно установить.
Создаем GPT
Открываем наш диск утилитой parted:
Откроется интерактивное меню утилиты — нажимаем p:
На экран будет выведена информация о разделах. Если они есть, удаляем командой rm:
* где 1 — номер раздела. Команду нужно повторить для всех разделов. Их список мы смотрели на предыдущем шаге командой p.
* если на разделе есть важная информация, ее нужно скопировать на другой носитель.
Создаем разметку GPT:
(parted) mklabel gpt
И создаем новый раздел:
(parted) mkpart primary 0 0
* где primary указывает, что раздел является основным; 0 и 0 — использовать весь диск для создания раздела, но можно использовать часть диска, например, 0 2048GB.
И форматируем диск:
* где в качестве файловой системы выбрана ext4.
Для проверки, монтируем отформатированный диск в директорию /mnt:
И выводим список дисков:
Если есть необходимость монтировать диск при загрузке системы, прочитайте статью Автоматическое монтирование дисков в Linux
GPT смонтировать
Дано: внешний HDD с USB интерфейсом. При подключении возникает устройство sdh. На нём, судя по fdisk, GPT. sdh1 не возникает. Как смонтировать винчестер и забрать с него данные?
/dev/sdh: x86 boot sector; partition 1: starthead 0, startsector 1, 4294967295 sectors, extended partition table (last)\011, code offset 0x0
Удостоверься, что в ядре твоего дистрибутива linux включена поддержка GPT, т.е. присутствует опция CONFIG_EFI_PARTITION.
Если её нет, то ядро не поддерживает GPT разметку и устройства с разделами созданы не будут.
Но ты можешь воспользоваться таким скриптом grub rescue no such partition (комментарий) для поиска суперблока файловой системы и её монтирования, только нужно знать тип файловой системы.
cat /boot/config-3.7.10-1.1-desktop|grep EFI
CONFIG_EFI_PARTITION=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_FB_EFI=y
CONFIG_EFI_VARS=y
Если разделы только что созданы, ну или не только что, но всё равно не видны, но ты уверен, что они там есть, то попробуй вызвать утилиту ‘partprobe’:
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Warning! Secondary partition table overlaps the last partition by
4294966385 blocks!
You will need to delete this partition or resize it in another utility.
Disk /dev/sdh: 1565565872 sectors, 746.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 5F659824-6196-4A06-9A94-7B32ADEC5741
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1565565838
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 5860532223 2.7 TiB 0700
partprobe /dev/sdh
Error: Can’t have a partition outside the disk!
Сколько размер диска? В выводе видно, что размер диска 1565565872 секторов (746,5 Gib), в то время как у вас создан GPT раздел размером 2,7 Тib, что на 2 Tib больше размера диска.
WARNING: GPT (GUID Partition Table) detected on ‘/dev/sdh’! The util fdisk doesn’t support GPT. Use GNU Parted.
Disk /dev/sdh: 801.6 GB, 801569726464 bytes
255 heads, 63 sectors/track, 97451 cylinders, total 1565565872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa2200880
Device Boot Start End Blocks Id System
/dev/sdh1 1 4294967295 2147483647+ ee GPT
Значит удаляй GPT раздел и создавай заново правильного размера.
А как данные с него вытащить до любых операций записи?
Я тебе привёл выше скрипт, воспользуйся им.
diflyon
Журнал айтишника
How to mount a partition on a disk that has an EFI GPT partition table in Debian GNU/Linux
This is an example of how to mount a partition from a large disk that has an EFI GPT partition table instead of the conventional MBR (Master Boot Record) partition table. A large disk means a hard drive that is 1 Terabyte or more. EFI stands for Extensible Firmware Interface. GPT is short for Globally Unique Identifier Partition Table.
1. Check the kernel was compiled with EFI support. The standard kernel with Debian Lenny comes with EFI support built-in. The command to check is:
cat /boot/config-2.6.26-2-686 | grep EFI
You know if the kernel was compiled with EFI support if you get these lines:
2. The fdisk command shows only a placeholder partition. This is normal.
Device Boot Start End Blocks Id System
/dev/sda1 1 121602 976762583+ ee EFI GPT
3. List the real partitions on the disk using parted.
parted /dev/sda print
You should get a result like this:
Number Start End Size File system Name Flags
1 17.4kB 1024MB 1024MB ext3 primary
2 1024MB 6144MB 5120MB xfs primary
3 6144MB 6144MB 512B primary
4 6144MB 6144MB 512B primary
5 6144MB 7168MB 1024MB linux-swap primary
6 7168MB 992GB 985GB xfs primary
To mount the second partition, use the mount command in the same way you usually would.
Монтирование диска в Linux
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
Или расширенный вариант:
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Как в Linux подключить новый диск, разметить и отформатировать разделы
Оглавление
В этой небольшой заметке я покажу на практическом примере, как работать с дисками в Linux.
Активация диска в Linux
Предположим вы подключили новый диск, на котором ещё нет файловой системы. Система его не видит и нам нужно выполнить команды для его подключения.
Скажу сразу, все описанные здесь действия можно выполнять в командах с графическим интерфейсом. Я же буду размечать и форматировать диски в командной строке — это более универсальный способ, так как позволяет настроить диски и разделы даже в операционных системах, на которых нет графического окружения.
При подключении нового диска нам нужно:
Как узнать имена дисков, как просмотреть все диски в системе
Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.
Чтобы посмотреть доступные диски, выполните команду:

Как видно из скриншота, имеется диск /dev/nvme0n1. Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2. По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1.
Также имеется диск /dev/sda, который не разделён ни на какие разделы — именно его я и буду подключать.
Разметка дисков (разделение на разделы) в Linux
В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:

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

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

Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.
Форматирование разделов
Для форматирования в ext4:
Для форматирования в ext3:
Для форматирования в ext2:
Для форматирования в FAT32:
Мой пример (я не стал разбивать диск на разделы):

Кстати, если вы хотите отформатировать раздел, который уже используете, то его нужно сначала отмонтировать (об этом дальше).
Монтирование и размонтирование дисков
С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.
Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.
Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.
Для монтирования используется команда вида:
Начинаем с создания директории, в которую будет смонтирован диск:
Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:
На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.
Для размонтирования диска используется любая из двух команд:
Автоматическое монтирование диска при загрузке Linux
Диски для монтирования при запуске Linux прописаны в файле /etc/fstab.
Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/. При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:
Открываю файл /etc/fstab:
и дописываю туда следующую строчку:
В этой строке вам нужно заменить
Если вы не уверены в файловой системе или её обозначении, то выполните команду:
В результате диск будет автоматически монтироваться при каждом старте системы.
Чтобы ваш пользователь имел доступ к этой папке без необходимости повышать свои привилегии, выполните команду:
Можно более тонко настроить права доступа — например, создав группу, только члены которой будут иметь доступ к диску.
Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta, то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.
Для проверки записей в файле /etc/fstab используйте команду

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

Все пункты успешно прошли проверку, рассмотрим более подробно записи проблемного диска:
Подключение съёмного носителя (флешки, внешнего диска) в Linux
Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.
Если этого не произошло, значит нужно смонтировать вручную. Этот процесс ничем не отличается от обычного монтирования дисков: также создайте точку монтирования и используйте команду mount.
Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.
Как просмотреть все диски и точки монтирования
Для этого используйте уже знакомую нам команду:

Как удалить разделы диска
Если вы хотите удалить всё содержимое диска, в том числе его разбивку на разделы, то это делается так:
Откройте диск в gdisk:
Для перехода в экспертный режим там введите
Затем для удаления GPT введите
Дважды согласитесь, чтобы полностью очистить диск.
Перемонтирование диска с правами записи
Иногда диски монтируются только с правами чтения. В этом случае можно скопировать файлы с диска, но нельзя на него что-либо записать или удалить. Перемонтировать диск на запись можно одной командой:
В ней /dev/sdb1 замените на имя вашего раздела.
Если вы столкнулись с ошибкой:
То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):
После этого перемонтируйте диск.
Обратите внимание, что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.
Заключение
Если у вас ещё остались вопросы, то задавайте их в комментариях.










