Comments 32
Еще можно заметить, что когда диски были маленькими, структура CHS точно отражала физическую геометрию диска.
Потом диски стали больше, но количество магнитных головок при этом практически менялось в очень маленьких пределах, редко достигая восьми и никогда не достигая предельных 256. В результате получилось, что под головки выделено слишком много, а для секторов и цилиндров не хватает. Потому геометоия диска стала виртуальной (головок показывали больше, чем их было физически). Потом подтянулись диски с переменным количеством секторов на дорожке, механизм релокации поврежденных секторов, и структурп CHS вообще утратила связь с физической реальностью.з
Не знаю, использовались ли когда либо CHS для SSD, для них эта структура вообще стала бессмысленной по причине отсутствия цилиндров и головок как класса.
Для загрузки операционной системы FreeBSD с GPT-раздела необходимо записать в область MBR специальный псевдо-MBR загрузчик (pMBR), который передаст управление на загрузчик gbtboot или gptzfsboot, находящийся на первом разделе GPT. Далее, более интеллектуальный загрузчик может загрузить операционную систему с раздела с файловой системой. И всё это работает без UEFI на классическом BIOS PC.
uefi будет искать загрузчики по всем разделам, для которых у неё есть драйвера, по всем накопителям, которые она распознала…
посмотреть на что есть драйвера можно с помощью команды «drivers» в EFI Shell
ну и базово uefi знает только efi file system (раздел 12.3 File System Format стандарта)
The file system supported by the Extensible Firmware Interface is based on the FAT file system. EFI defines a specific version of FAT that is explicitly documented and testable. Conformance to the EFI specification and its associate reference documents is the only definition of FAT that needs to be implemented to support EFI. To differentiate the EFI file system from pure FAT, a new partition file system type has been defined.
и, оттуда же:
EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media.
Дальше уже код загрузчика должен разобатся во всех этих CHS/LBA/GPT и найти загрузочную партицию.
Итого — максимум совместимости, минимум наворотов.
Что касается загрузки ОС с классических носителей (MBR) и с UEFI/GPT, то она во FreeBSD тоже поддерживается.
Один и тот же диск с Windows to Go (в том числе и x86) как-то спокойно грузится, что с BIOS-системы (в том числе с CSM), что с UEFI-системы.
При работе компьютера с UEFI, данный MBR-сектор просто игнорируется и никакой код в нем также не выполняется.
А при работе компьютера с BIOS как раз и выполняется записанный в нем код…
И дал совершенно верный, но совершенно бесполезный ответ.
мой фактический вопрос: как при gpt подменить (желательно в «автоматическом» режиме и, если возможно, штатными средствами) в первом секторе на Protective MBR на Hybrid MBR, который укажет на «активность» esp так, чтобы bios это понял, а uefi не ругался.
а дальше всё просто: у esp в pbr под виндой и так по умолчанию bootmgr boot record. а загрузчики в esp спокойно «создаются» bcdboot с ключём /f ALL.
ну а Clonezilla вообще не пример: syslinux для bios, grub для uefi (а могли бы ядро c efi-stub собрать), всё файлы образа меньше 4gb, система в squashfs. всё банально для мира *nix.
Выяснилось, что никак нельзя, по крайней мере parted и fdisk отказывались верить, что на 500гб диске может быть GPT от терабайтного. Надо было попробовать gdisk, но я тогда запамятовал про неё. А вот с MBR такой проблемы бы не было вовсе, ей размер диска вообще до лампочки.
Недавно видел любопытный вопрос — «как уменьшить GPT» — не какой-то раздел на GPT, а всю разметку, передвигая копию GPT ближе к началу.
У тебя есть два варианта сжатия GPT и оба не трогают резервную область:
Мигрирование
- Сожми разделы на основном диске
- Скопируй всю таблицу разделов без резервных областей
- Fdisk'ом сделай бэкап разметки, он скопирует их в соответствующие позиции
- Потом копируй разделы, раз уж мигрируешь на носитель меньшего объема
- Сжатие без резервной области
- Сожми разделы
Лучше после этого сделать Backup P/HMBR+GPT, но не в последние области
- Затри нулями последние 34 блока по 512 байт диска
Если вдруг убьешь разметку восстанавливай из резервной копии
- Сожми разделы
А вот с MBR такой проблемы бы не было вовсе, ей размер диска вообще до лампочки.
У MBR нет резервных областей, но ничто не мешает тебе их сделать в конце диска.
А насчет размера диска, а точнее его максимальный размер составляет 4 TiB - 1 B
если брать в расчет unsigned int, либо 2 TiB - 1 B
если брать в расчет что используется signed int.
У тебя есть два варианта сжатия GPT и оба не трогают резервную область:
Вы не поняли. Диск станет меньше. Это не может не трогать резервную область, которая сидит в конце диска, который конец скоро будет откушен.
Что самое печальное, такие задачи людям-то трудно объяснить, а уж гуглить и вовсе нереально :(
Название раздела. Unicode-строка длиной 36-символовНе Unicode, а UTF-16LE. Unicode — это просто стандарт, а тут важна конкретная кодировка.
Также у него есть про NTFS и FAT: www.writeblocked.org/resources/
За год GPT падал, 7 раз!!! UEFI так же глючит, Вернулся, На MBR и все проблемы пропали!
p.s. У меня установлена почти от начала появления десятой, переустанавливал только три раза: самый первый инсайдерский и самый последний Windows 10 Fall Creators Update (версия 1709) на сегодня версия 16299,192, так как Microsoft обновляет. Один раз из-за своих кривых рук, а так по поводу UFI(GRT) не жалуюсь.
Может проблема в чём-то у вашего компьютера другом.
Особенно бесит когда при включенном UEFI начинают в биосе плодится DVD ROM ы (иногда до 8 штук) и и загрузочные разделы — windows.
При этом в ручную, (через выбор жесткого диска при загрузке по F8 :) ), тоже становиться невозможно загрузиться!
Особенно бесит то, что если система стоит на С (один физ диск) а накрывается диск Н (другой физ. диск). То загрузка падает, так что и утилиты Winows не могут восстановить. А сторонние и подавно.
При этом в ручную, (через выбор жесткого диска при загрузке по F8 :) ), тоже становиться невозможно загрузиться!
Как оказалось, в win10 убрали по-умолчанию возможность при старте винды зайти в безопасный режим ( safe-mode ). Теперь, чтобы получить эту возможность, надо на РАБОТАЮЩЕЙ винде, т.е заранее, выполнить от имени администратора команду
bcdedit /set {default} bootmenupolicy legacy
И только после таких манипуляций старый добрый F8 даст возможность попасть в меню выбора старта системы.
Лучше всего это сделать таким пакетным файлом запущенным от имени администратора (команда displaybootmenu из практики не очень нужна но ее рекомендуют тоже задать):
echo off
bcdedit /set {bootmgr} displaybootmenu yes
bcdedit /set {default} bootmenupolicy legacy
timeout 20
exit
По этой причине я пока продолжаю всеми правдами и неправдами применять MBR, и даже «десятку» устанавливаю на MBR, обходя сопротивление штатного инсталлятора. Знатоки, ответьте, делается ли что-нибудь для преодоления этих проблем, и появился ли инструментарий для UEFI и GPT, столь же удобный, какой во множестве был для MBR. Спрашиваю потому, что в известном, популярном и очень удобном инструментальном пакете утилит 2k10 для одного лишь ремонта загрузки есть с десяток разных программ, а для UEFI и GPT там нет ничего.
Изучаем структуры MBR и GPT