Как стать автором
Обновить

Комментарии 38

Очень любопытно. Хотелось бы узнать, можно ли было бы сделать так, чтобы загрузчик был полностью универсальным и, вообще, не был связан ни с одной операционной системой? Если бы такой системный загрузчик существовал бы, то, наверное, можно было бы в нём задавать разделы для отдельных операционных систем таким образом, чтобы различные системы ничего не знали бы друг о друге и ничего не знали бы о загрузочной записи. Или это всё и так уже реализовано (в UEFI)? Возможно, вопрос нужно как-то переформулировать, поскольку он не совсем ясен (наверное).
Но, всё-же, GRUB не грузит Windows напрямую, а просто передаёт управление стандартному загрузчику (NTLDR / Windows Boot Manager). Так что он не до конца Unified.
Нормальная поддержка NVMe boot есть с z97, предыдущие чипсеты имели сломанную поддержку (хотя некоторые материнки работают).
спасибо за подробную статью, может она развеет страх перед GPT у некоторых «сисопов», которые его сторонятся
немного добавлю: GRUB может грузиться (и грузить) с GPT и BIOS системы, но для этого понадобится небольшой (например 100 МБ) сырой раздел в начале диска и поддержка на стороне ОС (в CentOS, например, такое не поддерживается и не работает, в Ubuntu поддерживается, но не работает (возможно, починили, но я сомневаюсь), в openSUSE поддерживается и работает).
У меня GRUB стоит на EFI-разделе. В итоге можно грузить всё, что угодно — для пробы грузился из образов с установщиками различных дистров (Windows, Ubuntu, Gentoo, Arch).
1. Не надо 100 Мб, достаточно одного мегабайта, грабу этого с лихвой хватает.
2. В моих экспериментах CentOS 7 прекрасно грузился в Legacy-BIOS-режиме с GPT-диска. Убунту, вроде тоже, но уже точно не помню, проверял ли конкретно такую конфигурацию. По идее, тоже не должно быть проблем.
НЛО прилетело и опубликовало эту надпись здесь
Вы, похоже, путаете этот раздел с разделом /boot. Этот мегабайтный раздел нужен по сути для хранения Stage 1.5, который раньше на MBR-дисках располагался в неразмеченном пространстве (см. рисунок в статье), а теперь это пространство занято самой таблицей GPT. Здесь не совмещаются разные системы, здесь живёт один-единственный загрузчик длиной в 62 сектора. Ему не нужны сотни мегабайт.
НЛО прилетело и опубликовало эту надпись здесь

Покупая батон хлеба за 20 рублей тоже даёте тысячу и принципиально не берете сдачу?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
GPT хранит копию раздела и загрузочных данных и может восстановить данные в случае повреждения основного заголовка GPT.

А это где-то действительно так работает? Пробовал в W10 — стёр копию GTP в начале диска и всё, диск пустой, ничего не восстановилось.
Загрузчики действительно часто используют только primary GPT. А вот утилиты работы с дисками предлагают восстановить primary GPT из backup GPT.
Развейте, пожалуйста, мою тревогу по поводу UEFI (GPT):

* говорят, что та микросхема где находится UEFI имеет очень мало циклов перезаписи (100?)?
* можно (да, можно) примонтировать этот раздел с UEFI мат. платы в ОС и что будет если все оттуда удалить? включится ли компьютер и можно ли будет просто безболезненно загрузится с флешки и снова установить ОС?
  1. UEFI — это просто навороченный BIOS. Хранится на абсолютно такой-же CMOS микросхеме, так что количество циклов никак не меняется.
  2. UEFI раздел — обычный fat32 (другие фс — редкость) раздел. Да, его можно примонтировать и всё оттуда удалить. ОС, конечно, не загрузится. Загрузиться с флешки можно всегда — UEFI раздел не является сверх-важной частью самой прошивки, это замена первому сектору из MBR (с поправкой на то, что сектор в MBR один (и загрузчик тоже один), а в UEFI разделе можно расположить несколько загрузчиков просто в виде стандартных файлов).

примонтировать этот раздел с UEFI мат. платы

ESP раздел не часть мат. платы, а самый обычный раздел на самом обычном HDD/SSD.
Если уж быть точным, то не CMOS, а скорее SPI-NOR. Количество циклов не мегабольшое, они используются только при обновлении прошивки.
Ерунду говорят. Для EFI используются микросхемы QuadSPI NOR Flash с ~100к циклов записи\стирания, вот даташит на одну из самых популярных на данный момент микросхем. Если очень-очень стараться, чип можно вывести из строя, конечно, но это справедливо для любого оборудования.
По поводу включится ли — определенно, никакие данные с диска для работы прошивки не нужны. ОС, понятно, перестанет загружаться, но это дело поправимое.
Большинство операционных систем на ядре Linux совместимы с GPT. При установке ОС Linux на диск в качестве загрузчика будет установлен GRUB 2

