Сообщение «Разреженный файл не разрешен» после установки в файловой системе btrfs


25

Я установил Ubuntu без создания раздела подкачки и с /помощью btrfs. # Теперь я получаю сообщение «Разреженный файл не разрешен» при каждой загрузке. Это сообщение появляется перед заставкой. Есть ли способ убить это предупреждение?


В моей системе нажатие любой клавиши ничего не делает, оно застряло!
Майкл

1
решение в 2016 году, чтобы набор GRUB_SAVEDEFAULT=falseв /etc/default/grub& Runupdate-grub
Стюарт Cardall

Ответы:


33

Ладно, после того, как я немного покопался, я нашел способ как-то избавиться от этой проблемы, по крайней мере, временно, это довольно просто, однако у меня нет настройки системы с помощью btrfs, поэтому я не могу подтвердить это исправление.

либо закомментируйте, либо удалите эту строку:

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

или

if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi

в этом файле

/etc/grub.d/00_header

тогда беги

update-grub

Причина, по которой вы не редактируете /boot/grub/grub.cfgнапрямую, заключается в том, что он будет перезаписан при каждом обновлении grub, в этом случае вам нужно будет только «исправить» исправление, если обновлены общие пакеты grub.

Это ошибка на панели запуска, если вы хотите добавить себе ошибку # 736743

Цитируя Колина Уотсона из сообщения об ошибке

Это на самом деле вводящее в заблуждение сообщение об ошибке: в действительности реализация GRUB btrfs не реализует интерфейс перехвата чтения файлов для возврата блочных списков к вызывающему коду. Я писал об этом в grub-devel, и сопровождающий сказал, что даже в случае проблем с несколькими устройствами запись в btrfs из GRUB в корне рискованна, потому что:

один и тот же блок может использоваться несколькими снимками, каждое дерево, которое использует данный блок, будет содержать свою контрольную сумму и т. д. рекурсивно

Тем не менее, btrfs резервирует место в начале для загрузчика. Это пространство больше, чем нужно GRUB для встраивания, и поэтому мы можем использовать 1 КБ его для блока среды.

В любом случае, это не новая проблема, возникшая в результате использования подразделов, и она не препятствует загрузке (вы получаете ложное приглашение «Нажмите любую клавишу для продолжения», но если вы просто проигнорируете его, оно все равно загрузится). Понижение до списка желаний.

Надеюсь это поможет


1
Можете ли вы найти объяснение того, почему он выкладывает эту ошибку для начала? Спасибо. :)
Jrg

В моем конфигурационном файле строка выглядит так:if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
FUZxxl

1
Я бы закомментировал. Если он не загружается, вы все равно сможете раскомментировать строку с помощью живого диска
Аллан

Хорошо. Я собираюсь попробовать это.
FUZxxl

2
Хорошо, это работает!
FUZxxl

1

Я управляю всем отделом разработки Raring Ringtail.
У меня возникла та же проблема с разреженным файлом, не разрешенным сообщением. GRUB вообще не показывается и загружается прямо в Ubuntu.

Я читал Linux Magazine (LXF), в котором было несколько статей о восстановлении и восстановлении разделов, файлов, загрузчиков и других вещей.

Один из авторов статьи упомянул простой инструмент для использования ... Boot-Repair .
Этот инструмент помог мне и, по моему мнению, должен занять видное место в репозиториях Ubuntu.

Добавьте Boot-Repair в вашу систему:

  1. Откройте окно терминала и скопируйте / вставьте / введите следующее:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Скопируйте / вставьте / введите следующее для установки и запуска Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. Основной графический интерфейс Boot-Repair теперь виден.

    Click on a button called 'Recommended repair'.
    

    Пусть инструмент делает это «волшебство».

  4. Когда магическое заклинание заканчивается,

    create a little note of the url visible. 
    
  5. Перезагрузите систему и проверьте, есть ли у вас доступ к восстановленным операционным системам.

  6. Когда нет успеха, используйте URL, показанный в конце ремонта, чтобы обратиться за помощью.


Я не думаю, что это помогает, так как это ошибка в самом grub.
FUZxxl

Почему вы так думаете? Я сделал несколько виртуальных установок 13.04, у всех была одна и та же проблема. Отредактировал grub.cfg, результатов нет. Это не решило сообщение «разреженный файл не разрешен» для меня вообще. GRUB даже не было видно. После того, как я попробовал решение, которое я представил в своем посте ранее сегодня, оно работало как шарм и до сих пор есть.
С Шильдер

К сожалению, не работает в 14.04 Trusty amd64
loser114491
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.