Да, это возможно И это даже работает со встроенными функциями. Просто отредактируйте ваш, syslinux.cfg
чтобы включить следующее:
LABEL linux LINUX /boot/vmlinuz APPEND root=/dev/disk/by-label/data rootfstype=ntfs loop=images/linux_root.img loopfstype=ext4 rw INITRD /boot/initrd.img
Очевидно, вам нужно скопировать образ ядра ( vmlinuz
) и исходный образ RAM-диска ( initrd.img
) в раздел FAT, который вы хотите загрузить с помощью SYSLINUX. (Путь относительно корня разделов.)
root=
Параметр определяет устройство и разделить образ системы корневого файла лежит. Конечно, вы также можете использовать /dev/sda1
обозначение или /dev/disk/by-UUID/SOMECRYPTYCNUMBER
версию.
rootfstype
Определяет файловую систему раздела файловой системы изображения лежит на. NTFS и FAT поддерживаются "из коробки". Для более экзотических форматов вам нужно отредактировать, initrd.img
чтобы включить и загрузить соответствующие модули ядра.
loop=
дает путь к образу корневой файловой системы относительно базы раздела, на котором она лежит. loopfstype=
указывает его внутренний тип. Очевидно, он будет установлен /
после загрузки. Раздел, с которого был загружен образ, будет /host
автоматически смонтирован, если эта папка существует. (Вы не сможете смонтировать его где-либо еще, если он НЕ смонтирован там автоматически. Но вы можете переместить его в другую точку монтирования, mount -m
если она есть.)
Не забывайте копировать и перезаписывать ядро и initrd.img
раздел FAT каждый раз, когда они обновляются при обновлении системы, или при загрузке могут происходить странные вещи.
К сожалению, нет способа включить раздел подкачки таким же образом. Вы должны использовать для этого реальный раздел или попытаться найти способ активировать один после загрузки из работающей системы.
Ожидайте ок. 10% загрузки ЦП для записи в петлевое устройство, смонтированное через оболочку NTFS.