Fdisk — простой способ управления разделами дисков в linux

Проверка диска на битые секторы Linux

Для поиска битых секторов можно использовать утилиту badblocks. Если вам надо проверить корневой или домашний раздел диска, то лучше загрузится в LiveCD, чтобы файловая система не была смонтирована. Все остальные разделы можно сканировать в вашей установленной системе. Вам может понадобиться посмотреть какие разделы есть на диске. Для этого можно воспользоваться командой fdisk:

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

В этом примере я хочу проверить раздел /dev/sda2 с файловой системой XFS. Как я уже говорил, для этого используется команда badblocks. Синтаксис у неё довольно простой:

$ sudo badblocks опции /dev/имя_раздела_диска

Давайте рассмотрим опции программы, которые вам могут понадобится:

  • -e — позволяет указать количество битых блоков, после достижения которого дальше продолжать тест не надо;
  • -f — по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;
  • -i — позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;
  • -n — использовать безопасный тест чтения и записи, во время этого теста данные не стираются;
  • -o — записать обнаруженные битые блоки в указанный файл;
  • -p — количество проверок, по умолчанию только одна;
  • -s — показывать прогресс сканирования раздела;
  • -v — максимально подробный режим;
  • -w — позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.

Таким образом, для обычной проверки используйте такую команду:

Это безопасно и её можно выполнять на файловой системе с данными, она ничего не повредит. В принципе, её даже можно выполнять на смонтированной файловой системе, хотя этого делать не рекомендуется. Если файловая система размонтирована, можно выполнить тест с записью с помощью опции -n:

После завершения проверки, если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные. Для этого используйте утилиту fsck и опцию -l:

Если на разделе используется файловая система семейства Ext, например Ext4, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck. Например:

Параметр -с позволяет искать битые блоки и добавлять их в список, -f — проверяет файловую систему, -p — восстанавливает повреждённые данные, а -v выводит всё максимально подробно.

Создание нового раздела в parted

Для создания раздела в parted, используется утилита . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:

  • Partition type — указываем тип раздела (primary / extended)
  • File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
  • Start — начальный сектор раздела
  • End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.

Чтобы вывести оставшееся количество места на диске, используйте команду:

Можно сразу создать раздел на весь диск:

или указать произвольный размер раздела так:

Также можно указывать размер диска в % и задать метку:

Чтобы выйти из оболочки parted, выполните команду:

Отформатируем раздел в файловой системе ext4:

mke2fs 1.44.6 (5-Mar-2019)
Creating filesystem with 1220352 4k blocks and 305216 inodes
Filesystem UUID: 5c9daa97-c0f4-44bc-9cfa-f466ebd8895e
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Проверяем файловую систему раздела и видим, что она изменилась (обратите внимание что команда print выводит теперь список разделов на диске, их номера, тип, размер и файловую систему)

Можно создать раздел и отформатировать его, не входя в оболочку parted, например:

Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.

Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.

Примеры использования команды fdisk

1. Список дисков и разделов

Чтобы посмотреть список доступных вам дисков и разделов на них используйте опцию -l:

Утилита покажет все блочные устройства. На снимке есть /dev/sda, это обычный жесткий диск и /dev/nvme0n1 — это M.2 накопитель, а также там есть есть несколько /dev/loop* устройств, созданных ядром, которые лучше не трогать.

2. Интерактивный режим

Большинство операций fdisk по разметке дисков выполняются в интерактивном режиме. Чтобы запустить fdisk в интерактивном режиме передайте утилите блочное устройство которое надо разметить. В моём примере, это /dev/nvme0n1:

Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду m:

3. Просмотр таблицы разделов

Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p:

В данном примере на диске уже есть несколько разделов, а таблица разделов используется MBR (dos).

4. Создание таблицы разделов

Давайте создадим новую таблицу разделов GPT. Для этого используйте команду g. Для таблицы разделов MBR нам бы понадобилась команда o.

5. Создание разделов

Чтобы создать раздел используйте команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо указать размер раздела. Это можно сделать тремя способами:

  • указать количество секторов раздела;
  • указать последний сектор раздела;
  • указать размер раздела в килобайтах, мегабайтах или гигабайтах, обозначения стандартные K,M,G.

Давайте создадим три раздела разными способами:

Первый раздел создадим с помощью обычных единиц измерения. Перед ними надо ставить плюс, так как это место, которое добавляется к первому сектору раздела.

