You are here: Home » Справка и подсказки » Работа с дисками при установке BlackArch (Arch): общая информация, конвертация и разметка MBR и GPT; общая информация и установка GRUB и EFI

Работа с дисками при установке BlackArch (Arch): общая информация, конвертация и разметка MBR и GPT; общая информация и установка GRUB и EFI

Большинству пользователям, даже пользователям 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.

02

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).

В результате должно получиться примерно так:

13

Раздел загрузчика должен быть отформатирован на выбор в 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) (либо в соответствии с вашей системой).

В результате должно получиться примерно так:

42

Раздел загрузчика должен быть отформатирован в 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 на виртуальной машине при перезагрузке я неизменно получаю:

61

Общее правило (которое всегда работает) такое:

  • GRUB ставить в MBR
  • EFI ставить в GPT

Само-собой разумеется, поддержка EFI должна быть реализована в вашем компьютере. Проверить можно загрузившись в биос:

20160126_125911

Если среди опцией есть EFI, значит пододержка имеется. VirtualBox также поддерживает EFI если эту поддержку указать явно для конкретной виртуальной машины:

10

Процесс установки 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 это НЕ загрузочный диск, а диск рут раздела.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *