2

SYSLINUX позволяет мне загружаться с USB-карты FAT16, загружая образ ядра и исходный образ ram-диска (initrd) оттуда.

Чтобы получить больше места и более быстрый доступ, я могу смонтировать раздел NTFS с жесткого диска после загрузки, а затем использовать устройство loopback, чтобы смонтировать образ файловой системы оттуда, чтобы заменить /home или даже выполнить chroot в него, но это далеко не так. процесс загрузки, делающий обновление системы невозможным.

Есть ли способ заставить сам SYSLINUX монтировать fs-образ из раздела NTFS как root fs?

Или я могу изменить образ initrd для монтирования нового root fs на более раннем этапе процесса загрузки? Я знаю, как смонтировать и изменить этот образ, но я потерял в скриптах и не знаю, когда и как они выполняются.

1 ответ1

2

Да, это возможно И это даже работает со встроенными функциями. Просто отредактируйте свой 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .