grub 2.04 에는 버그 가 있으므로 이전 버전 이상이 있는지 확인하십시오.
grub에 ISO 파일을 추가하는 기본 사항은 UEFI에서 BIOS 시스템과 동일합니다. 파일을 편집 /etc/grub.d/40_custom
하고 menuentry
파일 맨 아래에 항목 (이 예에서는 GParted가 사용됨)을 추가합니다.
menuentry "GParted Live ISO" {
}
이제 ISO를 저장 한 디렉토리를 포함하는 변수를 추가 할 것입니다 (지금까지는 BIOS 시스템과 아무런 차이가 없음).
menuentry "GParted Live ISO" {
set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
}
나는 /opt
내 컴퓨터의 루트에 디렉토리를 만드는 것을 싫어하고 선택적 소프트웨어가 있어야하는 Linux 파일 시스템 계층 에 따라 디렉토리를 저장 하는 데 사용 하고 있습니다 .
loopback
변수 를 추가하기 전에 파일이 저장된 하드 디스크를 찾아야하므로 a :를 수행하고 df --output=source /opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso | tail -1
내 컴퓨터의 출력 은 다음 과 같습니다 /dev/sdb2
.
그러나 용도 (GRUB hdX,Y
) 표기법을하고 이 UEFI와 BIOS 기계의 차이는 어디에서 오는 것입니다! 이제 컴퓨터를 재부팅 하고 grub 메뉴로 이동하여 다음 을 누르십시오 C. 이렇게하면 다른 명령 을 사용하여 grub 명령 프롬프트가 표시 되지만 필요한 유일한 명령 은 다음과 같습니다 ls
..
내 컴퓨터에서 출력은 다음과 같습니다.
(hd0) (hd1) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) ... (hd3) ...
응? 4 개의 드라이브? 나는 단지 3을 가지고있다! 그리고 그것은 (hd1,4)
BIOS가 아니라 (hd1,gpt3)
UEFI에 있으며 (hd0)
파티션이 전혀 없습니다!
NVRAM의 일부가 스토리지로 사용될 (hd0)
때 드라이브 번호를 1에서 시작해야 할 때 나타납니다 . ISO 파일 부팅에 대한 모든 정보는 0부터 번호를 시작해야한다고 말하지만 (BIOS 머신에서는 항상 사실이지만 , 일부 UEFI 머신에서는 반드시 그런 것은 아닙니다 !)
의 값이 그래서 loopback
하게 (hd2,gpt2)$GPartedISOFile
내 컴퓨터에서 ISO 파일로했다 /dev/sdb2
(두 번째 드라이브 hd2
, 두 번째 파티션 gpt2
) :
menuentry "GParted Live ISO" {
set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
loopback loop (hd2,gpt2)$GPartedISOFile
}
또 다른 차이점은 것입니다 linux
및 initrd
BIOS 시스템에서가 호출 linuxefi
하고 linuxefi
우리에게 우리의 최종 결과를 제공 UEFI 시스템에 :
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "GParted Live ISO" {
set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
loopback loop (hd2,gpt2)$GPartedISOFile
linuxefi (loop)/live/vmlinuz boot=live components config findiso=$GPartedISOFile ip=frommedia toram=filesystem.squashfs union=overlay username=user
initrdefi (loop)/live/initrd.img
}
이제 해당 파일을 저장하고 다음을 사용하여 grub을 업데이트하십시오.
update-grub
위의 모든 작업을 마친 후 재부팅 하고 grub 메뉴로 이동하여 선택 GParted Live ISO
하면 USB 스틱을 다시 찾지 않고도 ISO를 쉽게 부팅 할 수 있습니다!
:-)
CloneZilla Live 예제 ( 이 질문에 대한 )
menuentry "CloneZilla ISO" {
set ISOFile="/opt/Live-ISOs/clonezilla-live-20170905-zesty-amd64.iso"
loopback loop (hd2,gpt2)$ISOFile
linuxefi (loop)/live/vmlinuz boot=live components config findiso=$ISOFile ip=frommedia toram=filesystem.squashfs union=overlay
initrdefi (loop)/live/initrd.img
}