실습 : Linux UEFI 멀티 부팅 파트 3, 문제 해결

우리는 지금 가정에서 스트레칭 중입니다. 이 시리즈의 첫 번째 글에서는 UEFI 펌웨어가있는 시스템에서의 Linux 설치의 일반적인 특성, 특히 디스크가 어떻게 분할되어 있는지, 멀티 부팅 설치가 서로 어떻게 상호 작용 하는지를 살펴 보았습니다.

두 번째 글에서는 부트 프로세스에 대한 세부 사항과 GRUB 설정 파일이 어떻게 설치되었는지를 살펴 보았습니다. 간단한 리눅스 전용 설치와 리눅스와 Windows / Linux 조합을 이용한 멀티 부팅을위한 것입니다. 아휴. 그것은 커버해야 할 좋은 영역이며,이 시점에서 나와 함께있는 사람들을 축하합니다.

이제 예외적이거나 비협조적 인 두 가지 예외 상황을 살펴보고자합니다.

기술 벤더들은 암울한 배경을 사용하여 옴니 채널, 분석 및 인터넷을 아마존 대 마술의 총알처럼 투구합니다.

하나의 일반적인 경우는 Ubuntu와 Linux Mint를 동일한 시스템에 설치하는 것입니다. 나는 이것을 ‘비협조적인’상황이라고 생각한다. Linux Mint는 Ubuntu라는 이름의 EFI 부트 디렉토리를 사용하기 때문에 우분투 자체가 사용하는 것과 분명히 충돌합니다 (duh). 그러나 UEFI 설치를 위해 무엇을 할 것인지, 또는 어디에서 실제로 할 것인지 알려주지 않으므로이 두 가지를 함께 설치하려고 할 때 처음 알게 될 가능성은 거의 없습니다.

따라서 전형적인 시나리오는 UEFI 시스템에이 두 가지 중 하나를 설치하면 효과가 있습니다. 당신은 그냥 앉아서 얼마나 쉬웠는지 생각해 보았습니다. 그리고 다른 하나를 설치할 때 (이 순서는 중요하지 않습니다.) 멋진 세상이 무엇인지 생각해보십시오. 두 번째 설치는 오류나 경고없이 정상적으로 완료되며 부팅되어 정상적으로 실행됩니다. 이제 설치 한 첫 번째 부팅을 시도 할 때까지 정말 기쁩니다. 실제로 두 번째 부팅이 올 것입니다. 어 오.

일어난 일은 이름 충돌 때문에 설치 한 두 번째 파일이 첫 번째 EFI 부팅 구성을 덮어 썼다는 것입니다. 유감스럽게도 Ubuntu 나 Linux Mint는 설치 중에 EFI 부팅 파티션을 선택할 수 없으므로이 문제를 피할 수 없습니다. 실제로 위에서 언급 한 것처럼 어느 쪽도 당신에게 그것이 무엇을 할 것인지 알려주지 않고 이미 겹쳐 쓰게 될 무언가가 있다는 것을 경고하지 않기 때문에오고있는 것을 볼 수 없습니다.

참고 : 나는이 상황이 더 새로운 릴리스로 개선되기를 바랬다. 하지만 최신 Ubuntu 15.04 Beta를 사용해 보았습니다. UEFI 설치시 정보가 없으며 유연성 / 구성 가능성이 없습니다. 리눅스 민트 데비안 에디션 2의 베타 버전은 더 좋아 보인다. 적어도 당신이 EFI 부트 디렉토리를 선택할 수있게하려고 시도하지만, ‘일반’민트 배포판이 우분투 유비쿼터스 설치 프로그램에서 MDE로 바뀔 것이라는 것은 분명하지 않다. 설치 관리자.

이 문제를 피하기 위해 가장 쉽고 안정적인 방법은 두 설치 사이에 개입하고 첫 번째 EFI 부팅 디렉터리를 이동하는 것입니다. 분명한 방법은 단순히 Mint를 먼저 설치 한 다음 / boot / efi / EFI / 우분투를 / boot / efi / EFI / mint로 이름을 변경하는 것과 같이 이름을 바꾸는 것입니다. 유감스럽게도 두 배포본 모두 우분투 이름을 참조하는 EFI GRUB 프로그램에 하드 코딩 된 것으로 보이기 때문에 그 중 하나가 작동하지 않습니다. 블레아.

내가 사용하는 해결 방법은 다른 EFI 부팅 파티션을 만드는 것입니다. gparted 또는 원하는 디스크 / 파티션 관리자를 사용하고 작은 FAT32 파티션 (128MB 정도)을 만드십시오. 그런 다음 해당 파일 시스템을 편리하게 마운트하고 / EFI 디렉토리를 만든 다음 / boot / efi / EFI / 우분투 디렉토리를 복사 (또는 이동) 한 다음 마운트 해제합니다. 다음에 부팅 할 때이 새로운 EFI 부트 파티션을 / boot / efi에 마운트 할 수 있도록 / etc / fstab을 편집해야합니다.

마지막으로이 새로운 EFI 부팅 파티션을 실제로 사용하도록 구성해야합니다. 이전 게시물에서 설명한 GRUB 구성을 사용하는 경우 루트 값을 수정해야하며 BIOS 부팅 선택 기능 (F12 또는 무엇이든)을 사용하려면 Linux efibootmgr 명령을 사용해야합니다 부팅 목록에 새로운 항목을 만드십시오.

-b 0000은 부팅 순서에서 고유 한 번호 여야합니다. 이미 정의 된 것을 사용하려고하면 오류가 발생합니다. -p 9는 생성 한 새 EFI 파티션의 번호입니다.

Linux grub-install 명령을 사용하여이 충돌을 피하기 위해 EFI 부트 디렉토리를 이동 / 재 작성하는 훨씬 간단한 방법이 있습니다. 이를 사용하려면 명령 줄에 필요한 EFI 아키텍처 (기본적으로 i386 또는 x86_64), EFI 디렉토리를 만드는 위치 (거의 항상 / boot / efi) 및 EFI 부트 디렉토리에 사용할 이름을 지정해야합니다 (우분투 이외의 것)

불행하게도, 이것은 우분투 / 민트 케이스의 문제를 해결하지 못합니다. 왜냐하면 위에서 언급했듯이 ‘우분투’라는 이름을 가리키는 하드 코드가 있기 때문입니다. 실제로 일어나는 일은 새로운 EFI 부팅 디렉토리가 만들어지고 올바른 파일을 포함하고있는 것처럼 보입니다. 실제로이 새 디렉토리를 가리 키도록 부팅 구성을 변경하면 시스템이 작동하는 것처럼 보입니다.

그러나 이전 우분투 EFI 디렉토리를 지우면 다음에 부팅을 시도 할 때 실패합니다. 즉 부트 프로세스가 여전히 이전 이름으로 무언가를 찾고 있음을 의미합니다. 이후에 / boot / efi / EFI / ubuntu 디렉토리를 다시 만든 다른 배포판을 설치 한 다음이 방법으로 변경 한 원본 부트를 시도하면 실제로 부팅을 끝내는 것은 다시 한번 새로운 배포판입니다 . 응.

실습 : Linux UEFI 멀티 부팅, 내 방식 : Linux UEFI 멀티 부팅, 2 부 : openSuSE, Fedora, Ubuntu 등을 사용하여 시험판 Linux 테스트 베드 제작

엔터프라이즈 소프트웨어, 달콤한 수세! HPE는 Linux 배포판, Cloud (클라우드), Red Hat은 여전히 ​​OpenStack 회사, Enterprise 소프트웨어, 초기 Linux로 시작, Linux, Linux 생존 가이드 : Linux 및 Windows간에 쉽게 이동할 수있는 21 가지 응용 프로그램을 계획하고 있습니다.

그래, 나도 알아, 그건 혼란스럽고 지저분 해.하지만 나는 민트가 우분투 이름을 사용하기로 결정한 사람이 아니야. UEFI 지원을받은 첫 번째 민트 (Mint) 출시가이 작업을 수행하지 않았기 때문에 뭔가 잘못 됐고 민트 개발자는 우분투 이름을 사용하는 것이 유일한 방법이라고 결정했기 때문에 실제로는 짜증이납니다. 더욱더 짜증나는 LMDE (Mint Debian)은이 이름을 사용하지 않고 / boot / efi / EFI / linuxmint에 설치하므로이 충돌을 피하는 방법을 분명히 알고 있습니다. 그들이 해결할 수없는 문제가 민트 설치 프로그램 대신 Ubuntu 설치 프로그램을 사용하는 것과 관련이 있는지 궁금합니다.

어쨌든, 그것은 한 가지 문제입니다. 또 다른 문제는 UEFI 지원이없는 Linux 배포판을 Linux UEFI 멀티 부팅 시스템에 설치하려고 시도하는 것입니다.

