Вероятно, ваша проблема заключается в том, что при локальном выходе из системы у вас прерывается подключение к Интернету и / или останавливается ssh. Изменить: вы не можете использовать Интернет без входа в локальную учетную запись. Я знаю, что это невозможно сделать без входа в систему.
Я разместил свое решение на 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"
Вы правильно думаете. :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, трудно дать какой-либо конкретный совет.