당신이 달성하려고하는 것은 부트 기술을 늘리는 것입니다.
첫째, 앞에서 말했듯이 배포판에는 요구 사항이 매우 다릅니다. 둘째, 좋은 점은 최소한의 요구 사항이 필요한 배포판을 찾을 수도 있다는 것입니다.
GRUB4DOS를 부트 로더로 사용하는 것이 좋습니다. 이 링크 는 USB와 함께 사용하는 방법을 참조하십시오 (find --set root-명령이 있기 때문에 USB와 같은 모바일 장치가있는 경우 중요합니다).
그런 다음 사용할 파티션 수를 결정해야합니다. 표준 "전체 설치"는 항상 단일 파티션에 있습니다. 따라서 8GB USB 스틱이 있고 최소 설치를 허용하는 4GB 파티션을 사용하는 경우 데비안이나 페도라와 같은 주요 배포판의 두 가지 "전체 설치"로 제한됩니다.
그러나 작고 특화된 Linux 배포판이 있습니다. 예를 들어 "Puppy Linux"는 매우 작으며 특수한 "Frugal Installation"모드가 있습니다. 그것은 여러 가지 맛이 있습니다 (예 : MacPup은 데스크탑과 같은 Apple 또는 64 비트 Linux 인 Fatdog64를 구현하려고 시도합니다).
이 "고급 설치"모드에서는 정확히 1 개의 디렉토리 만 사용하며 하드 디스크 (또는 USB)의 기존 Linux 또는 Windows와 병렬로 설치할 수 있습니다. 비슷한 모드를 지원하는 다른 배포판이 있다고 확신합니다.
Puppy Linux는 크기가 작고 (<150MB) 각 설치마다 작은 저장 파일을 예약한다고 가정하면 (512MB) USB 스틱에 10 개의 서로 다른 운영 체제를 쉽게 설치할 수 있습니다. 사용할 수있는 더 작은 Linux (Slitaz, Tinycore)도 있습니다.
예를 들어, 현재 PC 설치에서 menu.lst (GRUB4DOS) 파일을 첨부합니다. 처음 8 개 항목은 hd0,2 (예 : 첫 번째 hardisk의 세 번째 파티션)에서 모두 다른 Puppy Linux 설치입니다. 작은 여분의 파티션과 원래 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
USB의 menu.lst가 비슷하게 보일 수 있으므로 GRUB4DOS 명령
find --set-root --ignore-floppies /lupq511/initrd.gz
(모든 드라이브에서이 파일을 찾습니다)은 USB를 사용하는 경우 매우 유용 할 수 있으므로 드라이브에 고정 된 항목을 사용할 필요가 없습니다.
위의 정보를 통해 원래 질문에 대한 의견을 제시하십시오.
Q : * / boot / img / [SystemName] 폴더는 특정 시스템의 이미지를 저장한다는 것을 알고 있습니다.이 시스템은 / boot / kernel 디렉토리에 저장된 다양한 (또는 동일한) 버전의 Linux 커널을 사용할 수 있습니다 (최소한 그게 내가 설정하고 싶은 방법입니다)
A : 대부분의 주요 배포판은 파티션에 대한 배타적 권리를 갖고 파일에 대한 특정 디렉토리 구조를 설치해야하므로 잘 작동하는지 확실하지 않습니다. 내 의견으로는 기본 설정을 존중하고 배포에 필요한 것을 제공하는 것이 좋습니다. 즉 일부는 독점 파티션이 필요하고 일부는 공유 파티션의 디렉토리에 만족할 것입니다. 나는 기본이 아닌 방식으로 여러 개의 OS를 1 파티션에 설치할 수 없다고 말하지는 않지만 문제가 있기를 간절히 바라며 Linux 초보자에게는 실용적이지 않습니다. 게시물 맨 아래에 언급 할 수있는 가능한 해결 방법 ( "Wubi 유사"설치).
Q : * 그러나 이러한 시스템의 대부분은 "linux"(버전을 명시하지 않음)라는 디렉토리에 커널을 가지고 있습니다. 이 커널이 모두 사용하는 커널을 검색 할 수 있지만 커널 자체를 / boot / kernel에 복사 할 수있는 가장 좋은 곳은 무엇입니까?
A : 커널은 배포판이있는 곳으로 정확히 가야한다고 생각합니다. 별도의 / boot / kernel 폴더에 저장할 필요가 없으며 배포간에 공유하지 않는 것이 좋습니다. 커널의 저장 공간은 최소 2-3MB입니다. 실제로 많은 버전과 하위 버전이 있으며 때로는 배포판 커널에 적용되는 특정 패치가 있습니다. 다른 / 예상치 않은 커널에 플러그인하는 것은 불필요한 실험입니다.
Q : * 커널을받은 후 나머지는 대부분 장치를 / boot / img /에 복사하고 menu.lst에 올바른 항목을 생성한다고 상상하십니까? 커널이 참조 할 수있게되면 시스템 단위로 시스템에서이를 수행 할 수 있습니다.
A : 앞에서 언급했듯이, 배포판이 필요한 배포판에 대해 별도의 파티션을 더 잘 만들고 자체 폴더에 욕심없는 배포판을 혼합하십시오. 커널, initrd 및 나머지 배포판을 하나의 단위로 취급하십시오.
마지막 아이디어. 다른 파티션을 사용하지 않으려면 자체 파티션에 전체 설치를 요구하는 배포판에 대해 "WUBI"설치를 시도해보십시오. 즉, USB에 자체 ext2 / ext3 파일 시스템을 사용하여 큰 파일을 만든 다음 "드라이브"로 마운트하고 OS를 설치해야합니다. (이것은 가장 잘 알려진 응용 프로그램이므로 WUBI라고 부릅니다).
다음은 "Wubi 설치"를 부팅하기위한 Grub4dos menu.lst 항목이어야합니다.
# 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
에서 여기 .
리눅스를 포함하고있는 "root.disk"다음에 2 번의 "set root"명령이 loop0으로 마운트 된 것을 볼 수 있습니다.
완전한 연습이 아니지만 몇 가지 아이디어를 줄 수 있기를 바랍니다.