Учебники (How-To & F.A.Q)

Обходим проблему GRUB - boot diskfilter writes are not supported на LVM или RAID

Описание ошибки

При запуске системы, после вывода меню загрузчика GRUB появляется на экране ошибка:

Учебники (How-To & F.A.Q): Исправляем ошибку GRUB - boot diskfilter writes are not supported на LVM или RAID

boot diskfilter writes are not supported

Этот bug (ошибка) хорошо изложен здесь. Ниже дан небольшой отрывок из оригинального ответа, его перевод и инструкция по устранению проблемы.

Краткое описание работы GRUB влияющая на проблему

Когда GRUB загружается, он зачитывает переменные окружения (environment variables) из ранее сохраненного файла /boot/grub/grubenv. Этот файл называется GRUB Environment Block. Из документации GRUB:

Часто полезно иметь возможность запоминать небольшое количество информации от одной загрузки к другой. Например, вы можете захотеть установить пункт меню по умолчанию на основе того, что было выбрано в последний раз. GRUB намеренно не реализует поддержку записи файлов, чтобы минимизировать вероятность того, чтобы загрузчик в случае чего, не отвечал за повреждение файловой системы. Поэтому, файл конфигурации GRUB не может просто создать файл обычным способом. Тем не менее, GRUB предоставляет «environment block», который можно использовать для сохранения небольшого количества состояния.

environment block представляет собой предварительно выделенный 1024-байтовый файл, который обычно находится в /boot/grub/grubenv. Во время загрузки, команда load_env загружает из нее переменные среды, а команда save_env сохраняет в ней переменные среды. Из работающей системы утилиту grub-editenv можно использовать для редактирования environment block.

По соображениям безопасности это хранилище доступно только при установке на обычном диске (без LVM или RAID), с использованием файловой системы без контрольной суммы (не ZFS) и с использованием функций BIOS или EFI (не ATA, USB или IEEE1275).

grub-mkconfig использует эту возможность для реализации GRUB_SAVEDEFAULT

Поведение чтения environment block можно найти в /etc/grub.d/00_header (update-grub использует этот файл для генерации файла /boot/grub/grub.cfg):

if [ -s $prefix/grubenv ]; then
  load_env
fi

Проблема с командой чтения load_env не проявляется, но проявляется с командой сохранения save_env которая сохраняет переменные окружения только на простых разделах диска (она не может запуститься внутри диска RAID или LVM как следует из документации).

Простое решение

Простое решение заключается в том, чтобы отключить в конфиге использование команды записи save_env выставив запрет на её использование в конфигурационном файле /etc/default/grub:

GRUB_SAVEDEFAULT="false"

Затем, следует сгенерировать конечный конфиг-файл GRUB'а /boot/grub/grub.cfg с обновленными параметрами командой:

sudo update-grub

Минусы этого решения не значительны:
  • Не будет возможности сохранять/запоминать состояние между перезагрузками системы. Например, не будет возможности при выборе другого пункта меню загрузки GRUB запомнить его как дефолтный.
  • Если содержимое GRUB в /boot/grub перенесётся вами на другой раздел, на котором файловые системы будут поддреживаться GRUB'ом, то потребуется установить опцию равную значению true, а затем обновить конфиг GRUB'а запустив sudo update-grub
Блог им. microcoder

Dual boot с Win10 и ошибка - boot diskfilter writes are not supported

Всем привет!

Столкнулся с проблемой, при загрузке системы, после меню Grub'а получаю следующую ошибку:

Блог им. microcoder: boot diskfilter writes are not supported

boot diskfilter writes are not supported

Ошибка не критичная, система спустя несколько секунд грузится и работает отлично, но хотелось бы узнать, что это? Внятного, понятного мне, в гугле ничего не нашёл. Какая-то проблема с grub, а какая? Не могу понять. Помогите разобораться, что это и как исправить?

Диск разбит следующим образом, grub находится на LVM2 разделе. Может из-за этого ошибка? Куда посоветуете установить/перенести grub? И как это сделать? И надо ли? )))

Блог им. microcoder: Dual boot с Win10 и ошибка - boot diskfilter writes are not supported

LVM разделы:

Блог им. microcoder: LVM
Manjaro XFCE Edition

Восстановление системы

Подскажите правильный порядок дествий
Загружаемся с Live образа

Система имеет следующую разметку:
/dev/sda3 fat32 boot/efi
/dev/sda1 ext4 /
/dev/sda2 ext4 /home

Правильные ли мои действия и команды
1.sudo mount /dev/sda1 /mnt
2.sudo mount /dev/sda3 /boot/efi
2.sudo pacman -Syyuu
3.sudo pacman -S mhwd-chroot
4.sudo mhwd-chroot
5.cd /mnt
6.grub install /dev/sda3 -boot-directory=/boot/efi
7.update-grub
Уголок новичка