Во втором способе укажем размер раздела в секторах. Для получения раздела размером 1 гигабайт нам понадобится примерно 2 000 000 секторов. По умолчанию размер сектора 512 байт, поэтому 2 000 000 * 512 получится примерно 1024 000 000 байт:

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

На этом создание разделов fdisk завершено. А вот форматирование разделов в fdisk невозможно, для этого придется воспользоваться утилитой mkfs.

6. Тип раздела

Кроме обычных разделов для пользовательских файлов существуют и другие типы разделов, например раздел EFI, BIOS boot, Windows Recovery, Linux swap, этот тип влияет на назначение раздела, например, раздел EFI не будет использоваться пока для него не будет выбран правильный тип. Чтобы изменить тип раздела используйте команду t:

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

Для выхода из списка разделов нажмите q, а затем просто наберите номер нужного типа:

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

Вот так просто выполняется удаление.

8. Загрузочный раздел

При загрузке компьютера с диска, на котором используется таблица разделов MBR, BIOS ищет раздел, отмеченный как загрузочный и начинает искать загрузчик именно на нём. Чтобы сделать раздел загрузочным если он ещё не загрузочный или наоборот сделать его не загрузочным используйте команду a:

Загрузочность отмечается звездочкой в выводе команды p. В таблице разделов GPT для записи загрузчика используется раздел с типом BIOS boot, а флага загрузочности здесь уже нет.

9. Применение изменений

Все изменения, которые вы сейчас вносили, ещё не записаны на диск. Для их записи надо выполнить команду w:

После записи изменений программа завершится.

Резервное копирование и восстановление таблицы разделов

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

Через dd

Таблица разделов MBR хранится в первых 512 байтах диска. Она состоит из 4 частей:

  1. Первые 440 байт содержат код начальной загрузки (загрузчика).
  2. Следующие 6 байтов содержат сигнатуру диска
  3. Следующие 64 байта содержат таблицу разделов (4 записи по 16 байт каждая, по одной записи для каждого первичного раздела).
  4. Последние 2 байта содержат загрузочную сигнатуру.

Чтобы сохранить как файл :

# dd if=/dev/sdX of=/путь/для/файла_mbr.img bs=512 count=1

Вы также можете извлечь MBR с полного образа диска dd:

# dd if=/путь/до/диска.img of=/путь/для/файла_mbr.img bs=512 count=1

Чтобы восстановить (будьте осторожны, это уничтожит существующую таблицу разделов и с ней доступ ко всем данным на диске):

# dd if=/путь/до/файла_mbr.img of=/dev/sdX bs=512 count=1

Если вы хотите только восстановить загрузчик, но не записи первичной таблицы разделов, просто восстановите первые 440 байт MBR:

# dd if=путь/до/файла_mbr.img of=/dev/sdX bs=440 count=1

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

# dd if=путь/до/файла_mbr.img of=/dev/sdX bs=1 skip=446 count=64

Чтобы стереть код начальной загрузки MBR (может быть полезно, если вам нужно выполнить полную переустановку другой операционной системы), необходимо обнулить только первые 440 байт:

# dd if=/dev/zero of=/dev/sdX bs=440 count=1

Через sfdisk

Вы можете использовать sfdisk для таблиц разделов GPT и MBR, чтобы сохранить разметку разделов вашего устройства в файл с параметром /. Выполните следующую команду для устройства :

# sfdisk -d /dev/sda > sda.dump

Файл должен выглядеть примерно так для одного раздела ext4 размером 1 гигабайт:

sda.dump
label: gpt
label-id: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 1048576

/dev/sda1 : start=2048, size=1048576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=BBF1CD36-9262-463E-A4FB-81E32C12BDE7

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

# sfdisk /dev/sda < sda.dump

Как удалить раздел с помощью команды fdisk

Если раздел больше не используется в системе, мы можем удалить его, используя следующие шаги.

Убедитесь, что вы будете вводить правильный номер раздела, чтобы удалить его. В данном случае я собираюсь удалить раздел /dev/sdc2.

$ sudo fdisk /dev/sdc

