«Предупреждение: файловая система ext2» не поддерживает встраивание. »Но моя система тоже не встраивается, почему grub пытается?

34

Я читаю себя для выпуска Jessie на Debian, поэтому я очень осторожен (следует сказать, параноик) в отношении любого сообщения, которое может вызвать проблемы, а именно предупреждения. Моя система - это рабочий стол с установленным Debian для тестирования / нестабильности, на разделах ext4 для обоих, /bootи /все же я вижу это сообщение при обновлении grub-pcпакета в Debian:

Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Generating grub configuration file ...

Почему grub говорит, что моя система встроена? Какова причина этого? Я попытался проверить двоичный файл grub-install, но не смог понять это.

Braiam
источник
1
Речь идет не о вашей системе. embedкоманда Grub: «Вставить этап 1.5 STAGE1_5 в секторах после MBR, если [...]». Однако я не понимаю, с чем должна быть проблема ext2.
Хауке Лагинг
2
По-видимому, grub вызывает ext3 и ext4; ext2, так что предупреждение в порядке, смотрите здесь . Похоже, что предупреждение о внедрении против блочных списков касается места установки grub, MBR против загрузочного сектора раздела.
Мехмет

Ответы:

31

Вы получаете предупреждение, потому что вы устанавливаете grub в раздел вместо MBR. Это означает, что grub не может быть встроен в неиспользуемое пространство между MBR и первым разделом. Вместо этого он должен иметь список блоков, /boot/grub/core.imgнаходящихся в MBR. Эта настройка может быть нарушена такими способами, как дефрагментация, поэтому не рекомендуется, поэтому следует предупреждение. Поскольку это всего лишь предупреждение, вы можете его игнорировать.

psusi
источник
Итак ... Мне просто пришлось отменить выбор раздела в конфигурации пакета.
Брайам
64

Большинство людей, приходящих на это из поисковой системы, вероятно, задаются вопросом: «Почему я получаю эту ошибку?»:

warning: File system `ext2' doesn't support embedding. 
warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their  use is discouraged.. 
error: will not proceed with blocklists.

Потому что вы сделали, например:

grub-install /dev/sda1

вместо того

grub-install /dev/sda

Т.е. пытался установить в раздел вместо MBR.

Натан Кидд
источник
1
Я знаю, что переустановил grub и сделал это с помощью grub-install / dev / sda. Я все еще получил предупреждение.
Йохан Херстад
Вы получили предупреждение, и оно продолжилось? Или ошибка? Это в первую очередь о преодолении этой ошибки.
Натан Кидд
Я запустил apt dist-upgradeDebian, и он идиотски попросил меня выбрать, куда GRUB должен идти (как будто я знаю!). Я действительно выбрал / dev / sda1 (мой / загрузочный раздел). Теперь он не загружается. Если я загружаю живой дистрибутив и запускаю grub-install, он выдает жалобу на встраивание и отказывается продолжить. Repairable?
Boann
@Boann, я случайно столкнулся с подобной проблемой здесь askubuntu.com/a/531051/149881 Может быть, это поможет вам.
Натан Кидд
5

Я цитирую со infoстраниц Grub2 :

MBR
====

Формат таблицы разделов, традиционно используемый на платформах BIOS компьютера,
называется форматом основной загрузочной записи (MBR); Этот формат
позволяет использовать до четырех основных разделов и дополнительных логических разделов.
С этим форматом таблицы разделов GRUB
можно установить двумя способами: он может быть встроен в область между MBR и первым разделом
(называемый различными именами, такими как «загрузочная дорожка», «разрыв MBR» или
«встраивание»). область ", которая обычно составляет не менее 31 КиБ), или
образ ядра может быть установлен в файловой системе, и список блоков, которые
его составляют, может быть сохранен в первом секторе этого раздела.

У каждого из них свои проблемы. Невозможно зарезервировать
пространство в области встраивания с полной безопасностью, и известно, что некоторые проприетарные
программы используют его, чтобы пользователям было сложно
обойти лицензионные ограничения; и системы иногда разбиваются,
не оставляя достаточно места перед первым разделом. С другой
стороны, установка в файловую систему означает, что GRUB уязвим к
перемещению своих блоков такими функциями файловой системы, как «хвостовая упаковка»,
или даже агрессивными реализациями fsck, поэтому этот подход довольно
хрупок; и этот подход можно использовать, только если файловая система `/ boot '
находится на том же диске, с которого загружается BIOS, так что GRUB не
приходится полагаться на угадывание номеров дисков BIOS.

Команда разработчиков GRUB обычно рекомендует встраивать GRUB перед
первым разделом, если у вас нет особых требований. Вы должны
убедиться, что первый раздел начинается не менее 31 КиБ (63 сектора)
с начала диска; на современных дисках зачастую производительность
все равно выравнивает разделы по большим границам, поэтому первый
раздел может начинаться на 1 МБ с начала диска.

Для меня это означает, что ext2 никак не связан с встраиванием, потому что это либо встраивание, либо задействованная файловая система.

Возникает вопрос, что вы сделали, чтобы создать это сообщение об ошибке (или, скорее: предупреждение). Я предполагаю, что это может произойти, если Grub2 сказано установить себя в раздел, а не на сам диск (MBR или расширенный раздел).

Хауке Лагинг
источник
Я не упомянул, что моя озабоченность связана с ext2, я знаю, что GRUB говорит о ext2 / 3/4. Меня интересует: 1) почему появляется предупреждение и 2) я должен волноваться
Брайам