CentOS 이미지를 수동으로 설치하는 방법은 무엇입니까?

CentOS 이미지를 수동으로 설치하는 방법은 무엇입니까?

내 프로젝트를 CentOS 6에서 CentOS 7로 마이그레이션하고 CentOS 7에서 도입된 부팅 요구 사항의 변경 사항, 특히 grub에서 grub2로의 업그레이드를 처리해야 합니다. 질문의 요지는 이렇습니다.

CentOS 6 기반 작업에서는 하드 드라이브를 별도의 파티션으로 분할했으며 각각은 virt-install을 통해 설치된 가상 머신을 호스팅했습니다. VM을 호스팅하는 파티션으로 직접 추출된 사전 생성된 CentOS 6 이미지를 사용하여 virt-install의 --import 옵션을 사용할 수 있었습니다. 각 가상 머신의 파티션은 부팅 파티션, 스왑 파티션 및 루트 파일 시스템 파티션으로 더 나뉩니다. device.map grub.conf 파일을 수동으로 생성하고 필요한 grub 설치 명령을 실행하여 VM을 부팅 가능하게 만들었습니다.

CentOS 7에서는 상황이 약간 변경되었습니다. grub2가 GPT 드라이브에 설치되면 추가 "bios_grub" 파티션이 필요합니다. 이제 내 VM 파티션은 CentOS 6.6에서 3개가 아닌 4개의 파티션으로 세분화됩니다. 예를 들어, /dev/sda4 아래에 VM을 설치하면 parted는 다음을 표시합니다:

    # parted -s /dev/sda4 print
    Model: Unknown (unknown)
    Disk /dev/sda4: 75.2GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:

    Number Start End Size File system Name Flags
    1 1049kB 2097kB 1049kB primary bios_grub
    2 2097kB 136MB 134MB ext3 primary boot
    3 136MB 153MB 16.8MB linux-swap(v1) primary
    4 153MB 75.2GB 75.0GB ext4 primary

문제는 내가 만든 가상 머신을 시작할 수 없다는 것입니다. 음, VM이 시작되었지만 즉시 중단되었습니다. 오류가 없으며 virsh는 실행 중임을 표시하지만 BIOS에서 grub으로의 전송이 발생하지 않습니다. grub을 설치하기 위해 실행한 명령은 다음과 같습니다(VM이 /dev/sda4에 설치되어 있다고 가정).

    # chroot /mnt/rootfs/grub2-install --force /dev/sda4
    Installing for i386-pc platform.
    Installation finished. No error reported.

    # chroot /mnt/rootfs grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
    done

VM 생성 명령은 다음과 같습니다.

    # virt-install --connect=qemu:///system --network bridge=br0,mac=RANDOM,model=virtio --name=vm1 --disk path=/dev/sda4,bus=virtio --force --vcpus=1 --ram=1024 --check-cpu --accelerate --hvm --nographics --noreboot --import

    Starting install...
    Creating domain...
    Domain creation completed. You can restart your domain by running:
    virsh --connect qemu:///system start vm1

불행하게도 제가 말했듯이 가상 머신은 시작되지만 즉시 중단됩니다. BIOS는 CentOS를 부팅하기 위해 grub으로 변환하지 않습니다. CentOS 6에서도 동일한 기본 방법이 작동하므로 여기서는 grub2 설치 방법과 관련된 몇 가지 핵심 단계가 누락된 것으로 가정합니다. 혹시 이런 경험이 있으신 분이나 조언을 주실 수 있는 분 계시면 감사하겠습니다.

베드로

관련 정보