Quello che stai cercando di ottenere è il potenziamento della tecnologia di avvio :) Tuttavia, penso che sia possibile, anche se non sono abbastanza esperto da fornire una panoramica completa.
In primo luogo, come detto prima, le distribuzioni hanno requisiti molto diversi. In secondo luogo, la cosa positiva, d'altra parte, puoi anche trovare distro che richiedono requisiti minimi.
Consiglierei di usare GRUB4DOS come bootloader. Vedi questo link come usarlo con USB (perché ha il comando find --set root -, che è importante se hai un dispositivo mobile come USB).
Quindi devi decidere quante partizioni utilizzerai. "Installazione completa" standard è sempre in una singola partizione. Quindi, se si dispone di una chiavetta USB da 8 GB e si prende una partizione da 4 GB (che consente un'installazione minima) si verrebbero limitati a 2 diverse "Installazioni complete" di distro principali come Debian o Fedora.
Tuttavia, ci sono alcune distribuzioni Linux piccole e specializzate. Ad esempio "Puppy Linux" è molto piccolo e ha una modalità speciale "Installazione frugale". È disponibile in molti modi (ad esempio c'è MacPup con tentativi di implementare una Apple come Desktop o Fatdog64 che è un Linux a 64 bit).
In questa modalità "Installazione frugale" utilizza esattamente 1 directory e può essere installato in parallelo a un Linux o Windows esistente sul disco rigido (o USB). Sono sicuro che ci sono altre distribuzioni che supportano modalità simili.
Poiché Puppy Linux è piccolo (<150 MB) e supponendo di riservare un piccolo file di salvataggio per ogni installazione (512 MB), è possibile installare facilmente come 10 diversi sistemi operativi sulla chiavetta USB. Ci sono anche Linux più piccoli (Slitaz, Tinycore), che puoi usare.
Ad esempio, allego il file menu.lst (GRUB4DOS) dall'installazione corrente del mio PC, le prime 8 voci sono tutte diverse installazioni Puppy Linux su hd0,2 (ovvero la terza partizione sul primo disco fisso), quindi c'è un minimo Installazione di Debian in una piccola partizione aggiuntiva e anche l'originale 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
Il menu.lst sulla tua USB potrebbe sembrare simile, il comando GRUB4DOS
find --set-root --ignore-floppies /lupq511/initrd.gz
(cerca questo file in tutte le unità) potrebbe essere molto utile se usi USB, quindi non devi usare voci fisse per la tua unità.
Con le informazioni di cui sopra alcuni commenti sulle tue domande originali:
D: * Comprendo che la cartella / boot / img / [NomeSistema] memorizzerà l'immagine per un sistema specifico, che può utilizzare varie (o uguali) versioni dei kernel Linux archiviate nella directory / boot / kernel (almeno, è così che mi piacerebbe installarlo)
A: Non sono sicuro che funzionerà, poiché la maggior parte delle principali distribuzioni prevede di avere il diritto esclusivo della propria partizione e installare una struttura di directory specifica per i propri file. A mio avviso, è meglio rispettare l'impostazione predefinita e fornire ciò che la distribuzione si aspetta, ad esempio alcuni hanno bisogno di una partizione esclusiva, alcuni saranno soddisfatti solo di una directory su una partizione condivisa. Non dico che non sia possibile installare più SO su 1 partizione in modo non predefinito, ma sta chiedendo problemi e secondo me non è pratico per un nuovo arrivato Linux. Una possibile soluzione che menziono in fondo al mio post (installazioni "simili a Wubi").
D: * Tuttavia, la maggior parte di questi sistemi ha un kernel nelle loro directory chiamato "linux" (non indicando la versione). Posso cercare quale kernel usano tutti, ma qual è il posto migliore per far copiare i kernel stessi in / boot / kernel?
A: Penso che i kernel dovrebbero andare esattamente lì dove le distribuzioni li hanno normalmente. Non è necessario memorizzarli in una cartella / boot / kernel separata e inoltre non consiglierei di provare a condividerli tra le distribuzioni. Lo spazio di archiviazione è minimo per un kernel (come 2-3 MB). Esistono davvero molte versioni e sotto-versioni e talvolta ci sono persino patch specifiche applicate ai kernel delle distribuzioni. Plugin in un kernel diverso / non testato è un esperimento non necessario.
D: * Dopo aver ottenuto i kernel, immagino che il resto stia copiando principalmente il dispositivo in / boot / img / e creando la voce corretta in menu.lst, giusto? Posso farlo su un sistema per sistema una volta che riesco a far riferimento i kernel.
A: Come accennato in precedenza, creare meglio partizioni separate per quelle distribuzioni che ne hanno bisogno e mescolare le distribuzioni non così avide nelle proprie cartelle. Tratta kernel, initrd e il resto della distribuzione come un'unità.
Un'ultima idea. Se non si desidera utilizzare partizioni diverse, è possibile provare qualcosa come installazioni "WUBI" per le distribuzioni che richiedono un'installazione completa sulla propria partizione. Ciò significa che si creano file di grandi dimensioni con i propri filesystem ext2 / ext3 su USB, quindi li si monta come "unità" e si installa il sistema operativo al suo interno. (Lo chiamo WUBI, perché questa è l'applicazione più conosciuta).
Quanto segue dovrebbe essere una voce menu.lst di Grub4dos per avviare una "installazione di Wubi".
# 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
Da qui .
Vedete, ci sono 2 comandi "set root", il secondo dopo "root.disk" che contiene Linux, è montato come loop0.
Spero di poter dare alcune idee, anche se non è un passaggio completo.