EFI 펌웨어가 포함된 Asus 마더보드를 구매할 예정이며 하드웨어가 도착하면 Windows와 Debian을 설치할 준비가 되어 있기를 바랍니다. 이 길을 걸어본 누군가가 나에게 조언을 해줄 수 있기를 바랍니다.
새로운 UEFI 기반 시스템에 Windows 7 및 Debian을 설치하기 전에 어떤 준비를 해야 합니까?
답변1
편집하다:이 답변을 작성했을 때 EFI_STUB 구성 커널과 함께 제공되는 배포판은 거의 없었으므로 사용자 정의 커널을 구축해야 했습니다. 오늘날 대부분의 배포판은 적절하게 구성된 커널과 함께 제공되므로 사용자 정의 빌드가 필요하지 않습니다. 이런 경우에는 이런 부분이"파티션 설정"그리고"일을 정리하세요"흥미롭게도 "요구 사항"과 "커널 컴파일"은 건너뛸 수 있습니다.
Windows가 UEFI를 어떻게 처리하는지 모르겠지만 데비안 측면에서는 매우 간단합니다.
파티션 설정
MBR 대신 GPT 파티션 구성표를 사용하십시오.
UEFI를 사용하여 GPT 파티션에서 부팅하려면 다음과 같은 전용 부팅 파티션을 사용해야 합니다.EFI 시스템 파티션(ESP). 필수는 아니지만 가장 호환되는 방법은 FAT32 파티션을 사용하는 것입니다. 대부분의 경우 크기는 200MiB이면 충분합니다.
파티션을 ESP로 등록하려면 플래그로 표시해야 합니다 boot
. MBR 방식과 달리 부팅 플래그는 부팅할 수 있는 파티션이 아닌 ESP를 나타내는 데만 사용됩니다.
UEFI는 디렉터리 구조를 사용하여 \EFI\<vendor>\<application>.efi
UEFI 애플리케이션을 저장합니다. 디렉토리 구분 기호는 다음과 같습니다.백슬래시, Linux에서도 마찬가지입니다.릴리스 이름일 수 있으며 실제 값은 UEFI와 관련이 없습니다.
애플리케이션은 메모리 검사기 또는 UEFI 셸과 같은 시스템 유틸리티일 수 있습니다. 운영 체제 로더일 수도 있고 운영 체제 자체일 수도 있습니다. 부팅 시 시작하려면 이러한 애플리케이션을 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
현재 이 구성의 커널은 Debian에서 안정적이지 않습니다. 자신만의 커널을 굽거나 실험 트리의 커널을 사용할 수 있습니다. 이 경우 다음 단락을 건너뛸 수 있습니다.
커널 컴파일
(더 이상 필요하지 않을 수 있습니다. 편집 참조)
커널을 컴파일하기로 결정한 경우 수행 방법에 대한 간단한 지침은 다음과 같습니다. 문제가 발생하면 커널을 컴파일하는 방법에 대한 많은 정보가 있습니다.
소스 코드 받기
자식 클론 자식://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
특정 버전 보기
자식 체크아웃 v3.6
커널 구성
메뉴 구성하기
시스템에 필요한 설정을 지정하거나 사용자 정의할 항목이 없는 경우 그대로 두십시오. 그러면 이 파일에 커널 구성이 기록됩니다 .config
.
이전 단락의 설정이 지정되었는지 확인하세요. 선택도 의미가 있습니다 CONFIG_INPUT_EVBUG=n
. 그렇지 않으면 로그가 GiB의 쓰레기로 채워질 것입니다.
커널 빌드
INSTALL_MOD_STRIP=1 make-kpkg --uc --us 바이너리 아키텍처
이러한 패키지는 상위 디렉터리에 생성됩니다.
커널 설치
dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb
initramfs 빌드
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 | iconv -f ascii -t ucs2 | efibootmgr\ - 만들다 \ --gpt\ --디스크/개발자/sda \ --4부 \ --label "Debian Linux 커널 3.6.0" \ --loader "\\EFI\\debian\\vmlinuz-3.6.0" \ --서명 쓰기 \ --바이너리 매개변수 추가-
매개변수는 --disk
ESP가 아닌 커널이 있는 장치입니다.
--part
커널이 위치한 파티션 번호입니다. --label
UEFI 부팅 메뉴의 항목입니다.
사용 가능한 항목 목록을 보려면 efibootmgr
인수 없이 실행하면 됩니다. 특정 항목 삭제를 위한 구문
efibootmgr -b 항목(16진수) -B
예를 들어:
efibootmgr -b 001a -B
이러한 지침은 커널 업데이트 상황을 처리하지 않습니다. 커널과 initramfs는 ESP에 자동으로 복사되지 않습니다. 이는 커널과 initramfs를 ESP에 복사하고 실행하는 짧은 스크립트를 사용하여 수행할 수 있습니다 efibootmgr
. 이 스크립트는 /etc/kernel/postinst.d
커널 업데이트 후에 자동으로 시작되도록 배치할 수 있습니다.
노트: GRUB와 같은 부팅 관리자가 필요하지 않으며 UEFI 자체가 부팅 관리자 역할을 합니다.
이것이 Linux 측에서 요구하는 전부입니다. Windows를 추가하는 데 무엇이 필요한지 모르겠습니다.
답변2
UEFI가 Linux를 컴퓨터에서 잠그지 않는지 확인하십시오. BIOS에 이를 수행하는 설정이 있을 수 있습니다. 확인하고 확인하세요. 필요한 경우 설명서와 제조업체에 이를 다시 확인하겠습니다.
이에 대한 광범위한 논의가 있으며 ZDNet에는 여러 기사가 있습니다. 에서 나온 기사입니다2011년 9월 21일그리고 하나는9월 23일.
둘째, 기록 데이터에 따르면 Windows를 먼저 설치해야 할 수도 있습니다. 전통적으로 Windows는 이것이 컴퓨터의 유일한 운영 체제라고 가정하여 모든 Linux 관련 부팅 데이터를 지웠습니다. UEFI가 다를 수도 있습니다. 모르겠습니다.
답변3
UEFI에서 Windows와 Linux를 이중 부팅할 필요는 없습니다. 따르다가이드데이터 손실 없이 UEFI를 MBR-BIOS로 변환합니다.
이 가이드는 제가 만들었습니다. 또한 참조된 블로그는 삭제되지 않습니다. 10번 정도 데이터 손실 없이 사용했지만, 프로그램을 사용하기 전에 데이터를 백업하는 것이 좋습니다.
답변4
진심으로 추천할 수 있어요Rod Smith가 작성한 UEFI 기사 시리즈. 그는 비동기화의 위험 때문에 "위험한 해킹"으로 "하이브리드" GPT-MBR을 구체적으로 언급했습니다.