Grub на разделе LVM

Grub на разделе LVM

По сути, моя проблема заключалась в /boot (/dev/sda1), который представлял собой очень маленький раздел (88 МБ).

Используя имеющуюся на этом компьютере группу томов, я отформатировал новый том LVM (600 МБ).

Затем я скопировал содержимое /boot/ в новый раздел LVM (с помощью cpio).

Я внес umount /bootнекоторые изменения в Fstab, чтобы заменить старый раздел /boot.

Наконец, я сделал, update-grubчтобы правильно сгенерировать новый grub.cfg. Я перезагрузился, и он уже работал. Я думал, что мой новый раздел LVM был правильным, поэтому с помощью fdisk /dev/sda, я удалил /dev/sda1.

И теперь у меня при загрузке есть Grub Rescue..

Даже с Ubuntu livecd:

grub-install --modules='lvm' /dev/rootvg/bootlv

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.


grub-install --modules='lvm' /dev/sda5

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.

Та же ошибка...

Есть ли решение для установки загрузчика Grub на существующее устройство LVM?

решение1

Возможно (я полный новичок в lvm и grub) вам нужно установить grub следующим образом:

grub-install --modules='lvm' --boot-directory=/dev/rootvg/bootlv dev/sda

Чтобы поместить grub в MBR и использовать /dev/rootvg/bootlv в качестве раздела /boot, где находятся файлы grub.

Но если диск GPT и вы загружаетесь с BIOS, вам понадобится специальный раздел размером от 1 до 8 МБ типа BIOS_grub (без какого-либо форматирования, он является сырым для stage2 grub).

У меня возникли большие проблемы с загрузкой Grub2 из [U]EFI с разделом EFI и LVM, при этом раздел /boot находится внутри трехполосного RAID0 LVM, но я могу нормально загрузить его, если использовать режим загрузки BIOS.

Разделы, которые у меня есть на каждом из трех жестких дисков (все одинакового размера, положения и т. д.), в стиле GPT: GPT1: LVM (большой, остальное пространство жесткого диска) GPT2: EFI (512 МБ, FAT32) GPT3: bios_grub (8 МБ, без форматирования - RAW)

Я создаю vg на всех /dev/sd[ac]1 и внутри LVM один раздел для /boot

Я монтирую /boot с помощью: mount /dev/mapper/bla_bla_bla /boot

Я создаю на нем точку монтирования EFI (на самом деле это не обязательно, но помогает набирать меньше букв при установке grub2)

Я монтирую /dev/sda2 на /boot/efi

Затем я добавляю lvm к необходимым модулям с помощью команды:

echo GRUB_PRELOAD_MODULES=\"lvm\" >> /dev/default/grub

Затем я устанавливаю Grub2 с помощью этой команды:

grub-install --target=i386-pc /dev/sda

И вуаля, отмонтируйте и перезагрузите в режиме BIOS, и он загрузит Grub2.

Важно: перед размонтированием /boot отредактируйте /boot/grub/grub.cfg в соответствии с вашими потребностями.

И, пожалуйста, помните, что я не загружаю ОС, я только устанавливаю Grub2 внутри раздела LVM и могу загрузиться.

Примечание: Если я устанавливаю с целевой ОС x86_64-efi, отображаются два сообщения, и после этого система не загружается в режиме [U]EFI правильно, LVM недоступен.

PD: Я достиг уровня знаний, позволяющего создать два разных USB-накопителя, которые могут загружаться в режиме [U]EFI и в режиме BIOS с помощью цикла SystemRescueCD.iso, но когда я пытаюсь загрузить Grub2, находящийся внутри LVM, у меня возникают проблемы в режиме [U]EFI... Я не эксперт... Я работал с Grub2 и LVM, LUKS и т. д. Моя цель - создать очень сложную загрузку... Три USB-накопителя в RAID0 LVM без /boot вне LVM, способные загружаться на ПК только с [U]EFI и на ПК только со старым BIOS, на смешанных ПК и т. д. Я нахожусь на этапе, когда я могу загружаться как с [U]FI, так и с BIOS, если /boot находится вне LVM, а в режиме BIOS также с /boot внутри LVM, но не с [U]EFI с /boot внутри LVM.

PPD: Боюсь, что это ОШИБКА в grub2*.efi, которая не монтирует LVM, поэтому я рекомендую вам загрузиться в режиме BIOS... среди прочего я прочитал несколько статей об ArchLinux, в которых говорилось, что его можно установить на LVM без раздела /boot и с / внутри LVM, но не получил пошаговых инструкций и не могу это воспроизвести; и это не моя настоящая цель, так как я не хочу устанавливать Linux, а только Grub2... конечная настоящая цель - иметь Linux внутри большого файла, который находится внутри раздела LVM, который находится внутри раздела LUKS, который находится на разделе LVM, использующем три физических жестких диска в режиме raid0 (3 полосы), и загрузиться с USB, имеющего режимы загрузки [U]EFI и Bios с Grub2, который выполняет цепочку загрузок в Grub2, который находится внутри такого большого файла, и что Grub2 загрузит ядро, initram и т. д. изнутри такого большого файла... и т. д. правдоподобное отрицание того, что у вас такой Linux... если загрузиться с жесткого диска, будет показан зашифрованный Linux, где в его корневой файловой системе находится большой файл, о котором я упоминал, но если я загружу его с внешнего USB-накопителя, если он знает, как загрузить Linux из этого файла... режим параноика: команды для выполнения такой последовательной загрузки будут у меня на уме, а не на USB-накопителе, на USB-накопителе будет только циклическая загрузка SystemRescueCD.iso, но вместо того, чтобы выбрать его для загрузки, введите c, чтобы перейти в консоль grub, и введите эти команды для последовательной загрузки в Linux из большого файла, о котором я упоминал... я знаю, что это слишком, слишком сложно... но без трюка TrueCrypt/VeraCrypt, который в зависимости от парольной фразы монтирует фиктивную ОС или скрытую ОС, у меня нет другого выбора, поэтому я начал несколько месяцев назад с первых шагов... есть USB, который загружается на [U]EFI и на ПК только с BIOS (сделано), есть Grub2 внутри LVM (сделано для режима BIOS, ошибка в режиме [U]EFI), так много шагов идти налево.

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

Связанный контент