Partitioning (Русский)
Ссылки по теме
- Файловые системы
- fdisk (Русский)
- GPT fdisk (Русский)
- Parted (Русский)
- fstab (Русский)
- LVM (Русский)
- Раздел подкачки
- Процесс загрузки Arch
- UEFI (Русский) При разметке память жесткого диска разбивается на разделы, с которыми можно работать независимо. Их может быть несколько или только один. Количество зависит от вас, например, если вы хотите установить на диск несколько ОС, логически разделить данные или нужен раздел подкачки, то необходимо иметь несколько разделов. Информация о размещении разделов на жёстком диске хранится в таблице разделов, такой как MBR или GPT. Создать или изменить таблицу разделов можно с помощью одного из многих инструментов разметки. Инструменты, доступные в Arch Linux, перечислены в разделе #Инструменты разметки. Разделы обычно содержат в себе файловую систему, что достигается путём создания файловой системы на разделе (то есть форматированием). Помимо файловой системы, разделы могут содержать LVM, зашифрованные данные или RAID, которые в конечном итоге предоставляют файлы устройств, на которых может быть размещена файловая система (или устройства могут быть и дальше вложены друг в друга). Любое блочное устройство (например, диск, раздел, устройство LUKS, логический том LVM или RAID-массив), которое непосредственно содержит монтируемую файловую систему, называется том.
- Первичный
- Расширенный
- Логический
- Для двойной загрузки с Windows (как 32-разрядной, так и 64-разрядной) с использованием Legacy BIOS требуется таблица MBR.
- Для двойной загрузки с 64-разрядной Windows, которая запускается в режиме UEFI вместо BIOS, требуется таблица GPT.
- Если вы устанавливаете на устаревшее оборудование, особенно на старые ноутбуки, подумайте о выборе MBR, потому что их BIOS может не поддерживать GPT (но смотрите ниже для получения информации об исправлении данной проблемы).
- Если вы разбиваете диск больше 2 ТиБ, вам нужно использовать GPT.
- Для загрузки в режиме UEFI лучше всегда использовать GPT, так как некоторые реализации UEFI не поддерживают загрузку с MBR.
- Если ни один из вышеперечисленных пунктов вас не касается, вы можете выбирать свободно между GPT и MBR. Лучше выбрать GPT, поскольку он более современный.
- Предоставляет уникальный GUID диска и уникальный GUID для каждого раздела (PARTUUID) — хороший и независимый от файловой системы способ обращения к разделам и дискам. GUID нужны для Discoverable Partitions Specification, который может использоваться в initramfs с включенным systemd.
- Предоставляет имя раздела (PARTLABEL), не зависящее от файловой системы.
- Произвольное количество разделов — зависит от места, выделенного для таблицы разделов. Нет необходимости в расширенных и логических разделах. По умолчанию таблица GPT содержит пространство для определения 128 разделов. Однако, если вы хотите определить больше, вы можете выделить больше пространства для таблицы разделов (в настоящее время только gdisk поддерживают эту функцию).
- Использует 64-разрядный LBA для хранения номеров секторов — максимальный размер адресации диска 2 ЗиБ. MBR ограничивается адресацией только 2 ТиБ на диск.
- Хранит резервный заголовок и таблицу разделов в конце диска, что помогает восстановить их, если основной заголовок повреждён.
- Контрольные суммы CRC32 для обнаружения ошибок и повреждения таблицы заголовков и разделов.
- Загрузка UEFI не использует никаких флагов «загрузки», загрузка зависит только от загрузочных записей в NVRAM. Parted и его графические оболочки используют флаг «boot» в GPT, чтобы указать, что раздел является системным разделом EFI.
- Необязательно располагать все необходимые/желаемые разделы на одном диске или использовать один и тот же тип таблицы разделов для всех дисков.
- ESP можно примонтировать в , если используемый загрузчик способен получить доступ к файловой системе (и всему, что над ней), на которой расположены образы ядра и initramfs. Подробности смотрите в статьях Системный раздел EFI#Типичные точки монтирования и Процесс загрузки Arch#Загрузчик.
- Неразмеченное пространство размером хотя бы 33 512-байтовых сектора (16,5 КиБ) в конце диска пригодится на случай, если вам понадобится преобразовать MBR в GPT. Рекомендация по сохранению неразмеченного пространства относится ко всем дискам с MBR-разметкой.
- Раздел загрузки BIOS требуется только при использовании GRUB для загрузки BIOS с диска GPT. Раздел не имеет ничего общего с , и его нельзя форматировать в файловую систему или монтировать.
- GPT fdisk ()
- – Утилита для управления таблицей разделов GUID (GPT) с интерактивным интерфейсом.
- cgdisk(8) – Вариант gdisk на основе библиотеке curses.
- – Скриптовый вариант gdisk.
- fdisk может создавать резервную копию таблицы разделов. Смотрите fdisk (Русский)#Резервное копирование и восстановление таблицы разделов.
- GPT fdisk может создать бинарную резервную копию, состоящую из защитного MBR, основного заголовка GPT, резервного заголовка GPT и одной копии таблицы разделов. Смотрите GPT fdisk (Русский)#Резервное копирование и восстановление таблицы разделов.
- GPT fdisk — Инструмент разметки, который может восстановить основной заголовок GPT (расположенный в начале диска) из резервного заголовка GPT (расположенного в конце диска) или наоборот.
- Раздел диска
- Двоичные приставки
- Понимание терминологии дисковой подсистемы (англ.)
- Что такое MBR (англ.)
- Статьи Рода Смита "Что такое GPT?" (англ.) и загрузка ОС из GPT (англ.)
- Используйте большие диски на максимум с GPT и Linux — IBM Developer Works (англ.)
- FAQ Windows и GPT (англ.)
- Выравнивание разделов (англ.) (с примерами)
Таблица разделов
Имеется два основных формата таблицы разделов. Они описаны далее в секциях #Главная загрузочная запись (MBR) и #Таблица разделов GUID (GPT). Ниже описаны их особенности и как выбирать между ними. Третьей, менее распространенной альтернативой, является использование неразмеченного диска, которая также обсуждается ниже.
Используйте какой-нибудь инструмент разметки, чтобы посмотреть таблицу разделов блочного устройства.
Главная загрузочная запись (MBR)
Главная загрузочная запись (MBR) — это первые 512 байт запоминающего устройства. В них находится загрузчик операционной системы и таблица разделов устройства хранения. Главная загрузочная запись играет важную роль в процессе загрузки Arch в системах с BIOS. Для получения информации о структуре смотрите Wikipedia:ru:Главная загрузочная запись#Структура MBR.
Главная загрузочная запись (MBR) (загрузочный код)
Первые 440 байт MBR — это область загрузочного кода. В системах с BIOS она обычно содержит первый этап загрузчика. Загрузочный код может быть восстановлен из резервной копии или удалён с помощью dd.
Главная загрузочная запись (MBR) (таблица разделов)
В таблице разделов MBR (она же таблица разделов DOS или MS-DOS) есть 3 типа разделов:
Первичные разделы могут быть загрузочными, но их может быть всего четыре на диске или в томе RAID. Если нужно более четырех, то один из них нужно заменить на расширенный, который содержит в себе множество логических разделов.
Расширенные разделы можно рассматривать как контейнеры для логических разделов. Жесткий диск может иметь только один такой раздел. Расширенный раздел считается первичным, поэтому, если на диске имеется расширенный раздел, еще возможны только три первичных (т.е. три первичных раздела и один расширенный). Количество логических разделов, находящихся в расширенном разделе, неограниченно. Для системы с несколькими ОС, одна из которых Windows, необходимо, чтобы Windows находилась в первичном разделе.
Обычная схема нумерации заключается в именовании первичных разделов от sda1 до sda3, за которыми следует расширенный раздел sda4. Логические разделы, находящихся в расширенном разделе sda4, нумеруются как sda5, sda6 и так далее.
Таблица разделов GUID
Таблица разделов GUID (GPT) — таблица разделов, которая является частью спецификации Unified Extensible Firmware Interface; в ней используются глобально-уникальные идентификаторы, GUID (или UUID в мире Linux), для определения разделов и их типов. Она призвана заменить MBR и разработана с учётом недостатков последней.
В начале таблицы разделов GUID на диске есть наследственная главная загрузочная запись (защитная MBR, PMBR) для защиты от ПО, не поддерживающего GPT. Наследственная MBR, как и обычная MBR, имеет область загрузочного кода, которую можно использовать для загрузки на системах BIOS/GPT с загрузчиками, которые её поддерживают.
Выбор между GPT и MBR
Таблица разделов GUID (GPT) — альтернативный, современный способ разметки; он предназначен для замены старого MBR. У GPT есть несколько преимуществ по сравнению с MBR, которая имеет проблемы, произрастающие из времён MS-DOS. Благодаря недавним изменениям в инструментах форматирования одинаково легко получить хорошую надёжность и производительность для GPT и MBR.
Некоторые моменты, которые следует учитывать при выборе:
Некоторые преимущества таблицы GPT над MBR:
В разделе #Инструменты разметки содержится таблица, показывающая, какие инструменты доступны для создания и изменения таблиц GPT и MBR.
Неразмеченный диск
Неразмеченный (безраздельный, partitionless) диск, также известный как superfloppy, — устройство хранения, не имеющее таблицы разделов. Вместо неё он содержит одну файловую систему, занимающую все запоминающее устройство. Загрузочный сектор, находящийся на безраздельном устройстве, называется volume boot record (VBR).
Разметка Btrfs
Btrfs может занимать все устройство хранения данных и заменять таблицы разметки MBR или GPT. Для получения дополнительной информации смотрите статью Btrfs#Partitionless Btrfs disk.
Схема разметки
Не существует строгих правил разметки жёсткого диска, хотя можно следовать общим рекомендациям, приведённым ниже. Схема разметки диска определяется различными вопросами, такими как требуемая гибкость, скорость, безопасность, а также ограничения, налагаемые доступным дисковым пространством. Это, по сути, личное предпочтение. Если вы хотите сделать двойную загрузку Arch Linux и Windows, смотрите Двойная загрузка: Windows и Arch.
Один корневой раздел
Эта схема — самая простая и её достаточно для большинства случаев использования. Файл подкачки может быть создан и легко изменён по мере необходимости. Обычно имеет смысл начать с использования одного раздела , а затем создавать другие для частных случаев, таких как RAID, шифрование, общий раздел мультимедиа и т.д.
Отдельные разделы
Перемещение пути на отдельный раздел позволяет выбрать для него другую файловую систему и параметры монтирования. В некоторых случаях, таких как раздел мультимедиа, они могут использоваться совместно с другими операционными системами.
Ниже приведены некоторые примеры схем, которые можно использовать при разделении, а в следующих подразделах подробно описаны некоторые из каталогов, которые могут быть размещены отдельно, а затем смонтированы в точках монтирования внутри . Для получения полного описания содержимого этих каталогов смотрите .
/
Корневой каталог — вершина иерархии, точка, в которой монтируется основная файловая система, к которой присоединяются все другие файловые системы. Все файлы и каталоги отображаются в корневом каталоге , даже если они хранятся на разных физических устройствах. Корневая файловая система должна содержать в себе файлы, необходимые для загрузки, отката, исправления и/или восстановления системы, без подключения дополнительных разделов. Поэтому некоторые каталоги из нельзя располагать на отдельных разделах.
Раздел или корневой раздел необходим, и он наиболее важен. Остальные разделы могут быть заменены им.
традиционно содержит каталог , который может значительно увеличиться в зависимости от того, сколько ПО установлено. Для большинства пользователей с современными жесткими дисками должно быть достаточно 15-20 ГиБ. Если вы планируете создать здесь файл подкачки, вам может потребоваться больший размер раздела./boot
Каталог содержит образы ядра и ramdisk, а также файлы конфигурации загрузчика и этапы загрузчика. В нем хранятся данные, которые используются до того, как ядро начнет выполнение программ пользовательского пространства. не требуется для нормальной работы системы, а необходим только во время загрузки и обновления ядра (при восстановлении исходного ramdisk).
Рекомендуемый размер для составляет 200 МиБ, если в качестве не используется системный раздел EFI, иначе лучше выделить не менее 300 МиБ.
/boot
, если несовместимые функции не отключены./home
Каталог содержит пользовательские файлы конфигурации, кеш, данные приложений и медиафайлы.
Поместив в отдельный раздел, вы можете менять разметку независимо, но обратите внимание, что вы можете переустановить Arch, не затрагивая , даже если он не помещён в отдельный раздел: можно просто удалить все остальные каталоги верхнего уровня, а затем запустить pacstrap для установки.
Не следует использовать один и тот же домашний каталог в разных дистрибутивах, потому что они используют несовместимые версии программного обеспечения и исправления. Вместо этого рассмотрите возможность создания раздела мультимедиа или, по крайней мере, использования разных домашних каталогов в том же разделе . Размер этого раздела может быть любым в зависимости от того, как много данных вы планируете в нём хранить.
/var
В каталоге xранятся переменные данные, такие как spool каталоги и файлы, данные администрирования и ведения журнала, кеш pacman и т.д. Он используется, например, для кэширования и ведения журнала и, следовательно, часто читается или записывается. Сохранение его в отдельном разделе позволяет избежать нехватки дискового пространства из-за "flunky-логов" и т.д.
Он существует, чтобы была возможность смонтировать доступным только для чтения. Всё, что исторически входило в , который записывается во время работы системы (в отличие от установки и обслуживания программного обеспечения), должно находиться в .
/var
содержит много маленьких файлов. Выбор типа файловой системы должен учитывать этот факт, если используется отдельный раздел./data
Можно создать раздел "данных" для различных файлов, которые будут общими для всех пользователей. Использование раздела для этой цели также прекрасное решение. Размер этого раздела может быть любым.
Swap
Подкачка — это файл или раздел, предоставляющий память, которую можно использовать в качестве виртуальной памяти. Производительность файлов и разделов подкачки одинакова, но размер файла подкачки удобнее менять при необходимости. Один раздел подкачки можно потенциально использовать между несколькими ОС, если не используется спящий режим.
Исторически сложившееся правило гласит, что размер раздела подкачки должен быть в два раза больше ОЗУ. Но это правило устарело, поскольку у современных компьютеров оперативная память стала намного больше. Например, на средних настольных компьютерах с оперативной памятью до 512 МиБ достаточно правила вдвое большего раздела, но если объём оперативной памяти более 1024 МиБ, раздел подкачки можно уменьшить.
Для использования гибернации (оно же спящий режим) рекомендуется создать раздел подкачки равный размеру ОЗУ. Хотя ядро и будет пытаться сжать образ сохранённого состояния, чтобы он соответствовал размеру раздела подкачки, нет никакой гарантии, что это удастся, если размер раздела подкачки значительно меньше размера оперативной памяти. Для получения дополнительной информации смотрите Управление питанием/Ждущий и спящий режимы#Гибернация.
Примеры схем
Примеры ниже используют диск и первый раздел в качестве примера. Схема наименований блочных устройств будет отличаться при использовании NVMe-диска (например, с разделами, которые начинаются с ), SD-карты или eMMC-диска (например, с разделами, которые начинаются с ). Смотрите Файл устройства#Блочные устройства для получения более подробной информации.
Примеры схем UEFI/GPT
Точка монтирования в установленной системе | Раздел | Тип раздела (GUID) | Атрибуты раздела | Рекомендуемый размер |
---|---|---|---|---|
или 1 | :Системный раздел EFI | Хотя бы 300 МиБ | ||
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux swap |
Более 512 MиБ | |||
: Linux x86-64 root (/) | Остаток |
Примеры схем BIOS/MBR
Точка монтирования в установленной системе | Раздел | Тип раздела | Флаг загрузки | Рекомендуемый размер |
---|---|---|---|---|
: Linux swap | Более 512 МиБ | |||
: Linux | Да | Остаток | ||
Неразмеченное место2 | Хотя бы 16,5 КиБ в конце диска |
Примеры схем BIOS/GPT
Точка монтирования в установленной системе | Раздел | Тип раздела (GUID) | Атрибуты раздела | Рекомендуемый размер |
---|---|---|---|---|
: раздел загрузки BIOS3 | 1 МиБ | |||
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux swap |
Более 512 МиБ | |||
: Linux x86-64 root (/) | Остаток |
Инструменты
Инструменты разметки
Следующие программы используются для создания и/или управления таблицами разделов и разделами устройств. Смотрите ссылки по теме для получения инструкций как их использовать.
Эта таблица поможет вам выбрать утилиту для ваших нужд:
MBR | GPT | |
---|---|---|
Интерактивные (диалоговые) | fdisk parted |
fdisk gdisk parted |
Псевдо-графические | cfdisk | cfdisk cgdisk |
Неинтерактивные | sfdisk parted |
sfdisk sgdisk parted |
Графические | GParted gnome-disk-utility partitionmanager |
GParted gnome-disk-utility partitionmanager |
fdisk
fdisk и связанные с ней утилиты описаны в статье fdisk.
GPT fdisk
gdisk и связанные с ней утилиты описаны в статье gdisk.
GNU Parted
Эта группа инструментов описана в статье Parted.
Резервное копирование
Восстановление
Выравнивание разделов
fdisk, gdisk и parted автоматически обрабатывают выравнивание размера разделов. Смотрите Parted (Русский)#Проверка выравнивания, если вы хотите проверить выравнивание после разметки.
Для определенных дисков расширенный формат может обеспечить более эффективное выравнивание.
Поддержка GPT ядром
Параметр в конфигурации ядра включает поддержку GPT в ядре (несмотря на название "EFI PARTITION"). Он должен быть встроен в ядро, а не скомпилирован как загружаемый модуль. Этот параметр нужен даже в случае использования GPT-дисков только для хранения данных, а не для загрузки. Он включён по умолчанию во всех официально поддерживаемых ядрах Arch. В случае специализированного ядра включите этот параметр, выполнив CONFIG_EFI_PARTITION=y
.
Решение проблем
Обман старого BIOS для загрузки с GPT
Некоторые старые BIOS (до 2010 года) пытаются читать загрузочный сектор и отказываются загружать его, если он не содержит загрузочного MBR-раздела. Это проблема, если вы хотите использовать GPT на этом диске, поскольку, с точки зрения BIOS, он содержит только один незагружаемый раздел MBR типа (то есть защитный MBR). Можно пометить защитный MBR-раздел как загрузочный с помощью команды , и это будет работать в некоторых BIOS. Однако спецификация UEFI запрещает отмечать защитный раздел MBR как загрузочный, и UEFI-платы проверяют это даже в режиме legacy boot. Таким образом, это имеет значение, если вы хотите создать USB-накопитель на базе GPT, который должен загружаться как на современных платах на базе UEFI, так и на старых BIOS, которые пытаются найти загрузочный раздел MBR. Невозможно решить эту проблему с помощью традиционных инструментов, таких как fdisk или gdisk, но можно создать фальшивую запись раздела MBR, подходящую для обоих типов BIOS, вручную в виде последовательности байтов.
Приведённая ниже команда перезапишет второй слот раздела MBR и добавит туда загрузочный раздел типа 0 (т.е. неиспользуемый), занимающий только первый сектор устройства. Она не будет вмешиваться в GPT или в первый слот раздела MBR, который обычно содержит защитный MBR.
# printf '\200\0\0\0\0\0\0\0\0\0\0\0\001\0\0\0' | dd of=/dev/sda bs=1 seek=462Итоговый результат будет выглядеть примерно так:
Диски не видны, когда включен встроенный RAID
Если диск SATA или NVMe виден в настройках прошивки, но не виден в Linux (например, в его нет), возможно, контроллер находится в режиме RAID.
Для NVMe журнал должен показывать что-то вроде:
kernel: ahci 0000:00:17.0: Found 1 remapped NVMe devices. kernel: ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them.Решение заключается в том, чтобы войти в настройки прошивки и изменить режим работы контроллера SATA с RAID на AHCI. Имейте в виду, что настройка может иметь другое название, а также может быть индивидуальной для каждого контроллера или для каждого порта.