Comments 38
Очень любопытно. Хотелось бы узнать, можно ли было бы сделать так, чтобы загрузчик был полностью универсальным и, вообще, не был связан ни с одной операционной системой? Если бы такой системный загрузчик существовал бы, то, наверное, можно было бы в нём задавать разделы для отдельных операционных систем таким образом, чтобы различные системы ничего не знали бы друг о друге и ничего не знали бы о загрузочной записи. Или это всё и так уже реализовано (в UEFI)? Возможно, вопрос нужно как-то переформулировать, поскольку он не совсем ясен (наверное).
GRUB, он же "GRand Unified Bootloader", умеет грузить много разных ядер.
Я использовал Clover для загрузки Windows c NVMe, поддержку которого забыли добавить в BIOS.
Так что, есть разные варианты, не освещенные в статье :)
Так что, есть разные варианты, не освещенные в статье :)
спасибо за подробную статью, может она развеет страх перед GPT у некоторых «сисопов», которые его сторонятся
немного добавлю: GRUB может грузиться (и грузить) с GPT и BIOS системы, но для этого понадобится небольшой (например 100 МБ) сырой раздел в начале диска и поддержка на стороне ОС (в CentOS, например, такое не поддерживается и не работает, в Ubuntu поддерживается, но не работает (возможно, починили, но я сомневаюсь), в openSUSE поддерживается и работает).
немного добавлю: GRUB может грузиться (и грузить) с GPT и BIOS системы, но для этого понадобится небольшой (например 100 МБ) сырой раздел в начале диска и поддержка на стороне ОС (в CentOS, например, такое не поддерживается и не работает, в Ubuntu поддерживается, но не работает (возможно, починили, но я сомневаюсь), в openSUSE поддерживается и работает).
У меня GRUB стоит на EFI-разделе. В итоге можно грузить всё, что угодно — для пробы грузился из образов с установщиками различных дистров (Windows, Ubuntu, Gentoo, Arch).
1. Не надо 100 Мб, достаточно одного мегабайта, грабу этого с лихвой хватает.
2. В моих экспериментах CentOS 7 прекрасно грузился в Legacy-BIOS-режиме с GPT-диска. Убунту, вроде тоже, но уже точно не помню, проверял ли конкретно такую конфигурацию. По идее, тоже не должно быть проблем.
2. В моих экспериментах CentOS 7 прекрасно грузился в Legacy-BIOS-режиме с GPT-диска. Убунту, вроде тоже, но уже точно не помню, проверял ли конкретно такую конфигурацию. По идее, тоже не должно быть проблем.
UFO just landed and posted this here
Вы, похоже, путаете этот раздел с разделом /boot. Этот мегабайтный раздел нужен по сути для хранения Stage 1.5, который раньше на MBR-дисках располагался в неразмеченном пространстве (см. рисунок в статье), а теперь это пространство занято самой таблицей GPT. Здесь не совмещаются разные системы, здесь живёт один-единственный загрузчик длиной в 62 сектора. Ему не нужны сотни мегабайт.
UFO just landed and posted this here
GPT хранит копию раздела и загрузочных данных и может восстановить данные в случае повреждения основного заголовка GPT.
А это где-то действительно так работает? Пробовал в W10 — стёр копию GTP в начале диска и всё, диск пустой, ничего не восстановилось.
Развейте, пожалуйста, мою тревогу по поводу UEFI (GPT):
* говорят, что та микросхема где находится UEFI имеет очень мало циклов перезаписи (100?)?
* можно (да, можно) примонтировать этот раздел с UEFI мат. платы в ОС и что будет если все оттуда удалить? включится ли компьютер и можно ли будет просто безболезненно загрузится с флешки и снова установить ОС?
* говорят, что та микросхема где находится UEFI имеет очень мало циклов перезаписи (100?)?
* можно (да, можно) примонтировать этот раздел с UEFI мат. платы в ОС и что будет если все оттуда удалить? включится ли компьютер и можно ли будет просто безболезненно загрузится с флешки и снова установить ОС?
- UEFI — это просто навороченный BIOS. Хранится на абсолютно такой-же CMOS микросхеме, так что количество циклов никак не меняется.
- UEFI раздел — обычный fat32 (другие фс — редкость) раздел. Да, его можно примонтировать и всё оттуда удалить. ОС, конечно, не загрузится. Загрузиться с флешки можно всегда — UEFI раздел не является сверх-важной частью самой прошивки, это замена первому сектору из MBR (с поправкой на то, что сектор в MBR один (и загрузчик тоже один), а в UEFI разделе можно расположить несколько загрузчиков просто в виде стандартных файлов).
примонтировать этот раздел с UEFI мат. платы
ESP раздел не часть мат. платы, а самый обычный раздел на самом обычном HDD/SSD.
Ерунду говорят. Для 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. Достаточно удобно получилось — всё обновляется само стандартным пакетным менеджером.
В последней версии Windows 10 появился MBR2GPT для преобразования разделов без форматирования и можно откатиться на MBR с сохранением данных.
Небольшие поправки:
А полная запись о разделе занимает 16 байт.
Если вам нужно больше, то можно назначить четвёртый раздел расширенным разделомНе обязательно четвертый, можно любой. И на моей практике чаще всего это был второй раздел.
MBR использует 32 бита для записи раздела32 бита для записи длины раздела, выраженной в секторах.
А полная запись о разделе занимает 16 байт.
GPT допускает неограниченное количество разделов, в то время как MBR допускает только четыре.MBR тоже допускает неограниченное количество разделов.
Потребность в GPTобычно возникает в случае накопителей, где количество секторов согласно паспорта (который отдает накопитель по 0xED) превышает 4 294 967 296. По сущности это любой накопитель емкостью более 2ТБ с сектором 512 байт (либо с эмуляцией сектора подобного размера).
Подчеркивать достоинства GPT с точки зрения надежности из-за наличия второй копии можно, но с большими оговорками. Например, что при необдуманных действиях пользователя будет испорчено содержимое обеих копий. Если же говорить о простоте восстановления, то классическую таблицу разделов в дисковом редакторе написать может любой системный администратор, если ознакомится с ее устройством. В случае GPT все будет сложнее. Для многих камнем преткновения станут идентификаторы разделов и контрольная сумма.
Для конечного пользователя не играет роли, как будет передаваться управление загрузчику ОС. По этой причине можно сказать, если Ваш накопитель менее 2ТБ и нет каких-то явных причин использовать GPT, то нет смысла заниматься конвертацией за которую ратуют в статье.
Подчеркивать достоинства GPT с точки зрения надежности из-за наличия второй копии можно, но с большими оговорками. Например, что при необдуманных действиях пользователя будет испорчено содержимое обеих копий. Если же говорить о простоте восстановления, то классическую таблицу разделов в дисковом редакторе написать может любой системный администратор, если ознакомится с ее устройством. В случае GPT все будет сложнее. Для многих камнем преткновения станут идентификаторы разделов и контрольная сумма.
Для конечного пользователя не играет роли, как будет передаваться управление загрузчику ОС. По этой причине можно сказать, если Ваш накопитель менее 2ТБ и нет каких-то явных причин использовать GPT, то нет смысла заниматься конвертацией за которую ратуют в статье.
Статья хорошая. MBR и GPT имеют сравнение. Linux грузится не только GRUB. Есть еще LILO и куча других загрузчиков. А еще есть не только Linux, но и BSD подобные системы и не только *NIX подобные, но и совсем особенные. Вот для унификации процессак загрузки и придумали UEFI.
GUID Partition table не грузит операционную систему, а содержит таблицу разделов. UEFI — вариант стандартизации EFI. Загрузка рассмотрена хорошо и даже полезно, но не путайте служебные области и процесс инициализации системы. Большим стимулом для этой путаницы выступает структура MBR и первые компьютеры у которых было мало памяти и низкие скорости. Структура MBR описана правильно, но надо разделять два разных функционала. Функция загрузки и функция определения геометрии разделов.
GUID Partition table не грузит операционную систему, а содержит таблицу разделов. UEFI — вариант стандартизации EFI. Загрузка рассмотрена хорошо и даже полезно, но не путайте служебные области и процесс инициализации системы. Большим стимулом для этой путаницы выступает структура MBR и первые компьютеры у которых было мало памяти и низкие скорости. Структура MBR описана правильно, но надо разделять два разных функционала. Функция загрузки и функция определения геометрии разделов.
Есть еще само ядро, оно тоже сам себе загрузчик (EUFI STAB).
Не загрузчик, а EFI приложение (и не EUFI, а EFI, и не STAB, а STUB :-).
Ну загрузчик это и есть .efi приложение. И этот efi позволяет загружать другие efi? Я просто не в курсе… Просто если да, то это EUFI.
refind прекрасно грузит и линукс и форточки, причем ядро линукс грузится без всяких грабов. Мультибут с красивыми темами выбора оси и тд и тп. И в виртуалбоксе работает
Последний OSX (Mac OS) неофициально можно ставить на диск с разметкой MBR. Для этого необходимо заменить один установочный файл. Пришлось сделать так на Macbook Pro 2010 года. На одном SSD должны были жить последняя OSX и Windows 10. К сожалению любые дрова на видеокарту Nvidia GeForce 320M приводили к BSOD, если Windows 7/8/10 был установлен в режиме UEFI.
Sign up to leave a comment.
Сравнение структур разделов GPT и MBR