Welcome to fdisk (util-linux 2.30.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d
Partition number (1-5, default 5): 2

Partition 2 has been deleted.

Command (m for help): p
Disk /dev/sdc: 10 GiB, 10737418240 bytes, 20971520 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
Disklabel type: dos
Disk identifier: 0x8cc8f9e5

Device     Boot   Start      End  Sectors Size Id Type
/dev/sdc1          2048  2099199  2097152   1G 83 Linux
/dev/sdc3       4196352  6293503  2097152   1G 83 Linux
/dev/sdc4       6293504 20971519 14678016   7G  5 Extended
/dev/sdc5       6295552  8392703  2097152   1G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Как проверить таблицу разделов

Многие пользователи узнают о том, какая таблица применяется, только когда сталкиваются с ошибками. Например, при установке Windows получают сообщение, что запись невозможна, так как на носителе MBR или наоборот GPT. Но узнать структуру можно и другими способами.

a. На Windows

Если есть доступ к системе, то можно использовать стандартные инструменты — командную строку и утилиту для управления дисками.

Через командную строку:

  1. Нажмите Win + R.
  2. Введите .
  3. Введите .
  4. Изучите в выдаче столбец GPT.

Если у накопителя в столбце GPT есть звездочка, значит, на нем используется структура разделов GPT. Если такой звездочки нет, значит, на диске MBR. Например, у меня на компьютере два диска. Один — GPT, другой — MBR:

Утилиту можно также использовать без загрузки Windows. Но командная строка все равно понадобится. Она без проблем запускается с установочного носителя. Сочетание клавиш Shift + F10 открывает командную строку. Дальше порядок тот же, что и в среде Windows: — поиск отметки GPT.

Другой способ — проверка структуры разделов через утилиту управления дисками:

  1. Нажмите Win + R.
  2. Выполните команду .
  3. Кликните правой кнопкой по интересующему диску. Не по разделам, а по самому физическому устройству. Они отображаются в крайнем левом столбце.
  4. Выберите «Свойства».
  5. Откройте вкладку «Тома».
  6. Посмотрите, что указано в строке «Стиль раздела».

MBR будет подписан как «Основная загрузочная запись» или Master Boot Record. GPT определяется в этом списке как «Таблица с GUID разделов».

Для определения структуры разметки можно также использовать утилиты для управления дисками, которые, в том числе, позволяют выполнить преобразование из MBR в GPT и обратно. Например, в AOMEI Partition Assistant под каждым устройством явно указано, какая структура используется — GPT или MBR. В MiniTool Partition Wizard под именем диска тоже указана используемая структура.

b. На Linux

Посмотрим на примере Ubuntu, как узнать структуру разделов диска. Как и на Windows, есть два способа: через терминал и встроенную утилиту для управления накопителями.

Через терминал:

  1. Запустите терминал.
  2. Выполните команду с правами root: .
  3. Введите пароль для root-доступа (если он установлен).

В терминале появится подробное описание каждого диска. Среди прочего будет указана структура — . Значение может быть GPT или MBR (отобразится как ).

Через утилиту для управления подключенными накопителями (GNOME Disks):

  1. Запустите утилиту .
  2. Выберите диск.
  3. Посмотрите в описании сверху, что написано в строке (GPT) или (MBR).

Если утилиты Disks нет, можно установить Gparted. Он доступен для добавления из репозиториев на большинстве дистрибутивов Linux или через менеджер приложений. Чтобы посмотреть подробные сведения о диске в Gparted, выделите накопитель, а затем раскройте меню View и отметьте пункт Device Information. Сведения о накопителе отображаются в левом столбце. Ищите значение — GPT или (MBR).

c. На macOS

Макбуки используют GPT по умолчанию. Теоретически macOS должна работать на MBR, но установить систему не удастся.
Убедиться в том, что у вас на диске GPT, можно через «Дисковую утилиту».

  1. Откройте лаунчер.
  2. Перейдите в папку Other.
  3. Запустите приложение «Дисковая утилита».
  4. Выделите диск, который хотите проверить.
  5. Нажмите «Разбить на разделы».
  6. Посмотрите значение в строке «Схема».

В качестве схемы диска должно быть указано, что используется GUID. Это значит, что у вас GPT, как и ожидалось на маке.

5.3. Создание разделов на новых дисках

В примере ниже будет рассматриваться ситуация покупки нового жесткого диска для нашей системы. После корректного подключения нового аппаратного обеспечения вы можете использовать утилиты и для создания необходимых разделов. В данном примере используется утилита , но утилита в подобной ситуации также является вполне подходящим инструментом.

5.3.1. Обнаружение жесткого диска

В первую очередь мы должны удостовериться в том, что ядро Linux имеет доступ к новому жесткому диску с помощью команды . Да, новый жесткий диск представлен файлом устройства /dev/sdb, но на нем пока не создано каких-либо разделов.

root@RHELv4u2:~# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start      End      Blocks   Id  System
/dev/sda1   *       1        13      104391   83  Linux
/dev/sda2          14      1566   12474472+   8e  Linux LVM

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

5.3.2. Открытие дискового устройства с помощью утилиты fdisk

После этого мы можем приступить к созданию раздела на жестком диске, представленном файлом устройства /dev/sdb, с помощью утилиты fdisk. Для начала мы должны передать путь к файлу устройства /devsdb в качестве параметра утилиты fdisk

Следует проявить крайнюю осторожность и убедиться еще раз в том, что вы создаете раздел именно на новом диске!!

root@RHELv4u2:~# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI...
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected...

5.3.3. Пустая таблица разделов

Работая с инструментом fdisk, вы можете выполнить команду для того, чтобы ознакомиться с текущей таблицей разделов диска.

Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

5.3.4. Создание нового раздела

На данный момент на диске не существует разделов, поэтому мы должны выполнить команду для создания нового раздела. Мы будем вводить символ p для создания первичного раздела и число 1 в качестве номера раздела, а также число 1 в качестве номера начального цилиндра и число 14 в качестве номера конечного цилиндра.

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130): 14

