EFI에서 Windows 7 및 Debian을 이중 부팅하기 전에 어떻게해야합니까?


10

EFI 펌웨어가 포함 된 Asus 마더 보드를 구입하려고하는데 하드웨어가 도착하면 Windows와 데비안을 설치할 준비를하고 싶었습니다. 나는이 길로 내려간 누군가가 나에게 몇 가지 조언을 줄 수 있기를 바랐다.

새로운 UEFI 기반 시스템에 Windows 7 및 Debian을 설치하기 전에 어떤 준비를해야합니까?

답변:


8

편집 : 이 답변을 작성하면 EFI_STUB 구성 커널과 함께 제공되는 배포본이 거의 없으므로 사용자 정의 커널을 작성해야했습니다. 오늘날 대부분의 배포판은 적절하게 구성된 커널을 제공하며 더 이상 사용자 정의 빌드가 필요하지 않습니다. 이 경우 “파티션 설정 “설정 섹션 은 흥미로운 것입니다.“요구 사항”및“커널 컴파일”은 건너 뛸 수 있습니다.

Windows가 UEFI를 처리하는 방법을 모르지만 데비안 측면에서는 매우 간단합니다.

파티션 설정

MBR이 아닌 GPT 파티션 구성표를 사용하십시오.

UEFI를 사용하여 GPT 파티션에서 부팅하려면 EFI SYSTEM PARTITION (ESP) 이라는 전용 부팅 파티션이 필요 합니다. 필수는 아니지만 가장 호환 가능한 방법은 FAT32 파티션을 사용하는 것입니다. 대부분의 경우 200MiB 크기가 적당합니다.

파티션을 ESP로 등록하려면 플래그로 boot플래그를 지정해야합니다 . MBR 구성표와 달리 부팅 플래그는 부팅 할 수있는 파티션이 아니라 ESP를 나타내는 데만 사용됩니다.

UEFI는 디렉토리 구조 \EFI\<vendor>\<application>.efi를 사용하여 UEFI 응용 프로그램을 저장합니다. 디렉토리 구분 기호는 Linux에서도 백 슬래시 로 표시됩니다 . 배포 이름 일 수 있으며 실제 값은 UEFI와 관련이 없습니다.

응용 프로그램은 메모리 검사기 또는 UEFI 셸과 같은 시스템 유틸리티 일 수 있습니다. OS 로더 또는 운영 체제 자체 일 수도 있습니다. 부팅시 시작할 수 있으려면 이러한 응용 프로그램을 UEFI에 등록해야합니다.

요구 사항

Linux 커널 버전> = 3.3은 UEFI에서 직접로드 할 수 있습니다. 커널은 자체 로더 역할을 할 수 있습니다. 이것을 EFISTUB 라고 합니다 . 다음과 같은 커널 구성이 필요합니다.

CONFIG_EFI = y
CONFIG_EFI_PARTITION = y
CONFIG_EFI_STUB = y
CONFIG_RELOCATABLE = y
CONFIG_FB_EFI = y
CONFIG_FRAMEBUFFER_CONSOLE = y
CONFIG_EFI_VARS = m

이 설정을 가진 커널은 현재 데비안에서 안정적이지 않습니다. 자신의 커널을 굽거나 실험 트리에서 커널을 사용하여 다음 단락을 건너 뛸 수 있습니다.

커널 컴파일

(아마도 더 이상 필요하지 않습니다. 편집 참조)

커널을 컴파일하기로 결정했다면 여기에 간단한 방법이 있습니다. 문제가 발생하면 커널 컴파일 방법에 대한 정보가 많이 있습니다.

소스 얻기

git clone git : //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

하나의 특정 버전을 확인하십시오

자식 체크 아웃 v3.6

커널 설정

menuconfig를 만드십시오

시스템에 필요한 설정을하거나 사용자 정의 할 것이없는 경우 그대로 두십시오. 이것은 커널 구성을 파일에 기록합니다 .config.

