3

Ссылка: https://wiki.archlinux.org/index.php/GRUB#GUID_Partition_Table_.28GPT.29_specific_instructions

Другие источники могут ссылаться на 1MiB за это, но мне действительно интересно это магическое число. Почему не 1000 КБ плюс разрыв 24 КБ?

2 ответа2

2

Указанная цитата относится к загрузочному разделу BIOS, который содержит код GRUB в режиме BIOS. Вики, которую вы цитировали, плохо объясняет проблему. Для загрузочного раздела BIOS "магического размера" не существует, поскольку размер кода GRUB, который он содержит, может различаться по размеру в зависимости от используемой версии GRUB и конкретных функций (таких как драйверы файловой системы), которые должны быть включены в этот кодовый набор. В прошлом 33KiB был достаточно большим, но во многих случаях сегодня он должен быть больше этого. Я видел утверждения, что некоторым установкам на самом деле требуется больше 1 МБ, но я никогда не проверял это сам.

Похоже, что авторы Arch вики чрезмерно озабочены оптимизацией разметки диска; Кажется, они хотят, чтобы на диске не было ни одного незанятого сектора. Для достижения этой цели они выступают за создание загрузочного раздела BIOS странного размера, чтобы он полностью занимал все пространство между сектором 34 (первый доступный сектор в GPT, при условии стандартного размера таблицы разделов) и 2047 (последний сектор перед сектором 2048, который является первым используемым сектором по умолчанию, учитывая выравнивание 2048 секторов). Нет ничего плохого в том, чтобы делать это таким образом, предполагая, что код GRUB умещается в 1007 КБ; но если вы согласитесь с выравниванием по умолчанию в 2048 секторов по всем разделам, включая загрузочный раздел BIOS, результатом будет просто 1007 КБ нераспределенного дискового пространства и уменьшение размера одного раздела данных на 1 МБ по сравнению с тем, как это делается в вики. , Учитывая, что современные диски имеют емкость, измеряемую в терабайтах (иными словами, в миллионы раз больше, чем потраченное впустую пространство), эта одержимость сохранением 1 МБ места, ИМХО, неуместна.

1

Я не знаю, откуда у вас эти цифры "24 КБ" и "1000 КБ". Загрузочный раздел настолько велик, что в нем присутствуют все возможные коды загрузчика, configfile, helpfile, kernelimage и т.д. Это 1Meg мало, потому что

  • ядра могут быть сегодня даже 20 мг или около того

  • его размер должен быть переобъявлен, потому что

  • размещение в начале жесткого диска и перемещение в начало первого реального раздела данных - это, в основном, одна из самых сложных операций перераспределения,

  • даже эти действительно большие загрузочные разделы будут небольшими по сравнению с современными размерами жесткого диска (например, 200 Мб практически ничего не стоят на диске 4T).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .