Перед файловой системой диск размечают: записывают в его начало, какие куски под что отданы. Здесь — как разметить пустой диск.
В выводе lsblk у системного диска vda четыре раздела: на vda4 лежит корень /, на vda3 — /boot. Раздел — кусок диска, который система показывает отдельным устройством: на нём создают файловую систему и монтируют её. У loop0 разделов нет. df показывает только смонтированные файловые системы, поэтому нового диска в его выводе не было.
Где начинается и кончается каждый раздел, записано в таблице разделов в начале диска. Форматов два:
| Формат | Где встречается |
|---|---|
| GPT | новые диски; до 128 разделов, диски больше 2 ТиБ |
MBR (msdos) |
старые системы; 4 основных раздела, диск до 2 ТиБ |
Учебный диск — loop-устройство: файл-образ, который система показывает как диск. Размечают его так же, как настоящий /dev/vdb, только разделы называются loop0p1, loop0p2, а не vdb1, vdb2.
Разметку делает parted. Ключ --script выполняет команду без вопросов:
mkpart data ext4 1MiB 100% создаёт раздел с именем data от 1 MiB до конца диска. Начинают с 1 MiB: в начале диска лежит сама таблица, а с такого отступа раздел выровнен под блоки диска.
mklabel на размеченном диске записывает новую пустую таблицу: прежние разделы из неё пропадают, а с ними и доступ к данным. Перед разметкой сверь имя диска с lsblk.
Разметь диск
Запиши на диск /dev/loop0 таблицу разделов GPT, создай на нём раздел data на весь диск и посмотри таблицу.
Цели · 0 из 2
- Записать на диск таблицу разделов ещё не выполнена
- Создать раздел на весь диск ещё не выполнена
В 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.