Linux Labs

Хранилище / Ступень 4 из 11

Раздел, файловая система, монтирование

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · на машине · 9 мин

Таблица разделов

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

В выводе lsblk у системного диска vda четыре раздела: на vda4 лежит корень /, на vda3 — /boot. Раздел — кусок диска, который система показывает отдельным устройством: на нём создают файловую систему и монтируют её. У loop0 разделов нет. df показывает только смонтированные файловые системы, поэтому нового диска в его выводе не было.

Где начинается и кончается каждый раздел, записано в таблице разделов в начале диска. Форматов два:

Формат Где встречается
GPT новые диски; до 128 разделов, диски больше 2 ТиБ
MBR (msdos) старые системы; 4 основных раздела, диск до 2 ТиБ

Учебный диск — loop-устройство: файл-образ, который система показывает как диск. Размечают его так же, как настоящий /dev/vdb, только разделы называются loop0p1, loop0p2, а не vdb1, vdb2.

Разметку делает parted. Ключ --script выполняет команду без вопросов:

bash
sudo parted /dev/loop0 --script mklabel gpt  # пустая таблица GPT
sudo parted /dev/loop0 --script mkpart data ext4 1MiB 100%
sudo parted /dev/loop0 unit MiB print free   # таблица и свободное место

mkpart data ext4 1MiB 100% создаёт раздел с именем data от 1 MiB до конца диска. Начинают с 1 MiB: в начале диска лежит сама таблица, а с такого отступа раздел выровнен под блоки диска.

Внимание

mklabel на размеченном диске записывает новую пустую таблицу: прежние разделы из неё пропадают, а с ними и доступ к данным. Перед разметкой сверь имя диска с lsblk.

Упражнение · сделать

Разметь диск

Запиши на диск /dev/loop0 таблицу разделов GPT, создай на нём раздел data на весь диск и посмотри таблицу.

Войти и начать Машина доступна после входа

Цели · 0 из 2

  • Записать на диск таблицу разделов ещё не выполнена
  • Создать раздел на весь диск ещё не выполнена
Проверь себя 1 вопрос

В mkpart стояло слово ext4. Что теперь ответит sudo mount /dev/loop0p1 /srv/data?

  • Таблица лежит в начале диска, перед разделом, и раздел не занимает. Ошибка будет о другом — wrong fs type.

  • ext4 в mkpart — пометка в таблице разделов. Файловой системы на разделе нет: sudo blkid /dev/loop0p1 не печатает TYPE.

  • Устройство раздела появилось сразу после mkpart: lsblk /dev/loop0 показывает loop0p1.

mkpart только отмечает место раздела в таблице, а файловую систему на нём создаёт mkfs.

Цели шага

0 из 2
  • Записать на диск таблицу разделов — ещё не выполнена
  • Создать раздел на весь диск — ещё не выполнена
Ubuntu 24.04

Цели шага

0 из 2
  • Записать на диск таблицу разделов — ещё не выполнена
  • Создать раздел на весь диск — ещё не выполнена
Загрузка…