Разметка жесткого диска компьютера для установки Linux, часть четвёртая
debianeach
Опубликован: | 2018-10-26T12:25:50.293968Z |
Отредактирован: | 2018-10-26T12:25:50.293968Z |
Продолжаю тему разметки жесткого диска компьютера для установки операционной системы с ядром Linux, в этой демонстрации я размечу один единственный жесткий диск своей стендовой машины по классической схеме, но с использованием таблицы разделов gpt, и весь процесс разметки я буду осуществлять на базе LiveCD от Elementary OS последней доступной версии.
Пару слов о классической схеме разметки жесткого диска... В первой части этой темы была рассмотрена разметка жесткого диска по классической схеме на базе таблицы разделов msdos, то есть жесткий диск был разбит на три раздела:
- ext4 - раздел для корневой файловой системы размером 25GiB;
- linux-swap - раздел подкачки размером 2GiB;
- ext4 - раздел файловой системы домашних каталогов пользователей, занимающий всё оставшееся пространство диска.
Таблица разделов gpt, которая будет рассмотрена в этом обзоре, предполагает, что компьютер загружается при помощи UEFI, и в дополнение к трём упомянутым выше разделам мне потребуется создать на жестком диске ещё и служебный раздел для UEFI-загрузки. В конечном итоге классическая схема разметки с таблицей разделов gpt будет иметь следующий вид:
- fat32 - служебный раздел UEFI размером 384MiB;
- ext4 - раздел для корневой файловой системы размером 25GiB;
- linux-swap - раздел подкачки размером 2GiB;
- ext4 - раздел файловой системы домашних каталогов пользователей, занимающий всё оставшееся пространство диска.
Перед тем, как приступить к разметке, чтобы не запутаться в цифрах в процессе, составляю для себя небольшую таблицу, которая воспроизведёт намеченную схему разметки и определит начало и конец каждого раздела.
Раздел Начало Конец efi 1МиБ 385МиБ rootfs 385МиБ 25985МиБ swapfs 25985МиБ 28033МиБ homefs 28033МиБ -1МиБ
Вставляю флэш с записанным LiveCD в USB-разъём, включаю компьютер и загружаюсь с этого носителя. Elementary OS при старте LiveCD предлагает два варианта загрузки.
Выбираю "Запустить elementary", дожидаюсь загрузки операционной системы и запускаю терминал.
В терминале получаю права суперпользователя командой sudo -s
.
Все действия далее в этой демонстрации я буду выполнять в этом терминале.
Как обычно мне необходимо найти свой жесткий диск, в этом мне поможет lsblk.
На скриншоте выше видно, что жесткий диск моего компьютера определился как sda и не имеет ни одного раздела. Запускаю parted.
parted /dev/sda
Чтобы приступить к разметке диска, мне необходимо перевести parted в соответствующие моей задаче единицы измерения, для этого выполняю команду unit.
unit mib
Посмотреть состояние диска поможет команда print.
Из выхлопа print видно, что дисковое пространство доступное для разметки составляет 40960MiB, и диск содержит таблицу разделов msdos. Поскольку по условиям задачи мне необходима таблица gpt, создаю её.
mklabel gpt
Поскольку на диске уже существовала таблица разделов, parted выдал информационное предупреждение и запросил согласие на выполнение действия. Чтобы продолжить, мне достаточно было ввести Yes
. Теперь можно приступать к созданию разделов, для этого мне понадобится таблица с границами разделов, которую я составил выше, напоминаю, как она выглядит.
Раздел Начало Конец efi 1МиБ 385МиБ rootfs 385МиБ 25985МиБ swapfs 25985МиБ 28033МиБ homefs 28033МиБ -1МиБ
Создаю служебный раздел для UEFI-загрузки.
mkpart primary fat32 1 385
В таблице разделов gpt разделы могут быть поименованы. Присваиваю только что созданному разделу имя - efi.
name 1 efi
Созданный раздел является служебным и ему необходимо установить два служебных флага: boot и esp.
set 1 boot on set 1 esp on
Создаю раздел для корневой файловой системы и даю ему имя rootfs.
mkpart primary ext4 385 25985 name 2 rootfs
Повторяю действия для раздела подкачки, создаю раздел с именем swapfs.
mkpart primary linux-swap 25985 28033 name 3 swapfs
Последним создаю раздел для домашних каталогов с именем homefs.
mkpart primary ext4 28033 -1 name 4 homefs
Чтобы убедиться в правильности достигнутого результата, можно сделать print.
Покинуть parted можно командой q.
Теперь, когда разделы на диске созданы, очень полезно будет снова взглянуть на выхлоп lsblk.
Зная порядковые номера разделов, я могу создать на каждом разделе целевую файловую систему. Начинаю с первого раздела sda1.
mkfs.vfat -F 32 /dev/sda1
На втором разделе в соответствии с замыслом создаю файловую систему ext4.
mkfs.ext4 /dev/sda2
Программа нашла на разделе руины старой, когда-то существовавшей на диске файловой системы, и выдала предупреждение с запросом подтверждения действия. Мне пришлось ввести y
, чтобы продолжить действие.
Повторяю действие для четвёртого раздела и создаю на нём файловую систему ext4.
mkfs.ext4 /dev/sda4
Остался раздел sda3 для подкачки, создаю на нём соответствующую файловую систему.
mkswap /dev/sda3
Жесткий диск готов к установке операционной системы. Графическое представление полученной разметки GParted отображает следующим образом.
В общем-то цель этой демонстрации полностью достигнута, жесткий диск размечен в полном соответствии с начальным замыслом, на его разделах созданы необходимые файловые системы. Можно приступать к установке операционной системы, но это тема для отдельного разговора.
Метки: | linux, parted, lsblk, livecd, elementary, mkfs, gpt, efi, disk-partition |