Теперь мы снова можем выполнить команду p для проверки внесенных нами изменений, причем эти изменения еще не записаны на диск, поэтому мы все еще можем отменить эту операцию! Так как внесенные изменения кажутся нам корректными, мы можем выполнить команду для записи изменений на диск с последующим завершением работы утилиты fdisk.

Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              1           14      112423+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
root@RHELv4u2:~#

5.3.5. Вывод информации о новом разделе

Давайте снова проверим с помощью команды , совпадает ли реальность с нашими ожиданиями. Разумеется, в примере ниже приводится информация о разделе на диске, представленном файлом устройства /dev/sdb.

root@RHELv4u2:~# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start        End      Blocks   Id  System
/dev/sda1   *        1         13      104391   83  Linux
/dev/sda2           14       1566   12474472+   8e  Linux LVM

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start        End      Blocks   Id  System
/dev/sdb1               1         14      112423+  83  Linux
root@RHELv4u2:~#

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

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

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

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

Проверка диска на битые секторы в linux с поддержкою smartmontools

Теперь давайте рассмотрим более современный и надежный способ проверить диск на колоченные секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самодисциплины S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая изготовляет мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранешних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools. Давайте перейдем к работе с утилитой. Включим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:

Как видим, проверка диска («круглое блюдо») — круг (низкий цилиндр) или предмет в виде круга) на битые секторы linux завершена и утилита говорит нам, что с накопителем все в распорядке! Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, дабы просмотреть информацию в том числе и об остальных параметрах накопителя.

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

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

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

sudo mkdir /mnt/disk_d

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

sudo gedit /etc/fstab

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

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

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

  • /dev/sda — на диск, который вы желаете смонтировать
  • /mnt/disk_d — на вашу точку монтирования, которую вы выбрали для своего диска.
  • ext4 — на файловую систему вашего диска

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

lsblk -f

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

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

sudo chown -R $USER /mnt/disk_d

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

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

Для проверки записей в файле /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
    unreachable: UUID=26FC3023FC2FEC2D

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

  • /mnt/disk_e — точка монтирования
  • target exists — целевая папка (точка монтирования), существуют, то есть директория /mnt/disk_e имеется в системе
  • VFS options: rw — найдена такая опция монтирования как rw, то есть диск монтируется для чтения и для записи. VFS — это опции ядра, системных вызовов. Эти опции одинаковы для всех файловых систем.
  • FS options: utf8 — найдена опция, специфичная для данной файловой системы. Этой опцией является utf8, то есть для преобразования имён файлов будет использоваться кодировка UTF-8.
  • userspace options: noauto,nofail — здесь перечислены опции пользовательского пространства. Опция noauto означает не монтировать автоматически, а опция nofail означает не сообщает об ошибках для этого устройства, если оно не существует — эта опция важна для съёмных носителей и сетевых дисков, которые могут отсутствовать во время загрузки компьютера.

