tl; dr - Можно ли загружаться из файла .iso, который находится на незашифрованном логическом томе lmv2? Как?
Я пытаюсь настроить это на виртуальной машине VirtualBox, прежде чем я сделаю это по-настоящему на своем ноутбуке. У меня есть следующие настройки:
- 4 gpt разделы
- gpt1 - 2M ef02 bios boot
- gpt2 - 5G незашифрованные, не lvm, для разных данных, iso и т. д.
- gpt3 - 5G незашифрованный lvm, для / boot, iso's и т. д.
- gpt4 - остальные, lvm, зашифрованные с помощью dm-crypt / luks, для root, swap, home и т. д.
- в gpt2 у меня есть копии текущих Arch и Xubuntu iso's
- в gpt3 у меня есть lvm2 lv с теми же копиями того же iso's
У меня есть следующие рабочие:
- в gpt4 функционирует установка Arch и Xubuntu (и в какой-то момент хотелось бы добавить другие дистрибутивы в другие логические тома)
- grub2 установлен из Arch на / dev / sda
- используя команду grub2 configfile, можете переключаться и загружаться из обоих дистрибутивов меню grub2
- могу загружать iso из меню grub из не-lvm gpt2
То, что я хотел бы сделать, это загрузиться с iso в gpt3 lvm (и, в конечном счете, даже не иметь раздел gpt2 non-lvm).
Моя запись в Grub:
menuentry "Xubuntu ISO" {
set isofile="/xubuntu-12.04.1-desktop-amd64.iso"
# from non-lvm
loopback loop (hd0,gpt2)$isofile
# from lvm
#loopback loop (vgboot-iso)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
2 петлевые линии указывают на 2 разных копии одного и того же iso. Я проверил в командной строке grub, что обе петлевые линии работают.
При загрузке с iso в раздел не-lvm все работает нормально.
При загрузке с iso в разделе lvm, загрузка начинается, и в конечном итоге получает эту ошибку:
(initramfs) /scripts/casper-premount/20iso_scan: line 46: can't open /dev/sr0: No medium found
Для арочной записи:
menuentry "Arch ISO" {
set isofile="/archlinux-2012.09.07-dual.iso"
loopback loop (hd0,gpt2)$isofile
#loopback loop (vgboot-iso)$isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201209 img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}
загрузка из gpt2 iso работает, но я не знаю, что изменить в / dev / sda2 для загрузки lvm.
РЕДАКТИРОВАТЬ: это может быть сделано? Для какого-либо официального файла .iso дистрибутива Linux? Fedora? Debian? OpenSUSE? CentOS?
Это невозможно? Или это что-то, что никто не думал попробовать раньше?
РЕДАКТИРОВАТЬ 2: Моя награда давно истекла, и через 9 месяцев я предполагаю, что это просто невозможно с любым дистрибутивом Linux. Я оставлю вопрос открытым, но я сомневаюсь, что в ближайшее время найдется рабочее решение.
search
является одним из логического тома, содержащего файл ISO, не так ли? Чтобы получить это, вы должны сделатьsudo blkid
.Вдохновленный этим простым решением для Ubuntu , я использовал следующее, которое работает для загрузки iso Fedora 27 KDE и iso Ubuntu 17.10.
Я просто добавил следующие строки в файл
/etc/grub.d/40_custom
объяснение
set iso_path
определяет путь, по которому файл iso можно найти на логическом томе. Когда я запускаю свою систему, она лежит/home/erik/Downloads/transmission/Fedora-KDE-Live-x86_64-27/Fedora-KDE-Live-x86_64-27-1.6.iso"
, но/home
является подключенным логическим томом, поэтому я оставляю это и начинаю путь с/erik/Downloads/…
Строка, начинающаяся с,
search
имеет странную буквенно-цифровую переменную (так называемый UUID) в конце, которая начинается с6340
. Я получил этот номер от командыкоторый дал мне, наряду с другими, следующую строку
Затем, другой важной вещью, если вы хотите загрузить другие iso-файлы, являются строки, начинающиеся с
linux
иinitrd
. Я получил их, открыв файл iso с помощьюfile-roller
(графический интерфейс для извлечения сжатых архивов) илиmc
(консольный файловый менеджер).Fedora и аналогичные: там вы идете в каталог
/isolinux
, где вы найдете файл с именемisolinux.cfg
. Там я нашел несколько строк, начинающихся сlabel
, а под ними следующие важные строкикоторый вы будете использовать, чтобы заполнить последние две строки моего grub2
menuentry
.Ubuntu и аналогичные: там вы идете в каталог
/boot/grub
, где вы найдете файл с именемgrub.cfg
. Здесь вы найдете несколько строк, начинающихся сmenuentry
, а под ними следующие важные строкикоторый вы можете просто скопировать.
источник
Я думаю, что это невозможно для официального дистрибутива большинства файлов iso.
Ошибка, которую вы получаете:
означает, что при загрузке живая система, которую вы запускаете, ищет диск CD / DVD и не находит его.
Live CD не настроены на поиск их исходного iso в LVM; Вы можете изменить загрузочные сценарии образа, чтобы сделать это, но я не думаю, что какой-либо текущий официальный файл дистрибутива .iso делает это. Вы можете попытаться связаться с разработчиками вашего любимого дистрибутива, чтобы интегрировать это возможно?
источник
Вы можете попробовать это:
Добавьте это в начале меню меню:
Затем укажите свой раздел LVM с помощью:
Итак, ваша запись Xubuntu ISO будет выглядеть так:
Пожалуйста, внесите исправления по мере необходимости.
Это должно заставить GRUB распознавать том lvm2, что позволяет читать в нем файл ISO. Однако, вероятно, ISO все еще не будет найден ...
источник
Просто точка на этом:
ISO при загрузке должен монтировать iso, поэтому должен знать, как его найти.
Grub2 может видеть ISO с помощью команд insmod ..., но это не делает ничего, кроме как позволить Grub2 читать внутри ISO, монтировать его в цикле и т. Д., Но как только Linux внутри ISO запускает LVM / LUKS / loop / etc не там (не смонтирован), загрузочные скрипты внутри ISO должны знать, как монтировать этот LVM / LUKS / loop; поэтому, если этот Linux не готов к этому, загрузка с него невозможна.
Пример без LVM, LUKS и т. Д. ... если обычный ISO-образ Linux LiveCD не предназначен для поиска и монтирования цикла в файл .iso во время загрузки, его загрузка с Grub2 будет невозможна (с .iso как файл).
В таких случаях вам необходим аппаратный эмулятор CD / DVD (если используется реальное оборудование) или просто смонтируйте .iso на виртуальном CD / DVD-устройстве виртуальной машины.
Другой вариант, конечно, заключается в том, чтобы «отредактировать» такой ISO для включения при загрузке некоторых скриптов для поиска и монтирования LVM / LUKS / и т. Д.
источник