Grub 2 다중 이미지 부팅 디스크는 일부 이미지를 부팅하지만 다른 이미지에서는 재부팅합니다.

Grub 2 다중 이미지 부팅 디스크는 일부 이미지를 부팅하지만 다른 이미지에서는 재부팅합니다.

내가 겪고 있는 문제는 부팅 가능한 USB가 특정 부팅 이미지에서만 작동한다는 것입니다. 더 구체적으로 말하자면 Ubuntu 데스크탑 iso 이미지는 부팅하지만 Ubuntu 서버는 부팅하지 않는다는 것입니다. Ubuntu 서버 iso 이미지를 부팅하려고 하면 화면이 진한 빨간색으로 바뀌고 컴퓨터가 재부팅됩니다. 나는 grub의 메뉴를 사용하고 있으며 아래는 내 메뉴 항목입니다.

이것은 내 grub.cfg의 일부입니다.

#
# Brians options
#
menuentry "Brian - ubuntu 14.04.2 Desktop i386" {
         set isofile="/bootImg/ubuntu-14.04.2-desktop-i386.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-14.04.2-desktop-i386.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - ubuntu 15.04 Server x64_32" {
         set isofile="/bootImg/ubuntu-15.04-server-amd64.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-15.04-server-amd64.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - ubuntu 14.04.2 Server i386" {
         set isofile="/bootImg/ubuntu-14.04.2-server-i386.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-14.04.2-server-i386.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - Ubuntu 14.04.2 Server i386 Test" --class ubuntu {
   set isoname="ubuntu-14.04.2-server-i386.iso"
   set isofile="/bootImg/${isoname}"
   loopback loop (hd0,10)$isofile
   linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
   initrd (loop)/casper/initrd.lz
}

첫 번째 메뉴 항목만 작동하고 나머지는 컴퓨터를 다시 시작해야 합니다. 두 번째 메뉴 항목은 Ubuntu Server를 사용해 본 곳인데, 작동하지 않을 때 32비트 버전을 사용해 보았습니다. 다음으로 일부 포럼을 확인했는데 비슷한 문제가 있는 어떤 사람이 네 번째 메뉴 항목과 비슷한 것을 사용해 보았다고 해서 나도 시도해 보았습니다.

Ubuntu 데스크탑 이미지를 부팅하면 "Ubuntu 시도" 모드로 부팅됩니다. 이 모드에서는 컴퓨터에 설치되지 않지만 데스크탑에 설치 버튼이 있고 그렇지 않으면 컴퓨터에 설치되는 것처럼 보입니다.

결론적으로, Ubuntu 서버 iso 이미지를 부팅할 수 있도록 grub 구성을 변경하려면 무엇을 해야 하는지 알고 싶습니다.

답변1

Ubuntu 서버를 시작하려면 다음 메뉴 항목을 사용합니다.

menuentry "Ubuntu server installer" {
    set isofile=/isos/ubuntu-15.04-server-amd64.iso
    loopback isoloop $isofile
    set gfxpayload=keep
    linux   (isoloop)/install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=$isofile quiet noeject --
    initrd  (isoloop)/install/initrd.gz
}

줄을 놓친 것 같습니다 file=/cdrom .... 여기에 전달된 경로는 ISO를 마운트한 위치입니다.

하지만 공정한 경고입니다. 제 경험상 Ubuntu 설치 프로그램은 루프백이 설치된 ISO에서 제대로 작동하지 않습니다. 데스크탑 설치 프로그램이 ISO로 마운트되지 않은 파일 시스템(이 경우 USB 드라이브)을 발견하면 혼란스러워서 마운트를 해제해야 합니다. USB + ISO 설정에서 전체 설치를 시도했을 때 데스크탑 설치 프로그램 디스크 파티셔닝 단계에서 USB 드라이브가 엉망이 되어 부팅할 수 없게 되었습니다(grub을 다시 설치해야 함). 또한, iso-scan/filename서버 설치 프로그램에서는 지원이 불가능하므로 losetup & mount수동으로 설치해야 합니다.

불행하게도 이러한 구성에 대한 지원은 지난 몇 번의 릴리스에서 저하된 것 같습니다.

관련 정보