UEFI 전용 부팅 가능한 USB 라이브 미디어를 만드는 방법은 무엇입니까?


107

현재 사용 가능한 Windows 8 컴퓨터에 Ubuntu를 설치할 때 양방향 부팅이 가능한 라이브 미디어가 있으면 문제가 될 수 있습니다.

다시 말해 UEFI 전용 부팅 가능한 USB 라이브 미디어 를 만들면 얻을 수있는 주요 이점 은 다음과 같습니다. UEFI를 통해 확실히 부팅되고 설치되었음을 알 수 있습니다.

Valve는 이미 데비안 기반 Steam OS 및 UNetbootin (Ubuntu의 Startup Disk Creator에 대한 최고의 대안)으로 UEFI 전용 부팅 USB 설치 프로그램을 수행 하고 있기 때문에 UEFI와 호환되지 않으므로 오해의 소지가 있다고 생각합니다. UEFI 전용 부팅 가능한 USB 라이브 미디어 생성

답변:


133

개요

UEFI 전용 부팅 USB 라이브 미디어를 만드는 것은 매우 간단합니다. 파일을 FAT32 형식의 USB 드라이브에 복사하십시오 . 그게 다야!

미디어 설치 또는 부팅시 다음을 기억하십시오.

  • UEFI를 통해 미디어를 부팅하도록 컴퓨터 에 명시 적으로 지시해야 할 수도 있습니다 .
  • GPT 파티션 테이블 윈도우 8의 preinstallations에서 나중에 같은 것이 좋습니다.
  • 파티션 테이블을 생성 한 후에 파티션을 생성하는 것을 잊지 마십시오.
  • UEFI 부트 로더가 확실히 포함되어 있으므로 최신 AMD64 (LTS) ISO를 사용하십시오 .

목차

  • ISO 방식에서 파일 복사
    1. 터미널을 통한 예
    2. GUI를 통한 예
    3. Windows의 예
  • ISO 루프백 방법 (고급)
    1. 바이너리 만들기
    2. 구성 파일 작성
    3. 지속성 추가
    4. 무결성 검사
    5. UEFI 보안 부팅

1. ISO 방식에서 파일 복사

이 방법은 Windows와 같은 EFI 로더가 포함 된 다른 설치 미디어에서도 작동합니다.

1.1. 터미널을 통한 예

604A-00EAUSB 드라이브이고 이미 p7zip설치 한 경우 다음과 같은 작업을 수행 할 수 있습니다 .

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

이 USB 드라이브에 파티션이 하나만 있으면 완료됩니다. 그렇지 않으면 다음과 같이 파티션을 부팅 가능한 것으로 플래그 지정해야합니다 parted.

# parted /dev/sdX set 1 boot on

부팅에 사용해야 /dev/sdX할 USB 드라이브와 1파티션 번호는 어디에 있습니까 ?

1.2. GUI를 통한 예

  1. .iso 파일을 마운트하고 내용을 USB 드라이브에 복사하십시오. 노틸러스에서 Ctrl+ H를 눌러 숨겨진 파일도 표시하고 복사합니다.

    .iso-file을 선택하면 상황에 맞는 메뉴에 Disk Image Mounter를 표시하는 노틸러스

  2. GParted 를 통해 부팅 플래그를 추가하십시오 .

    파티션 플래그를 관리하는 방법을 보여주는 GParted

1.3. Windows의 예

  1. 위와 동일하게 파일을 복사하면됩니다.
  2. Windows/Super+를 누르고 X디스크 관리로 이동하여 파티션이 활성으로 표시되어 있는지 확인하십시오. Windows 8 이전의 Windows 버전에서는 Windows/Super+ R를 눌러 실행 메뉴를 열고 diskmgmt.msc를 열면 디스크 관리가 열립니다.

2. ISO 루프백 방법 (고급)

GRUB 및 GRUB2는 ISO 이미지에서 컨텐츠를 추출하는 대신 루프백 장치를 통해 ISO 이미지에서 직접 부팅 할 수있었습니다. ISO 이미지가 UEFI 부팅 가능하다는 점을 감안하면 USB 드라이브를 엉망으로 만들지 않고 운영 체제가 다른 여러 ISO를 포함하는 USB 드라이브를 설정할 수 있습니다.

Windows도 부팅하려면 SARDU를 참조하십시오 . 2005 년경 Windows PE와 함께 사용했던 것을 기억하며 USB 드라이브와 UEFI를 지원하도록 업데이트 된 것 같습니다. 그러나이 도구는 레거시 부팅도 지원합니다.

우리는 무엇이 필요한가?

  • GRUB 구성 파일에 대한 매우 기본적인 지식.
  • UEFI 부팅 및 GRUB에 대한 기본 지식이 풍부합니다. 많은 모듈이 포함 된 자체 GRUB 부트 로더 이미지를 생성 할 예정입니다.
  • UEFI 부팅 가능한 ISO 이미지, FAT 형식의 USB 드라이브 및 Linux를 실행하는 시스템
    • 아닙니다. 우리는 Linux의 UEFI 설치가 필요하지 않습니다 (닭고기와 달걀 상황 일 수 있음). VirtualBox와 같은 전통적인 Linux VM이 좋습니다.

2.1. 바이너리 만들기

Ubuntu 컴퓨터 또는 VM에서 grub-efi-amd64-bin 패키지 가 설치되어 있는지 확인하십시오 (grub-efi-ia32-bin은 최신 릴리스의 32 비트 Intel 아키텍처에서도 사용 가능). 패키지는 다른 배포판에서 다른 이름을 가질 수 있습니다. 패키지의 파일 목록을 비교 하여 배포판에서 올바른 패키지를 찾을 수 있습니다.

다음 명령은 GRUB 이미지,이 경우 UEFI 펌웨어가있는 모든 컴퓨터가 실행할 수있는 EFI 바이너리를 생성합니다.

grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
 fat iso9660 part_gpt part_msdos \
 normal boot linux configfile loopback chain \
 efifwsetup efi_gop efi_uga \
 ls search search_label search_fs_uuid search_fs_file \
 gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
 exfat ext2 ntfs btrfs hfsplus udf

모든 표준 UEFI 펌웨어는 \EFI\BOOT\이라는 파일을 찾아야 boot{arch}.efi하므로 USB 드라이브에 폴더를 만들고 방금 만든 이미지를이 위치로 복사하십시오. x64 대신 다른 아키텍처가 가능하지만 x64 / amd64로 간단하게 유지합시다.

2.2. 구성 파일 작성

다음과 grub.cfg같은 디렉토리에 배치해야하는 구성 파일 의 매우 기본적인 예 bootx64.efi는 다음과 같습니다.

set timeout=3
set color_highlight=black/light-magenta

menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
        set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
        initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
    menuentry 'Ubuntu' {
            chainloader /efi/ubuntu/grubx64.efi
    }
    menuentry 'Windows' {
            chainloader /efi/Microsoft/Boot/bootmgfw.efi
    }
    menuentry 'Firmware Setup' {
            fwsetup
    }
}

중요한 것은 제목이있는 구성 블록입니다 Boot Ubuntu 14.04.2 LTS from ISO. 색상 및 시간 초과를 원하는대로 변경할 수 있습니다. 나는 black/light-magenta여전히 우분투처럼 보이지만 다른 구성을 체인로드 할 때 쉽게 구별 할 수 있기 때문에 선택했습니다 . Arch Wiki 에서 다른 배포판에 대한 더 많은 예제를 찾을 수 있으며 GRUB 매뉴얼을 읽으면 그 이상의 가치를 얻을 수 있습니다.

구성 블록으로 돌아 가면 ISO가로 참조 /efi/boot/ubuntu-14.04.2-desktop-amd64.iso되므로 ISO를 복사하여 구성에서 실제 ISO 파일 이름으로 \EFI\BOOT\바꾸 ubuntu-14.04.2-desktop-amd64.iso십시오.

loopback loop $isofileISO 파일을 루프백 장치에로드하여 Linux 커널을 직접 부팅 할 수있는 줄입니다. EFI GRUB 이미지에 루프백 모듈이 포함되어 있기 때문에 가능합니다. (시행 착오의 비트. 당신은 그것을 비록 아직 완벽 하진, 오류 메시지가 표시되지해야 포함하는 것이 합리적있는 모듈 파악에 참여했다.) 당신이 좋아하는 커널 매개 변수를 추가 할 수있는 커널의 말하기 toram다른 언어에 대한 매개 변수를 (예 locale=de_DE bootkbd=de) 및 예 와 같이 :persistent

2.3. 지속성 추가

다음에 설명 된대로 파티션을 추가 할 수 있습니다. 지속성을 위해 파티션을 사용하기 위해 라이브 USB를 얻는 방법은 무엇입니까? 또는 casper-rw파일을 만들어 USB 드라이브의 루트에 배치 할 수 있습니다 .

dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw

나는 절대 최대 값이 무엇인지 테스트하지 않았으며 4094에서 4096MB 사이 여야합니다. 더 많은 공간을 사용하려면 파티션을 사용하십시오. (루트)에 대한 모든 변경 사항은 파일을 삭제하더라도 오버레이 파일 시스템의 수정 사항입니다.

2.4. 무결성 검사

다음 질문에 대한 답변을보고 USB 드라이브의 Live ISO 컨텐츠가 깨끗한 상태인지 확인해야합니다.

2.5. UEFI 보안 부팅

Windows 10 시스템에서는 보안 부팅이 필수가됩니다.이 설정에 보안 부팅 기능을 추가하기 위해 Linux Foundation의 PreLoader를 살펴 보는 것이 좋습니다. 다음은 함께 제공되는 HashTool 메뉴를 보여주는 ASCII 아트입니다 .


축하합니다. 이제 UEFI 부팅을 마스터했으며 더 이상 두려워해서는 안됩니다.


1
(a) 지난 5 년 동안 선적 된 모든 PC에이 기능이 있다는 점을 지적하겠습니다. (b) .iso 설치 프로그램 루트는 일반 영구 저장소로 전체 USB 스틱을 사용할 수 있습니다. (로 마운트 옵션을 사용하여 실수로 삭제하는 것을 방지합니다.) 최신 PC 및 일반적인 사용 패턴의 경우 live-usb-creator의 기본 솔루션보다 더 나은 솔루션 인 것 같습니다.
user1539216

3
GUI 방법을 사용하는 동안 일부 심볼릭 링크 오류가 발생했습니다. 관련이 있습니까? 자세히 설명해 주시겠습니까?
VRR

1
안녕하세요, LiveWireBT! 이런 흥미로운 답변에 감사드립니다 !! ISO 루프백 방법 (고급)을 따라 USB 플래시 드라이브에서 UEFI 부팅으로 관리했습니다. 그러나 부팅이 끝나면 오류 메시지가 나타납니다. / cow에 / dev / loop2를 마운트 할 수 없으며 Enter 키를 누른 후 (initramfs) 프롬프트가 표시됩니다. 도와 드릴까요?
zuba

또한 훌륭한 가이드에 대해 감사하고 싶습니다. 명확하고 간결했습니다. 나는 엄지 드라이브를 분할하고 여러 개의 OS를 가지고 있다고 생각조차하지 않았습니다. 다시 감사합니다!
Hatem Jaber

2
최소한 16.04에서 grub.cfg 커널 행 인수 "file = / cdrom / preseed / ubuntu.seed"로 인해 "모든 파일 복사"가 부팅되지 않습니다. 이전에 언급 된 누락 된 기호 링크 (ubuntu to.)와 관련된 파일이 없습니다. grub.cfg를 편집하여 파일 = ...을 제거하고 "live-media-path = / casper / ignore_uuid"로 대체하십시오
ubfan1

3

ISO 파일에서 FAT32로 추출

FAT32 파일 시스템 및 부팅 플래그가있는 파티션으로 Ubuntu 64 비트 데스크톱 ISO 파일의 내용을 추출하면 라이브 드라이브를 만드는 작업이 수행됩니다.이 드라이브는 UEFI 모드에서만 부팅됩니다. 여기에서 '허용 된 답변으로'ISO 방법에서 파일 복사 '라고합니다.

UEFI 또는 BIOS 모드에서 실행 중인지 테스트

그러나 UEFI 또는 BIOS 모드로 부팅 된 경우 실행중인 Ubuntu 시스템 (실시간 및 설치)에서 쉽게 테스트 할 수 있습니다. 이 명령 행을 실행하십시오.

test -d /sys/firmware/efi && echo efi || echo bios

따라서 두 부팅 모드 모두에서 사용할 수있는 라이브 시스템을 사용하는 것이 간단하므로 이점도 있습니다.

방법에 대한 자세한 설명 및 설명은 다음 링크를 참조하십시오.

help.ubuntu.com/community/Installation/iso2usb

help.ubuntu.com/community/Installation/iso2usb/diy


2

사용 dd나를 위해 일한, 어떤 이유로, GUI 버전은 작동하지 않았다. 따라서 먼저 dddd 의 진행 을 모니터링하고 싶을 수도 있습니다 . 또 다른 옵션은 SIGUSR1 옵션을 사용하여 주기적으로 진행 상황을보고 하도록 트리거 하는 것 pv입니다. 그러나 이것은보다 복잡합니다 .

그때:

sudo dd if=path/to/image/file | pv | sudo dd of=/dev/device_you_want_to_use

( /dev/device_you_want_to_use일반적으로 /dev/sdb이지만 확인하십시오 df!)


8
이 방법으로 미디어를 만들면 UEFI 전용 부팅 가능한 미디어 가 생성되지 않습니다 . 강조는 질문의 마지막 단락에있다 : "UEFI 전용 부팅 USB 라이브 미디어를 생성 한 장점도있다 : 당신은 그것을 확실히 UEFI를 통해 부팅 것을 알고있다." UEFI 부팅 가능 Ubuntu 설치를 이해하고 설정하려고 할 때 두 가지 방법으로 부팅 할 수있는 미디어가 있으면 문제가됩니다.
LiveWireBT

1
내가 참조. 이상한 점은이 방법으로 UEFI 모드로 부팅 한 이미지를 생성 할 수 있다는 것입니다 (노트북은 uefi 부팅 만 허용하고 초기 화면으로 인해 노트북이 설정 되었기 때문에 알고 있습니다). 선호하는 대답은 저에게 효과가 없었습니다. 컴퓨터는 파일을 복사하여 만든 이미지로 부팅되지 않습니다.
sup

5
@sup이 방법은 UEFI 부팅 가능한 미디어를 만듭니다 . 문제는 요청에 따라 UEFI 부팅 가능 뿐만 아니라 BIOS 모드에서도 부팅 할 수 있다는 것입니다.
Darael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.