Linux может загружаться и из UEFI непосредственно.
Grub всего лишь один из возможных загрузчиков.
Мало того, сейчас уже и загрузчик не нужен. На uefi можно сразу запустить линукс с systemd. Подробности не изучал, но тема интересная.
А причём тут systemd? Любой инит будет работать. Прошивка загружает ядро с EFI_STUB (т.е. само ядро будет оформлено как обычное EFI приложение), а ядро уже в свою очередь запускает инит (systemd/openrc/upstart/sysvinit/суперофигенныйинитвасипупкина). Лично у меня на ESP разделе хранятся подписанные образы EFI приложений, которые включают в себя ядро + initrd + intel-ucode + cmdline, и всё это добро подписано ключами для UEFI Secure Boot. Достаточно удобно получилось — всё обновляется само стандартным пакетным менеджером.
Помните команды? Хотел также себе сделать, но сами понимаете, лениво)) И у вас Archlinux?? У меня Debian.
В последней версии Windows 10 появился MBR2GPT для преобразования разделов без форматирования и можно откатиться на MBR с сохранением данных.
Небольшие поправки:
Если вам нужно больше, то можно назначить четвёртый раздел расширенным разделом
Не обязательно четвертый, можно любой. И на моей практике чаще всего это был второй раздел.
MBR использует 32 бита для записи раздела
32 бита для записи длины раздела, выраженной в секторах.
А полная запись о разделе занимает 16 байт.
GPT допускает неограниченное количество разделов, в то время как MBR допускает только четыре.
MBR тоже допускает неограниченное количество разделов.
Потребность в GPTобычно возникает в случае накопителей, где количество секторов согласно паспорта (который отдает накопитель по 0xED) превышает 4 294 967 296. По сущности это любой накопитель емкостью более 2ТБ с сектором 512 байт (либо с эмуляцией сектора подобного размера).

Подчеркивать достоинства GPT с точки зрения надежности из-за наличия второй копии можно, но с большими оговорками. Например, что при необдуманных действиях пользователя будет испорчено содержимое обеих копий. Если же говорить о простоте восстановления, то классическую таблицу разделов в дисковом редакторе написать может любой системный администратор, если ознакомится с ее устройством. В случае GPT все будет сложнее. Для многих камнем преткновения станут идентификаторы разделов и контрольная сумма.

Для конечного пользователя не играет роли, как будет передаваться управление загрузчику ОС. По этой причине можно сказать, если Ваш накопитель менее 2ТБ и нет каких-то явных причин использовать GPT, то нет смысла заниматься конвертацией за которую ратуют в статье.
Статья хорошая. MBR и GPT имеют сравнение. Linux грузится не только GRUB. Есть еще LILO и куча других загрузчиков. А еще есть не только Linux, но и BSD подобные системы и не только *NIX подобные, но и совсем особенные. Вот для унификации процессак загрузки и придумали UEFI.
GUID Partition table не грузит операционную систему, а содержит таблицу разделов. UEFI — вариант стандартизации EFI. Загрузка рассмотрена хорошо и даже полезно, но не путайте служебные области и процесс инициализации системы. Большим стимулом для этой путаницы выступает структура MBR и первые компьютеры у которых было мало памяти и низкие скорости. Структура MBR описана правильно, но надо разделять два разных функционала. Функция загрузки и функция определения геометрии разделов.
Есть еще само ядро, оно тоже сам себе загрузчик (EUFI STAB).
Ну загрузчик это и есть .efi приложение. И этот efi позволяет загружать другие efi? Я просто не в курсе… Просто если да, то это EUFI.
Ну блин, не путайте понятия — UEFI != EUFI (вообще без понятия, откуда такая аббревиатура). Unified Extensible Firmware Interface.
В EFI вообще нет понятия «загрузчик» — загружается некое EFI-приложение, которое может быть чем угодно (memtest, Linux kernel, Windows loader).
refind прекрасно грузит и линукс и форточки, причем ядро линукс грузится без всяких грабов. Мультибут с красивыми темами выбора оси и тд и тп. И в виртуалбоксе работает
А вам больше скажу, ядро linux может быть сам себе загрузчиком.
Нет. Смотри мой комментарий выше.
Последний OSX (Mac OS) неофициально можно ставить на диск с разметкой MBR. Для этого необходимо заменить один установочный файл. Пришлось сделать так на Macbook Pro 2010 года. На одном SSD должны были жить последняя OSX и Windows 10. К сожалению любые дрова на видеокарту Nvidia GeForce 320M приводили к BSOD, если Windows 7/8/10 был установлен в режиме UEFI.
EUFI (у Apple скорее EFI) поддерживает MBR и неофициально NTFS. Ничего удивительного.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации