สิ่งที่คุณพยายามบรรลุคือยืดเทคโนโลยีการบูต :) อย่างไรก็ตามฉันคิดว่าเป็นไปได้แม้ว่าฉันจะไม่มีความรู้เพียงพอที่จะให้การเดินผ่านที่สมบูรณ์
ก่อนอื่นต้องบอกว่า distros มีข้อกำหนดที่แตกต่างกันมาก ประการที่สองสิ่งที่ดีในทางกลับกันคุณสามารถหา distros ที่ต้องการความต้องการน้อยที่สุด
ฉันอยากจะแนะนำให้ใช้ GRUB4DOS เป็น bootloader ดูลิงก์นี้วิธีใช้กับ USB (เพราะมีคำสั่ง find - set root - ซึ่งเป็นสิ่งสำคัญหากคุณมีอุปกรณ์พกพาเช่น USB)
จากนั้นคุณต้องตัดสินใจว่าจะใช้พาร์ติชั่นกี่ตัว มาตรฐาน "การติดตั้งแบบเต็ม" จะอยู่ในพาร์ติชันเดียวเสมอ ดังนั้นหากคุณมีก้าน USB ขนาด 8 GB และใช้พาร์ติชั่น 4 GB (ซึ่งอนุญาตให้ติดตั้งได้น้อยที่สุด) คุณจะถูก จำกัด การติดตั้งแบบเต็ม "2 หลัก" ของ distros หลักอย่าง Debian หรือ Fedora
อย่างไรก็ตามมีการแจกแจงลินุกซ์ขนาดเล็กและพิเศษ ตัวอย่างเช่น "Puppy Linux" มีขนาดเล็กมากและมีโหมด "Frugal Installation" พิเศษ มันมีหลายรสชาติ (เช่นมี MacPup พร้อมพยายามที่จะใช้ Apple เช่น Desktop หรือ Fatdog64 ซึ่งเป็น Linux 64 บิต)
ในโหมด "การติดตั้งแบบประหยัด" มันใช้ไดเรกทอรีเพียง 1 ไดเรกทอรีเท่านั้นและสามารถติดตั้งแบบขนานกับ Linux หรือ Windows ที่มีอยู่บนฮาร์ดดิสก์ (หรือ USB) ฉันแน่ใจว่ามีการแจกแจงอื่น ๆ ที่สนับสนุนโหมดที่คล้ายกัน
เนื่องจาก Puppy Linux มีขนาดเล็ก (<150 MB) และสมมติว่าคุณจองไฟล์บันทึกขนาดเล็กสำหรับการติดตั้งแต่ละครั้ง (512 MB) คุณจึงสามารถติดตั้งระบบปฏิบัติการ 10 ระบบได้อย่างง่ายดายบน USB Stick มีลินุกซ์ขนาดเล็กกว่า (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
menu.lst บน USB ของคุณอาจมีลักษณะคล้ายกันคำสั่ง GRUB4DOS
find --set-root --ignore-floppies /lupq511/initrd.gz
(ค้นหาไฟล์นี้ในไดรฟ์ทั้งหมด) อาจมีประโยชน์มากหากคุณใช้ USB ดังนั้นคุณไม่จำเป็นต้องใช้รายการคงที่สำหรับไดรฟ์ของคุณ
จากข้อมูลข้างต้นมีความคิดเห็นเกี่ยวกับคำถามต้นฉบับของคุณ:
ถาม: * ฉันเข้าใจว่าโฟลเดอร์ / boot / img / [SystemName] จะเก็บอิมเมจสำหรับระบบเฉพาะซึ่งอาจใช้เคอร์เนล Linux รุ่นต่างๆ (หรือเดียวกัน) ที่เก็บไว้ในไดเรกทอรี / boot / kernel (อย่างน้อย นั่นเป็นวิธีที่ฉันต้องการตั้งค่า)
ตอบ: ฉันไม่แน่ใจว่าจะใช้งานได้หรือไม่เนื่องจากการกระจายที่สำคัญส่วนใหญ่คาดว่าจะมีสิทธิ์ในพาร์ติชันของพวกเขาและติดตั้งโครงสร้างไดเรกทอรีเฉพาะสำหรับไฟล์ของพวกเขา ในความคิดของฉันมันจะดีกว่าที่จะเคารพการตั้งค่าเริ่มต้นและให้สิ่งที่การกระจายคาดว่าคือบางคนต้องการพาร์ติชันพิเศษบางคนจะมีความสุขกับเพียงไดเรกทอรีในพาร์ทิชันที่ใช้ร่วมกัน ฉันไม่ได้บอกว่ามันเป็นไปไม่ได้ที่จะติดตั้งหลาย ๆ พาร์ติชันเป็น 1 พาร์ติชั่นในแบบที่ไม่ใช่ค่าเริ่มต้น แต่มันขอร้องให้มีปัญหา วิธีแก้ปัญหาที่เป็นไปได้ที่ฉันพูดถึงที่ด้านล่างของโพสต์ของฉัน (ติดตั้ง "เหมือน Wubi")
ถาม: * อย่างไรก็ตามระบบเหล่านี้ส่วนใหญ่มีเพียงเคอร์เนลในไดเรกทอรีที่เรียกว่า "linux" (ไม่ได้ระบุรุ่น) ฉันสามารถค้นหาเคอร์เนลเหล่านี้ใช้ทั้งหมด แต่สิ่งที่ดีที่สุดที่จะได้รับเมล็ดตัวเองเพื่อคัดลอกไปยัง / boot / kernel?
A: ฉันคิดว่าเมล็ดควรไปที่นั่นตรงที่การกระจายมักจะมีพวกเขา ไม่จำเป็นต้องจัดเก็บไว้ในโฟลเดอร์ / boot / kernel แยกต่างหากและฉันก็ไม่แนะนำให้ลองแชร์ระหว่างดิสทริบิวชัน พื้นที่เก็บข้อมูลมีน้อยสำหรับเคอร์เนล (เช่น 2-3 MB) มีหลายรุ่นและหลายรุ่นย่อยและบางครั้งก็มีแพทช์เฉพาะที่ใช้กับเมล็ดของการกระจาย หากต้องการปลั๊กอินในเคอร์เนลที่แตกต่างกัน / ยังไม่ทดลองนั้นเป็นการทดลองที่ไม่จำเป็น
ถาม: * หลังจากได้รับเมล็ดฉันคิดว่าส่วนที่เหลือส่วนใหญ่จะคัดลอกอุปกรณ์ไปที่ / boot / img / และสร้างรายการที่เหมาะสมในเมนู ฉันสามารถทำสิ่งนั้นบนระบบตามพื้นฐานของระบบเมื่อฉันได้รับเมล็ดเพื่ออ้างถึง
ตอบ: ดังที่กล่าวไว้ก่อนหน้านี้ให้สร้างพาร์ติชันแยกต่างหากสำหรับการแจกแจงที่ต้องการและผสมในการกระจายที่ไม่โลภในโฟลเดอร์ของตัวเอง รักษาเคอร์เนลเริ่มต้นและส่วนที่เหลือของ distro เป็นหน่วย
หนึ่งความคิดสุดท้าย หากคุณไม่ต้องการใช้พาร์ติชันที่แตกต่างกันคุณสามารถลองติดตั้ง "WUBI" เพื่อ distros ที่ต้องการติดตั้งแบบเต็มในพาร์ติชันของตัวเอง ซึ่งหมายความว่าคุณสร้างไฟล์ขนาดใหญ่ด้วยระบบไฟล์ ext2 / ext3 ของตัวเองบน USB จากนั้นติดตั้งเป็น "ไดรฟ์" และติดตั้งระบบปฏิบัติการลงในมัน (ฉันเรียกมันว่า WUBI เพราะเป็นแอปพลิเคชั่นที่รู้จักกันดีที่สุด)
ต่อไปนี้ควรเป็นรายการเมนู Grub4dos เพื่อบู๊ต "ติดตั้ง 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
จากที่นี่
คุณจะเห็นว่ามีคำสั่ง "set root" 2 คำสั่งที่สองหลังจาก "root.disk" ซึ่งมี Linux ติดตั้งเป็น loop0
ฉันหวังว่าฉันจะให้ความคิดบางอย่างได้แม้ว่ามันจะไม่สมบูรณ์แบบ