멀티부트 USB에서 CentOS를 설치하는 데 사용되는 ISO 파일 vmlinuz 및 initrd.gz는 무엇입니까?

멀티부트 USB에서 CentOS를 설치하는 데 사용되는 ISO 파일 vmlinuz 및 initrd.gz는 무엇입니까?

GRUB을 사용하여 다중 부팅 가능한 부팅 USB를 만들고 이를 사용하여 데비안 8.1을 성공적으로 설치했습니다. 멀티부팅 USB는 GRUB를 사용하여 부팅할 운영 체제를 선택하는 여러 운영 체제의 ISO 이미지가 포함된 USB입니다.

데비안의 경우 이것이 핵심입니다:

  1. 데비안 8.1 ISO는 하이브리드여야 합니다. 나는 그것을 다운로드했다
    http://ftp.nl.debian.org/debian-cd/8.1.0-live/amd64/bt-hybrid/

  2. vmlinuz파일은 debian -installer용 initrd.gz이어야 합니다 . hd-median나는 그것들을 다음에서 다운로드했다. http://ftp.nl.debian.org/debian/dists/jessie/main/installer-i386/current/images/hd-media/

grub.cfg데비안 8.1을 설치하는 데 필요한 파일은 다음과 같습니다:

menuentry 'to install Debian 8.1 from usb' {
    insmod part_msdos
    insmod ext2
    set isofile="(hd0)/debian-8.1/debian-8.1-hybrid.iso"
    loopback loop $isofile
    linux (hd0)/debian-8.1/vmlinuz
    initrd (hd0)/debian-8.1/initrd.gz
 }

이제 동일한 USB 드라이브에 CentOS 7을 추가하고 GRUB 메뉴에서 부팅할 수 있게 되기를 원합니다. CentOS ISO에는 세 가지 유형이 있습니다.

  1. DVD 디스크
  2. ISO의 모든 것
  3. 최소 ISO

CentOS에는 Debian과 같은 하이브리드 ISO가 없습니다. USB에서 CentOS를 설치 vmlinuz하려면 어떤 ISO 파일을 사용해야 합니까 ? initrd.gzCentOS 7 ISO를 부팅하려면 GRUB를 어떻게 구성해야 합니까?

내가 테스트한 내용은 다음과 같습니다.

  1. 다운로드했습니다CentOS-7-x86_64-LiveCD-1503.iso
  2. ISO를 마운트하고 디렉토리 vmlinuz0에서 복사했습니다 .initrd0.imgisolinux
  3. 저는 grub.cfg다음과 같은 항목을 만들었습니다.

    menuentry 'to install centos7.1 from usb' {
        insmod part_msdos
        insmod ext2
        insmod ntfs
        set isofile="(hd0,0)/centos-7.1/CentOS-7-x86_64-LiveCD-1503.iso"
        loopback loop $isofile
        linux (hd0,0)/centos-7.1/vmlinuz0    
        initrd (hd0,0)/centos-7.1/initrd0.img
    }
    

다음 오류가 발생합니다.

제가 사용하는 USB HDD의 디렉토리 구조는 다음과 같습니다.

├── boot
│   └── grub
│       ├── fonts
│       │   └── unicode.pf2
│       ├── grub.cfg
│       ├── grubenv
│       ├── i386-pc
│       │   ├── 915resolution.mod
│       │   └── zfs.mod
│       └── locale
│           ├── ast.mo
│           ├── ca.mo
│           ├── da.mo
│           ├── vi.mo
│           ├── zh_CN.mo
│           └── zh_TW.mo
├── centos-7.1
│   ├── CentOS-7-x86_64-LiveCD-1503.iso
│   ├── initrd0.img
│   └── vmlinuz0
├── debian-8.1
│   ├── debian-8.1-hybrid.iso
│   ├── initrd.gz
│   └── vmlinuz

단순화를 위해 많은 하위 디렉터리가 제거되었습니다.

답변1

vmlinuz 파일의 위치를 ​​참조하면 ISO의 루트에서 참조하는 것이므로 centos-7.1 디렉터리가 잘못되었습니다.

Live CD로 표시된 공식 ISO에서 부팅하려면 몇 가지 수정이 필요합니다.

먼저 vmlinuz와 initrd가 무엇인지 확인하기 위해 iso 이미지를 마운트하고 vmlinuz와 initrd가 있는 디렉터리를 찾습니다. 이것은 (hd0,0) 다음에 grub.cfg를 작성해야 하는 디렉토리입니다.반지, (hd0,0)) 대신 centos-7.1을 교체합니다. 또한 구성 스크립트를 확인하여 일부 옵션이 필요한지 확인하고 추가합니다.

어쨌든 가이드가 있으니여기

답변2

CentOS 위키에는 하나가 있습니다가이드USB에서 설치, 버전 6.5 이상(7.x 포함)에 적용됩니다. 다음 단계를 시도해 보셨나요?

기본적으로 ISO 이미지를 USB 드라이브에 쓰고 부팅하는 작업이 포함됩니다. 따라서 다음과 같습니다.

dd if=CentOS-7-x86_64-DVD-1503-01.iso of=/dev/sdb

플래시 드라이브는 어디에 있나요 /dev/sdb?

이는 데비안 예제와 약간 다르지만 "USB에서" GRUB에서 ISO를 부팅하기 위한 요구 사항을 지정하지 않았습니다. 그렇다면 @YoMismo의답변필요한 정보를 가지고 있습니다.

답변3

제 경우에는 grub.cfg의 올바른 형식은 다음과 같아야 합니다.

menuentry "to install  CentOS-7.0-1406-x86_64-DVD" {
    insmod part_msdos
    insmod ext2
    insmod ntfs
    set isofile='(hd0)/centos-7.1/CentOS-7-x86_64-DVD-1503-01.iso'
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:/dev/sdb:/centos-7.1/CentOS-7-x86_64-DVD-1503-01.iso
    initrd (loop)/isolinux/initrd.img
}

관련 정보