Те, що ви намагаєтеся досягти, - це технологія розтягування завантаження :) Однак я думаю, що це можливо, хоча я недостатньо обізнаний, щоб дати повне проходження.
По-перше, як говорилося раніше, дистрибуція має дуже різні вимоги. По-друге, добре з іншого боку, ви також можете знайти дистрибутиви, які потребують мінімальних вимог.
Я рекомендую використовувати GRUB4DOS як завантажувач. Дивіться це посилання, як користуватися ним через USB (оскільки він має команду find --set root - команда, що важливо, якщо у вас мобільний пристрій на зразок USB).
Тоді ви повинні вирішити, скільки розділів ви будете використовувати. Стандартна "Повна установка" завжди знаходиться в одному розділі. Отже, якщо у вас є USB-накопичувач на 8 ГБ і ви маєте 4 Гб розділ (що дозволяє мінімально встановити), ви обмежуєтесь двома різними "Повними встановленнями" основних дистрибутивів, як Debian або Fedora.
Однак є деякі невеликі та спеціалізовані дистрибутиви Linux. Наприклад, "Щеня Linux" дуже маленький і має спеціальний режим "Економна установка". Він має багато ароматів (наприклад, існує MacPup із спробами впровадити Apple, такий як Desktop, або Fatdog64, який є 64-розрядним Linux).
У цьому режимі "Ненадійної установки" він просто використовує рівно 1 каталог і може бути встановлений паралельно існуючим Linux або Windows на жорсткому диску (або USB). Я впевнений, що є й інші дистрибутиви, які підтримують подібні режими.
Оскільки Puppy Linux невеликий (<150 Мб) і якщо ви резервуєте невеликий файл збереження для кожної установки (512 МБ), ви можете легко встановити на USB-накопичувач 10 різних операційних систем. Є ще менші Linux (Slitaz, Tinycore), якими ви могли б користуватися.
Наприклад, я додаю файл menu.lst (GRUB4DOS) з моєї поточної установки на ПК. Перші 8 записів - це всі різні установки Puppy Linux на hd0,2 (тобто 3-й розділ на 1-му жорсткому диску), тоді є мінімальний Встановлення Debian у невеликий додатковий розділ, а також оригінальний Windows-XP.
timeout=10
default=0
title Linux Buero (on /dev/sda3)
root (hd0,2)
kernel /puppy431-de/vmlinuz psubdir=puppy431-de pkeys=de ro vga=normal
initrd /puppy431-de/initrd.gz
title Live CD build (on /dev/sda3)
root (hd0,2)
kernel /puppylivecdbuild/vmlinuz psubdir=puppylivecdbuild ro vga=normal
initrd /puppylivecdbuild/initrd.gz
title sage developement(on /dev/sda3)
root (hd0,2)
kernel /Sage46dev/vmlinuz psubdir=Sage46dev pfix=nocopy ro vga=normal
initrd /Sage46dev/initrd.gz
title sage developement test and fun
root (hd0,2)
kernel /Sage-test/vmlinuz psubdir=Sage-test pfix=nocopy,noram ro vga=normal
initrd /Sage-test/initrd.gz
title Lupq 511
find --set-root --ignore-floppies /lupq511/initrd.gz
kernel /lupq511/vmlinuz psubdir="lupq511" pfix=nocopy pkeys=de ro vga=normal
initrd /lupq511/initrd.gz
title Lupu 520 - New kid on the block
find --set-root --ignore-floppies /lupu-520/initrd.gz
kernel /lupu-520/vmlinuz psubdir="lupu-520" pfix=nocopy pkeys=de ro vga=normal
initrd /lupu-520/initrd.gz
title wary beta (on /dev/sda3)
root (hd0,2)
kernel /wary/vmlinuz psubdir=wary ro vga=normal
initrd /wary/initrd.gz
title spup (on /dev/sda3)
root (hd0,2)
kernel /spup/vmlinuz psubdir=spup ro vga=normal
initrd /spup/initrd.gz
title Debian (on /dev/sda2)
find --set-root --ignore-floppies /initrd.img
kernel /vmlinuz root=/dev/sda2 ro
initrd /initrd.img
title Windows NT/2K/XP\nStart Windows if installed on HDD
fallback 7
find --set-root --ignore-floppies /ntldr
chainloader /ntldr
boot
Меню.lst на вашому USB може виглядати подібним чином, команда GRUB4DOS
find --set-root --ignore-floppies /lupq511/initrd.gz
(шукає цей файл на всіх накопичувачах) може бути дуже корисною, якщо ви використовуєте USB, тому вам не доведеться використовувати фіксовані записи для вашого диска.
З вищенаведеною інформацією є деякі коментарі до ваших оригінальних питань:
З: * Я розумію, що папка / boot / img / [SystemName] зберігатиме зображення для певної системи, яка може використовувати різні (або однакові) версії ядер Linux, що зберігаються в каталозі / boot / kernel (принаймні, ось як я хотів би це налаштувати)
Відповідь: Я не впевнений, чи буде це спрацьовувати, оскільки більшість основних дистрибутивів мають ексклюзивне право на свій розділ та встановлення конкретної структури каталогів для своїх файлів. На мою думку, краще дотримуватись налаштувань за замовчуванням і забезпечувати те, що очікує дистрибутив, тобто деяким потрібен ексклюзивний розділ, дехто буде задоволений просто каталогом на спільному розділі. Я не можу сказати, що неможливо встановити декілька ОС на 1 розділ не за замовчуванням, але це клопотання про проблеми, і, на мою думку, це не практично для новачків Linux. Можливе вирішення я згадую внизу своєї публікації ("Вубі-подібний" встановлюється).
Питання: * Однак у більшості цих систем просто є ядро у своїх каталогах під назвою "linux" (не вказується версія). Я можу шукати, яке ядро вони використовують, але яке найкраще місце для того, щоб самі ядра скопіювати в / boot / ядро?
Відповідь: Я думаю, що ядра повинні надходити саме там, де їх зазвичай є дистрибутиви. Немає необхідності зберігати їх в окремій папці / boot / kernel, і я також не рекомендував би намагатися ділитися ними між дистрибутивами. Місце для ядра мінімальне (наприклад, 2-3 МБ). Версій і під-версій дійсно багато, а іноді є навіть конкретні патчі, застосовані до ядер дистрибутивів. Підключення до іншого / неперевіреного ядра - це непотрібний експеримент.
З: * Після отримання ядер я думаю, що решта - це скопіювати пристрій у / boot / img / та створити належний запис у menu.lst, правильно? Я можу це робити в системі на системній основі, як тільки я можу отримати ядра для посилання.
Відповідь: Як було сказано раніше, краще створити окремі розділи для тих дистрибутивів, які їм потрібні, і змішайте не надто жадібні дистрибутиви у власних папках. Поставтеся до ядра, initrd та решти дистрибутива як до одиниці.
Остання думка. Якщо ви не хочете використовувати різні розділи, ви можете спробувати щось подібне до встановлення "WUBI" для дистрибутивів, вимагаючи повного встановлення на власний розділ. Це означає, що ви створюєте великі файли з власною файловою системою ext2 / ext3 на USB, потім монтуєте їх як "диски" та встановлюєте в неї ОС. (Я називаю це WUBI, тому що це найвідоміший додаток).
Далі має бути запис Grub4dos menu.lst для завантаження "Wubi install".
# Add the ntfs module - just needed for Installation on a Windows Partition
insmod ntfs
# Set root (normally would be sda1, or hd0,1 Change as necessary
set root=(hd0,1)
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk ro
initrd /boot/initrd/initrd.img
boot
Від сюди .
Розумієте, є 2 команди "встановити корінь", друга після "root.disk", яка містить Linux, монтується як loop0.
Я сподіваюся, що я міг би дати деякі ідеї, хоча це не є повним проходом.