Большинству пользователям, даже пользователям Linux со стажем, не приходилось разбираться сталкиваться MBR и GPT, разбираться в их различиях. Но при установке BlackArch (Arch) желательно понимать эту теорию. Можно установить BlackArch (Arch) по мануалу и без этих знаний, но особо сложного здесь ничего нет, при этом эта информация может здорово вас выручить на практике.
MBR и GPT
MBR - Главная загрузочная запись
Начнём с цитат из Википедии:
Главная загрузочная запись (англ. master boot record, MBR) — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации.
MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру.
Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно — загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма.
В процессе запуска компьютера, после окончания начального теста (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) загружает «код MBR» в оперативную память (в IBM PC обычно с адреса 0000:7c00) и передаёт управление находящемуся в MBR загрузочному коду.
cfdisk показывает MBR как dos.
GPT - Таблица разделов GUID
Информация из Википедии:
GUID Partition Table, аббр. GPT — стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену BIOS. EFI использует GPT там, где BIOS использует Главную загрузочную запись (англ. Master Boot Record, MBR).
cfdisk показывает GUID как GPT.
Создание и удаление GPT (превращение диска из MBR в GPT и превращение диска из GPT в MBR)
Внимание, любые действия из этого раздела приводят к удалению данных с диска. Не желая этого, вы можете удалить нужные данные, если неправильно укажите диск.
Если вы хотите создать новую GUID таблицу раздела (GPT), то можете это сделать с помощью программы gdisk:
gdisk /dev/sda
Далее для создания таблицы наберите:
o
И для записи изменений:
w
Для удаления GPT с диска, если она там есть:
gdisk /dev/sda
Для перехода в экспертный режим там введите
x
Затем для удаления GPT введите
z
Дважды согласитесь, чтобы полностью очистить диск.
Разметка диска для MBR
cfdisk /dev/sda
Раздел загрузки и рута должны быть primary.
Размер загрузочного раздела должен быть 200 мегабайт или больше.
Для загрузочного раздела нужно поставить флаг Bootable.
Изменение типов разделов не требуется (тип Linux).
В результате должно получиться примерно так:
Раздел загрузчика должен быть отформатирован на выбор в ext2, ext3, ext4. Я выбираю ext2, поскольку он быстрее, а журналирование для раздела загрузки не требуется:
mkfs.ext2 /dev/sda1
Рут и пользовательские разделы на выбор в ext2, ext3, ext4 (рекомендуется ext4):
mkfs.ext4 /dev/sda2
Форматирование и инициализация раздела SWAP (если вы его сделали):
mkswap /dev/sda3 swapon /dev/sda3
Разметка диска для GPT
cfdisk /dev/sda
Тип загрузочного раздела должен быть EFI System, размер 200-500 мегабайт.
Тип раздела подкачки Linux swap.
Тип раздела рута и других пользовательских дисков: Linux root (x86-64) (либо в соответствии с вашей системой).
В результате должно получиться примерно так:
Раздел загрузчика должен быть отформатирован в FAT32:
mkfs.fat -F32 /dev/sda1
Рут и пользовательские разделы на выбор в ext2, ext3, ext4 (рекомендуется ext4):
mkfs.ext4 /dev/sda3
Форматирование и инициализация раздела SWAP (если вы его сделали):
mkswap /dev/sda2 swapon /dev/sda2
GRUB и EFI
Начнём с Википедии:
GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки.
Ещё одна справки из Википедии:
Extensible Firmware Interface (EFI) (англ. Интерфейс расширяемой прошивки) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Первая спецификация EFI была разработана Intel, позднее от первого названия отказались и последняя версия стандарта носит название Unified Extensible Firmware Interface (UEFI). В настоящее время разработкой UEFI занимается Unified EFI Forum.
Если верить документации и разным вики, то GRUB можно установить и на MBR, и на GPT. Точно также EFI можно установить и на MBR, и на GPT. Но на практике EFI не ставиться в MBR (при установке в Arch). И при попытке установить GRUB в GPT на виртуальной машине при перезагрузке я неизменно получаю:
Общее правило (которое всегда работает) такое:
- GRUB ставить в MBR
- EFI ставить в GPT
Само-собой разумеется, поддержка EFI должна быть реализована в вашем компьютере. Проверить можно загрузившись в биос:
Если среди опцией есть EFI, значит пододержка имеется. VirtualBox также поддерживает EFI если эту поддержку указать явно для конкретной виртуальной машины:
Процесс установки GRUB
Обратите внимание, что /dev/sda - это не загрузочный или какой-то другой раздел - это весь диск.
pacman -S grub-bios grub-install --recheck /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
Процесс установки EFI
bootctl install
Редактируем содержимое файла:
vim /boot/loader/loader.conf
Удалите то, что там есть и впишите туда:
default arch
Создайте конфигурационный файл для добавления пункта Arch Linux в менеджер gummiboot:
vim /boot/loader/entries/arch.conf
Содержимое файла должно быть примерно следующим:
title BlackArch linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sda3 rw
Помните, что /dev/sda3 это НЕ загрузочный диск, а диск рут раздела.
Близкие статьи
- Работа с дисками в BlackArch (монтирование, решение проблем) (80.4%)
- Восстановление из чёрного экрана при неудачной установке проприетарных AMD драйверов в BlackArch / Arch (80.4%)
- Ошибка: «файл \vmlinuz-linux» не найден (РЕШЕНО) (69.7%)
- Ошибка «wget will not execute and completion _wget exists» (РЕШЕНО) (69.7%)
- Pacman: работа с пакетами в BlackArch (перевод справки и мануала) (50%)
- Как узнать, в каком пакете находится файл (RANDOM - 50%)