이전 단락의 설정이 설정되어 있는지 확인하십시오. 또한를 선택하는 것이 CONFIG_INPUT_EVBUG=n좋습니다. 그렇지 않으면 로그가 GiB의 정크로 채워집니다.

커널 구축

INSTALL_MOD_STRIP = 1 make-kpkg --uc --us 바이너리-아키

패키지는 상위 디렉토리에 작성됩니다.

커널 설치

dpkg -i linux-image-3.5.0_Custom.deb 리눅스 헤더 -3.5.0_Custom.deb

초기화하기

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0

3.6.0은 커널 버전입니다. 이전 커널을 계속 실행하고 있기 때문에 기본적으로 실행중인 커널이 바람직하지 않습니다.

설정

Linux 커널을 부팅하려면 initramfs와 함께 ESP에 복사해야합니다. ESP가/boot/efi

/boot/efi/EFI/debian/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0

참고 : 대부분의 시스템과 호환되도록 확장 efi기능을 커널에 추가해야합니다.

이제 커널을 UEFI에 등록 할 수 있습니다. 우리는 그 도구 efibootmgr를 사용합니다 .

echo "root = UUID = 3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype = ext4 add_efi_memmap initrd = \\ EFI \\ debian \\ initrd.img-3.6.0"|
  iconv -f ascii -t ucs2 |
  efibootmgr \
    --창조하다 \
    --gpt \
    --disk / dev / sda \
    -파트 4
    --label "데비안 리눅스 커널 3.6.0"\
    -로더 "\\ EFI \\ debian \\ vmlinuz-3.6.0"\
    -쓰기 서명 \
    -첨부 이진 인수-

인수 --disk는 ESP가 아니라 커널이 상주하는 장치입니다. --part커널이있는 파티션 번호입니다. --labelUEFI 부팅 메뉴의 항목입니다.

사용 가능한 항목 목록을 보려면 efibootmgr인수없이 시작하십시오 . 특정 항목을 삭제하는 구문

efibootmgr -b 항목 (16 진) -B

예를 들면 다음과 같습니다.

efibootmgr -b 001a -B

이 지침은 커널 업데이트의 경우를 처리하지 않습니다. 커널과 initramfs는 ESP에 자동으로 복사되지 않습니다. 이 작업은 커널과 initramfs를 ESP에 복사하고 실행하는 간단한 스크립트를 사용하여 수행 할 수 있습니다 efibootmgr. 이 스크립트는 /etc/kernel/postinst.d커널이 업데이트 된 후 자동으로 시작 되도록 배치 할 수 있습니다 .

참고 : GRUB와 같은 부팅 관리자는 필요하지 않으며 UEFI 자체는 부팅 관리자 역할을합니다.

이것이 리눅스 측에서 필요한 전부입니다 .Windows를 추가하는 데 필요한 것이 무엇인지 모르겠습니다.


2

UEFI가 시스템에서 Linux를 잠그지 않도록하십시오. BIOS에 해당 효과에 대한 설정이있을 수 있습니다. 확인하고 확인하십시오. 필요한 경우 설명서와 제조업체에서이 점을 다시 확인하겠습니다.

그것에 대한 확장 된 토론이있었습니다. ZDNet에는 여러 기사가 있습니다. 여기에서 기사입니다 2011년 9월 21일 에서 하나 (23) 9 월 .

둘째, 기록 데이터를 기반으로 Windows를 먼저 설치하는 것이 좋습니다. 전통적으로 Windows는 시스템에서 유일한 OS라고 가정하므로 Linux와 관련된 모든 부팅 데이터를 지 웁니다. 이것은 UEFI와 다를 수 있습니다.


2

UEFI에서 Windows와 Linux를 이중 부팅 할 필요는 없습니다. 가이드 를 따라 데이터 손실없이 UEFI를 MBR-BIOS로 변환하십시오.

이 안내서는 저에 의해 만들어졌습니다. 또한 추천 블로그는 게시 중단되지 않습니다. 데이터 손실없이 10 회처럼 사용했지만 절차를 사용하기 전에 데이터를 백업하는 것이 좋습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.