MBR vs GPT (in Russian)
Taken from https://losst.ru/chem-otlichaetsya-mbr-ot-gpt
Если вы когда нибудь делали разметку диска или даже более того, пытались установить Linux на ноутбук с предустановленой Windows 8 или более новой версией, то скорее всего встречались с такими понятиями как таблица разделов, gpt и mbr. Даже если вы стерли Windows, все равно наверное задавались вопросом чем отличается mbr от gpt, какая таблица разделов лучше, какие преимущества gpt от mbr. В этой статье мы ответим на все эти вопросы и после ее прочтения вы уже будете точно знать какая таблица разделов вам нужна, но сначала немного теории.
ТАБЛИЦА РАЗДЕЛОВ
Как вы знаете, жесткий диск не целая субстанция, на которую устанавливается система. Мы можем разделить его на несколько разделов, чтобы на один установить одну систему, на другой - другую, а третий вообще оставить под файлы. Подобное разделение было и в Windows - это диск С:, D:, такое есть и в Linux - sda1, sda2, sda3.
Но вопрос в том, как система узнает структуру жесткого диска? По сути жесткий диск представляет собой огромное адресное пространство в которое можно записывать данные. Чтобы знать сколько разделов существует, какого они размера, на какой ячейке начинаются и на какой заканчиваются нужно где-то хранить эти данные. Вот тут уже нужна таблица разделов MBR или GPT. Или как они расшифровываются Master Boot Record и GUID Partition Table. Не смотря на то, что они отличаются архитектурой, они выполняют одну и ту же работу. Разница между mbr и gpt будет лучше понятна, если мы рассмотрим их по очереди.
MBR (MASTER BOOT RECORD)
MBR - это старый стандарт таблицы разделов, но он до сих пор широко используется многими людьми. Эта таблица разделов разработана еще во времена DOS, в 1983 году, а поэтому содержит много соответствующих ограничений.
MBR находится в самом начале диска, если точнее, то она занимает первые 512 байт. Она содержит информацию, о том, какие логические и расширенные разделы есть на этом устройстве. Кроме того в MBR находится исполняемый код, который может сканировать разделы в поисках операционной системы, а также инициировать загрузку операционной системы. Для Windows - это загрузчик WIndows, в Linux там находится код инициализации Grub. Поскольку места там очень мало, обычно этот код используется только для инициализации основного загрузчика расположенного где-нибудь на диске.
Очень неудобное ограничение MBR, это то, что вы можете иметь только четыре раздела диска. Это связанно с ограниченным количеством памяти выделенным под таблицу разделов. Так было с самого начала, но потом разработчики нашли решение. Обычные разделы начали называть первичными (primary), а также добавили расширенные (extended) и логические (logical). Один расширенный раздел, может содержать несколько логических, таким образом вы сможете создать необходимое количество разделов.
Кроме того MBR использует 32-битную адресацию пространства, поэтому вы сможете работать только с дисками размером до двух терабайт. Конечно, со временем появились способы поддерживать и большие объемы, но работать с ними она будет не так хорошо. Еще один минус в том, что MBR расположена только в начале диска и если вы ее случайно затрете, то диск станет полностью нечитаемым. Плюсом MBR можно назвать полную совместимость со многими операционными системами в том числе Windows, включая старые версии, Linux и MacOS.
GPT (GUID PARTITION TABLE)
GPT это современный стандарт управления разделами на жестком диске. Это часть стандарта EFI (Extensible Firmware Interface), разработанного в Intel для замены устаревшего BIOS.
Самое первое отличие - это использование совсем другой адресации диска. В MBR использовалась адресация зависимая от геометрии диска. Адрес состоял с трех значений головка, цилиндр и сектор (например 0,0,0). В GPT используется адресация LBA. Это блочная адресация, каждый блок имеет свой номер, например LBA1, LBA2, LBA3, и так далее, при чем адреса MBR автоматически транслируются в LBA, например LBA1 будет иметь адрес 0,0,1 и так далее.
GPT не содержит кода загрузчика, она рассчитывает что этим будет заниматься EFI, здесь размещена только таблица разделов. В блоке LBA0 находится MBR, это сделано для защиты от затирания GPT старыми утилитами работы с дисками, а уже с блока (LBA1) начинается сама GPT. Под таблицу разделов резервируется 16 384 байт памяти, по 512 на блок, а это 32 блока, таким образом первые разделы начнутся с блока LBA34 (32+1MBR+1GPT).
Важным преимуществом есть то, что количество разделов не ограничено. Точнее ограничено, только операционной системой. Ядро Linux поддерживает аж до 256 разделов.
Благодаря адресации LBA, GPT в отличии от MBR может создавать разделы до 9,4 ЗБ, а этого в ближайшее время вполне хватит.
Кроме того служебная информация GPT дублирована, она размещается не только в начале диска но и в конце, таким образом во многих случаях при повреждении GPT может сработать автоматическое восстановление и вы даже не заметите проблем. Тут уже сразу становится понятно, что лучше mbr или gpt.
GPT поддерживает юникод поэтому вы можете задавать имена и атрибуты разделам. Имена могут быть заданы на любом поддерживаемом языке и вы сможете обращаться к дискам по этим именам. Для дисков используются глобальные уникальные идентификаторы GUID (Globally Unique IDentifier), это одна из вариаций UUID с большей вероятностью уникальных значений, может также использоваться для идентификации дисков вместо имен.
Минусом или еще одним плюсом GPT есть то, что при загрузке проверяются контрольные суммы таблиц, а это значит, что если вы захотите что-то изменить вручную, то система не загрузится. Как видите разница между mbr и gpt просто колоссальная.
ПОДДЕРЖКА ОПЕРАЦИОННЫХ СИСТЕМ
MacOS и новые версии Windows начиная от Windows 8 используют GPT по умолчанию. Вы не сможете установить MacOS в системе с MBR, она будет работать на этом диске, но вы не сможете ее туда установить. Windows поддерживает как MBR так и GPT начиная с версии 8, более ранние версии установить на GPT не удастся, но работать с GPT можно начиная с XP.
Ядро Linux включает поддержку как MBR так и GPT, только для установки на GPT вам придется использовать загрузчик Grub2. Здесь сравнение MBR vs GPT не так однозначно. Если вам нужна старая операционная система ничего с GPT не выйдет.
КАКАЯ ТАБЛИЦА РАЗДЕЛОВ
Теперь давайте рассмотрим как узнать gpt или mbr используется на вашем компьютере. Конечно, если у вас предустановлена Windows 10 на ноутбуке, то тут и думать нечего, там точно GPT, но в других случаях будет полезно узнать.
В Linux мы можем использовать для этого утилиту fdisk. Просто выполните:
sudo fdisk -l
Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1c50df99
Disklabel type: dos - значит, что у вас используется mbr, в gpt так будет и написано - gpt. Также узнать gpt или mbr используется можно с помощью программы gparted.
ВЫВОДЫ
Теперь вы знаете чем отличается mbr от gpt, и у вас не возникнет трудностей при выборе таблицы разделов. Если вы используете диск размером меньше двух терабайт и вам не нужно больше четырех разделов, то возможно и не стоит выбирать GPT. Некоторые старые BIOS не поддерживают нормальную загрузку системы с таблиц GPT, к тому же без UEFI вы не сможете установить Windows на эту таблицу разделов. Но если вы хотите устанавливать на GPT только Linux то ничего плохого в этом нет. Определять что лучше mbr или gpt нужно в зависимости от вашей ситуации.
Давайте подведем итог всего выше написанного и еще раз приведем преимущества gpt перед mbr:
MBR поддерживает диски до 2 Тб, GPT - до 9 Зб
GPT поддерживает более четырех разделов
GPT использует GUID для идентификации дисков, а значит меньше шанс конфликтов имен
GPT использует новую систему адресации LBA, вместо устаревшей CHS
Служебная информация GPT дублируется в начале и конце диска
GPT проверяет контрольные сумы, что позволяет обнаружить модификацию таблицы разделов
GPT поддерживает Unicode, а следовательно кириллические имена.