Ulaşmaya çalıştığınız şey çizme teknolojisini esnetmektir :) Bununla birlikte, tam bir gözden geçirme vermek için yeterince bilgili olmasam da mümkün olduğunu düşünüyorum.
İlk olarak, daha önce de belirtildiği gibi, dağıtımların çok farklı gereksinimleri vardır. İkincisi, iyi bir şey, minimum gereksinimlere ihtiyaç duyan dağıtımları da bulabilirsiniz.
Bootloader olarak GRUB4DOS kullanmanızı tavsiye ederim. USB ile nasıl kullanılacağına ilişkin bu bağlantıya bakın (çünkü USB gibi bir mobil cihazınız varsa önemli olan find --set root - komutuna sahiptir).
Sonra kaç bölüm kullanacağınıza karar vermelisiniz. Standart "Tam kurulum" her zaman tek bir bölümdedir. Bu nedenle, 8 GB'lık bir USB çubuğunuz varsa ve 4 GB'lık bölüm alırsanız (minimum yüklemeye izin verir), Debian veya Fedora gibi ana dağıtımların 2 farklı "Tam Yüklemesi" ile sınırlı olacaksınız.
Ancak, bazı küçük ve özel Linux dağıtımları vardır. Örneğin "Puppy Linux" çok küçük ve özel bir "Frugal Installation" moduna sahip. Pek çok lezzetle geliyor (örneğin, Apple gibi bir Masaüstü veya 64 bit Linux olan Fatdog64'i uygulamaya çalışan MacPup var).
Bu "Tutumlu kurulum" modunda, tam olarak 1 dizin kullanır ve sabit diskteki (veya USB'deki) mevcut bir Linux veya Windows'a paralel olarak kurulabilir. Benzer modları destekleyen başka dağıtımlar olduğundan eminim.
Puppy Linux küçük (<150 MB) olduğundan ve her kurulum (512 MB) için küçük bir kayıt dosyası ayırdığınız varsayıldığında, USB çubuğuna 10 farklı İşletim Sistemi gibi kolayca kurabilirsiniz. Kullanabileceğiniz daha küçük Linux'lar (Slitaz, Tinycore) bile var.
Örneğin, geçerli PC kurulumumdan menu.lst (GRUB4DOS) dosyasını ekliyorum, İlk 8 girişin tümü hd0,2'de (yani 1. sabit diskteki 3. bölüm) farklı Puppy Linux kurulumudur. Debian yüklemesi küçük bir ekstra bölüm ve ayrıca orijinal Windows-XP'de.
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
USB'nizdeki menu.lst benzer görünebilir, USB kullanıyorsanız GRUB4DOS komutu
find --set-root --ignore-floppies /lupq511/initrd.gz
(bu dosyayı tüm sürücülerde arar) çok yararlı olabilir, bu nedenle sürücünüz için sabit girişler kullanmanıza gerek yoktur.
Yukarıdaki bilgilerle orijinal sorularınızla ilgili bazı yorumlar:
S: * / boot / img / [SystemName] klasörünün, / boot / kernel dizininde depolanan Linux çekirdeğinin çeşitli (veya aynı) sürümlerini kullanabilen (en azından, bu şekilde kurmak istiyorum)
C: Büyük dağıtımların çoğunun kendi bölümleri için özel bir hakka sahip olmasını ve dosyaları için belirli bir dizin yapısını yüklemesini beklediğinden, bunun işe yarayıp yaramayacağını bilmiyorum. Bence varsayılan kuruluma saygı duymak ve dağıtımın ne beklediğini sağlamak daha iyidir, yani bazıları özel bir bölüme ihtiyaç duyar, bazıları paylaşılan bir bölümdeki bir dizinden memnun olacaktır. Varsayılan olmayan bir şekilde birden fazla işletim sisteminin 1 bölüme yüklenmesinin mümkün olmadığını söylemiyorum, ancak sıkıntılar için yalvarıyor ve bence bir Linux yeni gelen için pratik değil. Yazımın altında bahsettiğim olası bir geçici çözüm ("Wubi benzeri" yüklemeler).
S: * Ancak, bu sistemlerin çoğunun dizinlerinde "linux" (sürümü belirtmeden) adı verilen bir çekirdek vardır. Tüm bunların hangi çekirdeği kullandığını araştırabilirim, ancak çekirdeklerin kendilerini / boot / çekirdeğe kopyalamaları için en iyi yer hangisidir?
C: Bence çekirdekler dağıtımların genellikle sahip olduğu yere gitmeli. Bunları ayrı bir / boot / kernel klasöründe saklamanıza gerek yoktur ve dağıtımlar arasında paylaşmaya çalışmanızı da tavsiye etmem. Bir çekirdek için depolama alanı minimumdur (2-3 MB gibi). Gerçekten çok sayıda sürüm ve alt sürüm vardır ve bazen dağıtım çekirdeklerine uygulanan belirli yamalar bile vardır. Farklı / test edilmemiş bir çekirdeğe eklenti yapmak gereksiz bir deneydir.
S: * Çekirdekleri aldıktan sonra, geri kalanının çoğunlukla cihazı / boot / img / dizinine kopyaladığını ve menu.lst'de doğru girişi oluşturduğunu hayal ediyorum. Çekirdeğe başvurabildiğimde bunu sistem bazında yapabilirim.
C: Daha önce de belirtildiği gibi, onlara ihtiyaç duyan dağıtımlar için ayrı bölümler daha iyi oluşturun ve kendi klasörlerinde bu kadar açgözlü olmayan dağılımları karıştırın. Çekirdeği, initrd'i ve dağıtımın geri kalanını bir birim olarak ele alın.
Son bir fikir. Farklı bölümler kullanmak istemiyorsanız, kendi bölümlerine tam yükleme gerektiren dağıtımlar için "WUBI" yüklemeleri gibi bir şey deneyebilirsiniz. Bu, USB'de kendi ext2 / ext3 dosya sistemlerine sahip büyük dosyalar oluşturduğunuz, daha sonra bunları "sürücüler" olarak bağladığınız ve işletim sistemini yüklediğiniz anlamına gelir. (Ben WUBI diyorum, çünkü bu en iyi bilinen uygulama).
Aşağıdaki "Wubi kurulumunu" başlatmak için Grub4dos menu.lst girişi olmalıdır.
# 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
Gönderen burada .
Gördüğünüz gibi 2 "set root" komutu var, ikincisi Linux'u içeren "root.disk" den sonra loop0 olarak bağlanmış.
Umarım tam bir çözüm olmamasına rağmen bazı fikirler verebilirim.