Управление таблицей разделов в parted, разметка диска

Выведем список доступных дисков:

или из shell:

Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.

Можно создать на диске разметку msdos (MBR)

Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :

Обратите внимаени, что в parted в отличии от fdisk нет команды для записи изменений. Все изменения применяются немедленно.

Теперь parted показывает тип таблицы разделов (разметки) на диске:

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags

Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:

Как смонтировать раздел в Linux

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

Для этого нам нужно создать точку монтирования для монтирования раздела. Используйте команду mkdir для создания точки монтирования.

$ sudo mkdir -p /mnt/2g-new

Для временного монтирования используйте приведенную ниже команду. Эта точка монтирования не сохранится после перезагрузки вашей системы.

$ sudo mount /dev/sdc1 /mnt/2g-new

Для постоянного монтирования добавьте информацию о разделе в файл fstab. Это можно сделать двумя способами: добавить имя устройства или значение UUID.

Постоянное монтирование с использованием имени устройства:

# vi /etc/fstab

/dev/sdc1 /mnt/2g-new ext4 defaults 0 0

Постоянное монтирование с использованием значения UUID. Чтобы получить UUID раздела, используйте команду blkid.

$ sudo blkid
/dev/sdc1: UUID="d17e3c31-e2c9-4f11-809c-94a549bc43b7" TYPE="ext2" PARTUUID="8cc8f9e5-01"
/dev/sda1: UUID="d92fa769-e00f-4fd7-b6ed-ecf7224af7fa" TYPE="ext4" PARTUUID="eab59449-01"
/dev/sdc3: UUID="ca307aa4-0866-49b1-8184-004025789e63" TYPE="ext4" PARTUUID="8cc8f9e5-03"
/dev/sdc5: PARTUUID="8cc8f9e5-05"

# vi /etc/fstab

UUID=d17e3c31-e2c9-4f11-809c-94a549bc43b7 /mnt/2g-new ext4 defaults 0 0

То же самое было проверено с помощью команды df.

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            969M     0  969M   0% /dev
tmpfs           200M  7.0M  193M   4% /run
/dev/sda1        20G   16G  3.0G  85% /
tmpfs           997M     0  997M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           997M     0  997M   0% /sys/fs/cgroup
tmpfs           200M   28K  200M   1% /run/user/121
tmpfs           200M   25M  176M  13% /run/user/1000
/dev/sdc1      1008M  1.3M  956M   1% /mnt/2g-new

Другие статьи о разделах диска и утилите fdisk в Linux:

  • Разделы диска и средства для работы с ними в Линукс
  • Администрирование систем Linux. Разделы жестких дисков
  • Создание раздела диска размером более 2 Тб в Линуксе
  • Создание и настройка файловой системы Btrfs в Linux
  • Создание разделов с помощью программы fdisk
  • Загадка расширенного раздела

Об отношении Linux к разделам жёсткого диска

Linux очень забавно работает с различными устройствами и источниками данных. Для каждого такого объекта создаётся специальный файл, через который происходит «общение» этого объекта с системой. В частности, подобные файлы есть для жёстких дисков и разделов на них. И обычно при описании работы с винчестерами и разделами в качестве названий используются как раз имена этих файлов.

Физические жёсткие диски (т. е. рассматриваемые как аппаратные устройства, как «куски железа») называются , , и т. д. ( — первый жёсткий диск, — второй, и далее по аналогии). Кстати, подключаемые флешки и другие USB-устройства также идентифицируются как винчестеры и тоже получают имена вида .

А вот разделы на винчестерах называются так: , , и т. д. То есть название раздела состоит из названия физического жёсткого диска и цифры — номера раздела на нём. Но тут есть некая хитрая особенность. Первые четыре цифры зарезервированы для основных разделов, а нумерация логических начинается всегда с пяти. Например, рассмотрим такое разбиение диска:

  • sda1 — основной
  • sda2 — расширенный

    • sda5 — логический
    • sda6 — логический
    • sda7 — логический
  • sda3 — основной

Как видно, у нас имеется 2 основных и 3 логических раздела, то есть в операционной системе у нас будет доступно 5 разделов на этом диске. При этом четвёртого основного раздела нет, соответственно, нет и специального файла в системе.

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

На этом теория временно заканчивается, пора приступить непосредственно к разметке вашего жёсткого диска.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: