EFI 스텁 (efistub) 로더를 사용하여 커널을 부팅하는 방법은 무엇입니까?

프로 백업

UEFI 모드에서 운영 체제로만 실행되는 Ubuntu 14.04가 있으며 여기에서는 이중 부팅이 없습니다. 커널 버전은 3.13.0-24-generic입니다. EFI 파티션이 있습니다. 이 경우 EFI 파티션은 기본값이 /dev/sda1아니라 /dev/sda3실제로 BIOS 모드를 EFI 모드로 변환 했기 때문 입니다. grub-efi-amd64패키지를 사용 했지만 실제로 UEFI 펌웨어 부팅 메뉴에서 GRUB 부팅 메뉴를로드합니다 (UEFI 부팅로드 \EFI\ubuntu\grubx64.efi).

이중 부팅 메뉴 로딩 단계를 건너 뛰고 UEFI에서 커널로 직접 빠르게 부팅하고 싶습니다. 12.10는 "커널 EFI 스텁 로더"이 있기 때문에 우분투는 커넬 기능을.

Ubuntu 커널을 EFI 파티션에 복사하고 (이름을 바꿀 수 있음) UEFI 부팅 메뉴에 항목을 만들어야한다는 것을 알고 있습니다 (예 :) efibootmgr. 이렇게하려면 정확히 어떤 터미널 명령이 필요합니까?

프로 백업

아래 명령은 커널 버전 3.13.0-35 전용보다 더 일반적입니다.

1. efi 파티션을 마운트하고 여기에 커널 파일을 복사합니다.

$ mount /dev/sda3 /boot/efi

$ mkdir -pv /boot/efi/EFI/ubuntu/

$ cp -uv /boot/vmlinuz-* /boot/initrd.img-* /boot/efi/EFI/ubuntu/
'/boot/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic'
'/boot/initrd.img-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/initrd.img-3.13.0-35-generic'

2. 커널 파일 이름 변경

39 자 길이의 경로 제한이있는 것처럼 보이 -generic므로 제거하여 커널 파일 이름을 줄이고 커널 파일 이름을 으로 끝나도록 변경 하면 대부분의 시스템과의 호환성이 보장됩니다..efi