내가 사람들에게 설명하기 시작할 때마다 항상 저를 멈추고 “그냥 레거시 부트 활성화”라고 말하고 싶습니다. 충분히 좋을 수도 있지만 경우에 따라서는 가능하지 않거나 최선의 선택이 아닌 여러 가지 상황이 있습니다. 예를 들어 다른 UEFI 호환 배포판을 이미 여러 개 설치했을 수 있으며 그 대신에 해당 경로를 계속 진행하는 것이 좋습니다. 이들 모두에 대해 Legacy Boot (MBR)로 전환하는 것보다.

이 경우 적어도 UEFI와 호환되지 않는 배포판을 설치할 수있을만큼 오래 시스템 BIOS에서 레거시 부팅을 활성화해야합니다. 그런 다음 설치하는 동안 선호하는 것은 MBR 부트 정보를 자체 루트 파티션에 포함 시키거나 부트 로더를 전혀 설치하지 않는 것입니다. 이 중 하나 또는 둘 모두는 대개 대부분의 Linux 설치 프로그램에서 옵션이지만, 최악의 경우 두 가지 중 하나를 사용할 수없는 경우 디스크 드라이브의 MBR에 설치할 수 있습니다.

설치가 완료되면 UEFI 부팅으로 전환 한 다음 주 부팅 설치로 사용하기로 선택한 항목에서 grub-mkconfig 명령을 실행하거나 설명 된대로 grub.cfg 파일을 수동으로 설정할 수 있습니다 linuxefi 및 initrdefi를 사용하여 새 운영 체제를로드하는 이전 게시물에 설명되어 있습니다.

필자는 Kali Linux와 Manjaro Linux를 UEFI 시스템에 설치하기 위해이 작업을 여러 차례 수행했으며, 정상적으로 작동합니다. 좋지는 않지만 OK. 이전 게시물에서 설명한 단점은 대상 배포의 커널 업데이트가 부팅 구성에서 자동으로 선택되지 않는다는 것입니다.

마지막으로 UEFI가 아닌 Linux 배포판을 설치 한 다음 UEFI 부팅 기능을 추가하는 방법을 살펴 보겠습니다. 이것은 또한 어려운 일이 아니지만 적어도 GRUB에서 배포 저장소의 몇 가지 지원 패키지와 함께 EFI 호환 버전을 얻을 수 있어야합니다

그런 다음 이전과 같이 EFI 부팅 파티션 (FAT 파일 시스템)을 만들고 / boot / efi에 마운트합니다. 이것은 부팅 할 때마다 마운트되어야하므로 / etc / fstab에 추가해야합니다. 그런 다음 위에서 설명한대로 grub-install 명령을 사용하여 EFI 부팅 디렉토리와 그 내용을 만듭니다. 예를 들어, Manjaro Linux에서이 명령을 사용했고 명령은 다음과 같습니다.

그런 다음 grub-mkconfig 명령을 사용하여 적절한 grub.cfg 파일을 만듭니다. 그러면 UEFI 부팅을 위해 Linux 자체가 준비됩니다. 마지막 단계는 efibootmgr 명령을 사용하여이 배포에 대한 BIOS 부팅 구성에 항목을 추가하는 것입니다. 우리는 전에도 이것을 보아왔다.

-b 옵션으로 지정된 부팅 순서 번호는 고유해야하므로 efibootmgr -v를 사용하여 기존 구성을 확인하고 이미 사용 된 번호를 확인할 수 있습니다. -p 플래그는 EFI 부팅 파티션의 파티션 번호를 지정해야합니다.

좋습니다.

요약 : UEFI 부팅을 위해 디스크를 분할하는 방법과 부팅 프로세스 자체가 어떻게 작동하는지 보여주기 시작했습니다. 필자는 시스템에서 멀티 부팅을 설정하는 방법을 보여주었습니다. 마지막으로 멀티 부팅 시스템에서 가장 많이 발생하는 문제와 혼란의 원인과 이러한 문제를 해결할 수있는 몇 가지 방법에 대해 살펴 보았습니다. 이 정보가 모두 UEFI 펌웨어를 다루려고하는 사람들에게 혼란을주는 것보다 유용하다는 것이 입증되기를 바랍니다.

내 블로그 더 읽기

달콤한 수세! HPE 자체가 Linux 배포판을 방해합니다.

Red Hat은 여전히 ​​OpenStack 회사가 될 계획입니다.

초기에 리눅스로 시작하기

Linux 생존 가이드 :이 21 개의 응용 프로그램을 사용하면 Linux와 Windows간에 쉽게 이동할 수 있습니다.