Grub2 + Loopback + LVM

Вероятно, ваша проблема заключается в том, что при локальном выходе из системы у вас прерывается подключение к Интернету и / или останавливается ssh. Изменить: вы не можете использовать Интернет без входа в локальную учетную запись. Я знаю, что это невозможно сделать без входа в систему.

0
09.03.2018, 16:17
2 ответа

Я разместил свое решение на GitHub:

Это руководство даст вам подробные инструкции о том, как установить Linux на петлевом диске LVM, загружаясь с USB-накопителя (grub и загрузочного раздела )без необходимости изменения загрузочного сектора внутреннего диска вашего ПК.

Соответствующая часть реализована скриптомhttps://github.com/antonio-petricca/buddy-linux/blob/master/assets/initramfs/lvm-loops-setup:

#!/bin/sh -e

# Antonio Petricca <antonio.petricca@gmail.com> - 17/03/2018

PREREQS=""

# Output pre-requisites

prereqs() {
    echo "$PREREQ" }

case "$1" in
    prereqs)
        prereqs
        exit 0
    ;; esac

. /scripts/functions

MNT=/host ROOT_MNT=${rootmnt}${MNT}

_log_msg "Moving LVM loops host device mount point from \"${MNT}\" to {ROOT_MNT}\"...\n"

mount -o remount,rw ${rootmnt} || panic "Cannot remount \"${rootmnt}\" R/W."

[ -d ${ROOT_MNT} ] || mkdir -p ${ROOT_MNT} || panic "Cannot create \"${ROOT_MNT}\" mount point."

mount -n -o move ${MNT} ${ROOT_MNT} || panic "Cannot move \"${MNT}\" to \"${ROOT_MNT}\"."

log_end_msg "Done"
0
28.01.2020, 02:43

Вы правильно думаете. :GRUB не может выполнить установку -от имени ядра.

GRUB полагается на системную прошивку (либо BIOS, либо UEFI )для доступа к диску, поэтому все, что он делает, основано на этих процедурах прошивки. И как только ядро ​​вступает во владение, эти подпрограммы прошивки больше не используются... и все, что может быть построено поверх них, также становится непригодным для использования, пока ОС не предоставит свои собственные драйверы для той же работы.

(В случае с BIOS 16-битные -процедуры доступа к диску становятся непригодными, поскольку ядро ​​переводит процессор в полный 32/64-битный -битный режим. В случае UEFI, я думаю, что службы доступа к диску являются одной из функций UEFI, которые становятся непригодными для использования, поскольку выполняется стандартный вызов UEFI «завершить службы загрузки», завершая UEFI-сторону передачи -аппаратного управления ОС..)

Вместо этого вам нужно настроить сценарий, который будет выполняться в initrd на очень ранней стадии :он должен активировать необходимое устройство обратной связи перед запуском LVM, или альтернативно выполнить vgscan --mknodesи/или vgchange -ay <name of the VG containing the root filesystem>после настройки петлевого устройства, если LVM уже инициализирован.

Не зная названия и версии используемого вами дистрибутива Linux, трудно дать какой-либо конкретный совет.

2
28.01.2020, 02:43

Теги

Похожие вопросы