$ for f in /boot/efi/EFI/ubuntu/vmlinuz-*-generic; do mv -uv -- "$f" "${f//-generic/}.efi"; done
'/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic.efi'`

위의 이름 커널 파일 이름 단축은 dpkg설치된 메인 라인 커널에 충분하지 않습니다. 예를 들어 /EFI/ubuntu/vmlinuz-3.16.0-031600rc6.efi없이는 -generic여전히 40 자 길이 이기 때문입니다 .

3. EFI 부팅 메뉴에 새 항목 추가

3.13.0-35이 예제에서 특정 커널 버전으로 대체하십시오 .

$ kv=3.13.0-35;efibootmgr -c -p 3 -L $kv -l \EFI\ubuntu\vmlinuz-$kv.efi -u root=/dev/sda1 initrd=\\EFI\\ubuntu\\initrd.img-$kv-generic ro rootfstype=ext4 debug ignore_loglevel libata.force=dump_id crashkernel=384M-:128M

이 새 부팅 메뉴 항목이 기본 새 부팅 선택 항목이됩니다.

당신은 추가 디버깅 매개 변수를 필요로하지 않을 수 있습니다 debug, ignore_loglevel, libata.force=dump_idcrashkernel=384M-:128M. Initrd있어야합니다. 그렇지 않으면 루트 장치 sda1을 열 수 없기 때문에 " Switched to clocksource tsc. " 에서 부팅이 중단됩니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

QEMU (kvm)를 사용하여 EFI 커널을 부팅하는 방법은 무엇입니까?

분류에서Dev

QEMU (kvm)를 사용하여 EFI 커널을 부팅하는 방법은 무엇입니까?

분류에서Dev

Android SDK 및 스마트 폰 공급 업체 도구를 사용하여 다른 커널을 부팅하는 방법은 무엇입니까?

분류에서Dev

typescript에서 sinon을 사용하여 Express 미들웨어를 스텁하는 방법은 무엇입니까?

분류에서Dev

webmock에서 80 포트를 사용하여 요청 스텁을 등록하는 방법은 무엇입니까?

분류에서Dev

Ubuntu 커널에 EFI 스텁 로더 부팅 지원이 있습니까?

분류에서Dev

EFI / UEFI 셸에서 시스템을 재부팅하거나 종료하는 방법은 무엇입니까?

분류에서Dev

커널 모드에서 ZwQuerySystemInformation ()을 사용하여 스레드 ID를 얻는 방법은 무엇입니까?

분류에서Dev

mockito로 비동기 호출을 스텁하는 방법은 무엇입니까?

분류에서Dev

centos7을 사용하여 부팅시 서비스를 시작하는 방법은 무엇입니까?

분류에서Dev

EFI 및 부팅 파티션을 이동하는 방법은 무엇입니까?

분류에서Dev

EFI 부팅을 사용하지 않고 GPT 파티션 테이블에 Ubuntu를 설치하는 방법은 무엇입니까?

분류에서Dev

sinon을 사용하여 테스트중인 함수 내에서 클래스 메서드를 스텁하는 방법은 무엇입니까?

분류에서Dev

Rhino Mocks에서 null 인수를 사용하여 메서드를 스텁하는 방법은 무엇입니까?

분류에서Dev

이전 커널 버전으로의 부팅을 중지하는 방법은 무엇입니까?

분류에서Dev

블랙리스트가 실패 할 때 단일 사용자 부팅에서만 커널 모듈로드를 차단하는 방법은 무엇입니까?

분류에서Dev

유형 힌트를위한 스텁을 전 이적으로 공유하는 방법은 무엇입니까?

분류에서Dev

Docker를 사용하여 IIS로 Blazor 앱을 호스팅하는 방법은 무엇입니까?

분류에서Dev

macOS 게스트를 사용하여 VirtualBox에서 UEFI 셸로 부팅하는 방법은 무엇입니까?

분류에서Dev

wget을 사용하여 호스팅 사이트에서 다운로드하는 방법은 무엇입니까?

분류에서Dev

(U) EFI MacBook에서 Mac OS X로 듀얼 부팅 NixOS를 구성하는 방법은 무엇입니까?

분류에서Dev

플래시를 사용하여 커스텀 카메라로 사진을 찍는 방법은 무엇입니까?

분류에서Dev

EFI로 BIOS 설정에 액세스하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트를 사용하여 채팅을 새로 고치는 방법은 무엇입니까?

분류에서Dev

커널 명령 줄 매개 변수를 사용하여 sysctl을 설정하는 방법은 무엇입니까?

분류에서Dev

부팅 후 busybox를 사용하여 프로그램을 자동 실행하는 방법은 무엇입니까?

분류에서Dev

systemd 부팅을 사용하여 레이블로 cryptdevice를 지정하는 방법은 무엇입니까?

분류에서Dev

키보드를 사용하여 터미널 에뮬레이터 창을 더 작은 단계로 스크롤하는 방법은 무엇입니까?

분류에서Dev

부팅 가능한 Ubuntu USB 스틱을 더 큰 스틱으로 복제하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    QEMU (kvm)를 사용하여 EFI 커널을 부팅하는 방법은 무엇입니까?

  2. 2

    QEMU (kvm)를 사용하여 EFI 커널을 부팅하는 방법은 무엇입니까?

  3. 3

    Android SDK 및 스마트 폰 공급 업체 도구를 사용하여 다른 커널을 부팅하는 방법은 무엇입니까?

  4. 4

    typescript에서 sinon을 사용하여 Express 미들웨어를 스텁하는 방법은 무엇입니까?

  5. 5

    webmock에서 80 포트를 사용하여 요청 스텁을 등록하는 방법은 무엇입니까?

  6. 6

    Ubuntu 커널에 EFI 스텁 로더 부팅 지원이 있습니까?

  7. 7

    EFI / UEFI 셸에서 시스템을 재부팅하거나 종료하는 방법은 무엇입니까?

  8. 8

    커널 모드에서 ZwQuerySystemInformation ()을 사용하여 스레드 ID를 얻는 방법은 무엇입니까?

  9. 9

    mockito로 비동기 호출을 스텁하는 방법은 무엇입니까?

  10. 10

    centos7을 사용하여 부팅시 서비스를 시작하는 방법은 무엇입니까?

  11. 11

    EFI 및 부팅 파티션을 이동하는 방법은 무엇입니까?

  12. 12

    EFI 부팅을 사용하지 않고 GPT 파티션 테이블에 Ubuntu를 설치하는 방법은 무엇입니까?

  13. 13

    sinon을 사용하여 테스트중인 함수 내에서 클래스 메서드를 스텁하는 방법은 무엇입니까?

  14. 14

    Rhino Mocks에서 null 인수를 사용하여 메서드를 스텁하는 방법은 무엇입니까?

  15. 15

    이전 커널 버전으로의 부팅을 중지하는 방법은 무엇입니까?

  16. 16

    블랙리스트가 실패 할 때 단일 사용자 부팅에서만 커널 모듈로드를 차단하는 방법은 무엇입니까?

  17. 17

    유형 힌트를위한 스텁을 전 이적으로 공유하는 방법은 무엇입니까?

  18. 18

    Docker를 사용하여 IIS로 Blazor 앱을 호스팅하는 방법은 무엇입니까?

  19. 19

    macOS 게스트를 사용하여 VirtualBox에서 UEFI 셸로 부팅하는 방법은 무엇입니까?

  20. 20

    wget을 사용하여 호스팅 사이트에서 다운로드하는 방법은 무엇입니까?

  21. 21

    (U) EFI MacBook에서 Mac OS X로 듀얼 부팅 NixOS를 구성하는 방법은 무엇입니까?

  22. 22

    플래시를 사용하여 커스텀 카메라로 사진을 찍는 방법은 무엇입니까?

  23. 23

    EFI로 BIOS 설정에 액세스하는 방법은 무엇입니까?

  24. 24

    자바 스크립트를 사용하여 채팅을 새로 고치는 방법은 무엇입니까?

  25. 25

    커널 명령 줄 매개 변수를 사용하여 sysctl을 설정하는 방법은 무엇입니까?

  26. 26

    부팅 후 busybox를 사용하여 프로그램을 자동 실행하는 방법은 무엇입니까?

  27. 27

    systemd 부팅을 사용하여 레이블로 cryptdevice를 지정하는 방법은 무엇입니까?

  28. 28

    키보드를 사용하여 터미널 에뮬레이터 창을 더 작은 단계로 스크롤하는 방법은 무엇입니까?

  29. 29

    부팅 가능한 Ubuntu USB 스틱을 더 큰 스틱으로 복제하는 방법은 무엇입니까?

뜨겁다태그

보관