Отключать Плимут по Esc

Народ, нужна помощь!
На других дистрах, нажимаешь «Эскейп» и видишь «буковки» загрузки. На Манджаро, такой трюк провернуть чего-то не выходит.
Добавил в /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash=silent logo.nologo nomodeset"

Не помогает. Почему?
P.S. В интернете куча инструкций, как вообще отключить Плимут. Я не хочу отрубать его насовсем, только смотреть на «загрузку» при надобности.
Manjaro Other

grub_key_is_interrupt

Здравствуйте. Сделал загрузочную флешку (с помощью rufus) с Manjaro Cinnamon. Пробую загрузиться с флешки и получаю надпись:
error: symbol 'grub_key_is_interrupt' not found.
Entering rescue mode…
grub rescue>

Подскажите, что я делаю не так? Как исправить?
Уголок новичка

Сжатие btrfs и grub в Manjaro

Итак, поставил значит Манджару.
Теперь вот хочу врубить сжатие zstd (на крайняк lzo) для корня и хомяка.
Граб в манджаре со сжатой btrfs грузиться вообще умеет?
Судя по всему, в Манджаре просто grub, не grub2? Чет, инфы не нашел.
Уголок новичка

Grub customizer

Всем доброго дня! У меня на компе стоит винда и дебиан, установил еще манджаро, но что-то с grub не могу разобраться, когда начинаю делать в grub обновление конфигурации, то вылазит вот такое сообщение:
Генерируется файл настройки grub …
Найдена тема: /usr/share/grub/themes/manjaro/theme.txt
Найден образ linux: /boot/vmlinuz-4.19-x86_64
Найден образ initrd: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
Найден Windows 10 на /dev/sda1
Найден Debian GNU/Linux 9 (stretch) на /dev/sdc6
Найден образ linux: /boot/vmlinuz-4.19-x86_64
Найден образ initrd: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
Найден Windows 10 на /dev/sda1
Найден Debian GNU/Linux 9 (stretch) на /dev/sdc6
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ image: /boot/memtest86+/memtest.bin
ошибка: syntax error.
ошибка: Incorrect command.
ошибка: syntax error.
Синтаксическая ошибка в строке 352
В сгенерированном файле настроек GRUB обнаружены синтаксические ошибки.
Убедитесь, что в файлах /etc/default/grub
и /etc/grub.d/* ошибки отсутствуют или пошлите сообщение об ошибке
в прикреплённым файлом /boot/grub/grub.cfg.new.
Если устанавливаю загрузчик от Дебиан, то потом не запускается манджаро…
Уголок новичка

Смена языка

Установил менеджер дисплеев LXDM. Пароль на английском. При входе не получается перевести на английскую раскладку. Только русская. Из GRUB'2 через init=/bin/bash изменить пароль тоже не получается, т.к. почему-то при нажатии кнопки «b» ничего не меняется (а это основная инструкция из Инета по смене пароля). У меня установлена ещё одна ОС Линукс, поэтому могу зайти в / Manjaro, и для Manjaro имеется ещё один DM. Уважаемые знатоки, объясните, как можно поменять пароль/язык/DM или ещё чего, чтобы попасть в Manjaro?
Уголок новичка

Manjaro сломал порядок загрузки

После установки Manjaro KDE изменился порядок загрузки в биосе. Как видно на скриншоте (https://imgur.com/v9BJNWH), первым в порядке очереди стоит Manjaro. Вероятно из-за этого в начале загрузки выскакивает ошибка check cable connection! pxe-mof exiting intel pxe rom. Также Grub не видит загрузчик Windows. В биос не могу зайти, после нажатия F2 (ноутбук Lenovo) все равно грузится grub. Manjaro загружается отлично. Перепробовал все, что мог сам. Efibootmgr пишет «No BootOrder is set; firmware will attempt recovery».

Вот таблица разделов:

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип

/dev/sda1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT

/dev/sda2 206848 469871154 469664307 224G 7 HPFS/NTFS/exFAT

/dev/sda3 623472640 625135615 1662976 812M 27 Скрытый NTFS WinRE

/dev/sda4 469872640 623472639 153600000 73,2G 5 Расширенный

/dev/sda5 504692736 508887039 4194304 2G 82 Linux своп / Solaris

/dev/sda6 469874688 504690687 34816000 16,6G 83 Linux

/dev/sda7 508889088 622962687 114073600 54,4G 83 Linux

/dev/sda8 622964736 623472639 507904 248M b W95 FAT32

/boot/efi во время установки ставил на sda8. В линуксе новичок, прошу помочь восстановить порядок загрузки в биосе и добавить windows в grub.