GRUB가 최고의 부트로딩 솔루션인가요? 더 쉬운 옵션이 있나요?

GRUB가 최고의 부트로딩 솔루션인가요? 더 쉬운 옵션이 있나요?

나는 꽤 나쁜 경험을 했습니다 GRUB2. 나는 말할 수 있다(그리고 말했다)디자인 및 개발 과정에 대한 몇 가지 불쾌한 점. 특히 업데이트되는 방식이 마음에 들지 않습니다. 어떤 이유로든 반자동으로 여러 스크립트를 업데이트해야 합니다. 하나의 스크립트는 체인의 다른 스크립트를 통해 간접적으로 업데이트되며 모든 커널 업데이트에 대해 또는 기타 여러 사소한 업데이트에 대해(그리고 겉으로는 관련이 없어 보이지만)구성 변경.

이는 복원을 심각하게 고려하고 있는 이전 경험과는 완전히 대조적입니다. LILO아무런 문제도 없었고 구성도 매우 간단했기 때문입니다. 한편으로는 제가 아는 한 업데이트만 하면 됩니다(또는 업데이트만 되었다고 해도 과언이 아닙니다)각 커널 업데이트에는 관리하기 쉬운 구성 텍스트 파일이 있습니다.

그렇다면 LILO는 오늘날의 코어를 갖춘 최신 하드웨어에서 어떻게 작동합니까? GRUB는 어떻게 합니까? 다른 부트로더는 어떻습니까? 전제 조건을 충족해야 합니까, 아니면 lilo이전에 기억했던 대로 구성 파일을 작성하고 명령을 실행해야 합니까? 커널 패키지 업데이트(Debian/Ubuntu)가 GRUB2와 같은 방식으로 LILO를 업데이트합니까?

답변1

엘리요

Linux용 EFI 부트로더 관리: ELILO 사용

이 중 어느 부분을 복사+붙여넣어야할지 결정하기가 정말 어렵습니다. 다 너무 좋아서 그냥 읽어보시기 바랍니다.

로드 스미스

둘 다 생성하고 유지 관리gdisk그리고rEFInd.

하지만 그 전에 이에 대해 몇 가지 의견을 제시하고 싶습니다. 위의 ELILO 링크는 UEFI 부팅에 대해 찾을 수 있는 많은 페이지 중 하나입니다.Rodsbooks.com로드 스미스가 썼습니다. 그는 뛰어난 기술 작가입니다. UEFI 부팅 주제를 검색했지만 그의 내용을 읽지 못했다면 처음 몇 가지 결과를 건너뛰었기 때문일 가능성이 높습니다.

리눅스 UEFI 부팅

기본적으로 Linux 커널은 펌웨어에 의해 직접 실행될 수 있습니다.

위 링크에서 그가 언급한Linux 커널용 EFI 스텁 로더- 제 생각에는 펌웨어 자체가 Linux 커널을 직접 호출할 수 있도록 하기 때문에 이 기능을 사용해야 한다고 생각합니다. 당신이 무엇을 하든 상관없어요무엇펌웨어에 의해 실행됨 - 뭔가가 실행되고 있는 것 같은 소리가 납니다 grub. 펌웨어가 운영 체제 커널을 직접 로드할 수 있다면 부트로더가 무슨 소용이 있을까요? UEFI 펌웨어는 FAT 형식으로 표시된 GPT 파티션을 마운트합니다.특히테이블을 분할하고 온보드 플래시 모듈에서 실행하고 경로를 UEFI 부팅 변수로 저장합니다. 따라서 할 수 있는 한 가지는 Linux 커널을 해당 FAT 파티션에 놓고 해당 경로를 해당 부팅 변수에 저장하는 것입니다.갑자기 커널이그것은부트로더.

부트 로더

UEFI 시스템에서는 ELILO를 포함하여 부트로더가 중복됩니다.

부트로더가 해결하도록 설계된 문제는 BIOS 시스템이 읽기만 한다는 것입니다.시작하다파티션을 표시하고 실행하십시오. 512바이트 커널로는 의미 있는 작업을 수행하기가 다소 어렵기 때문에 저장 가능한 파일 시스템을 마운트할 수 있는 작은 유틸리티를 작성하는 것이 일반적입니다.실제커널이 이를 체인로드합니다.

실제로 512바이트는 일반적으로 부트로더에도 충분하지 않습니다. grub예를 들어 커널을 체인로드하기 전에 실제로 자체적으로 체인로드합니다.두 번째 단계부트 섹터와 파일 시스템의 첫 번째 섹터 사이의 빈 공간입니다. 더러운 해킹이지만 작동합니다.

부트 매니저

그러나 구성의 편의를 위해일부중개인이 유용할 수 있습니다.

Rod Smith의 rEFInd가 한 일은 EFI로 출시한 것입니다.애플리케이션- 비교적 새로운 개념이다. 펌웨어에 의해 디스크에서 다시 펌웨어로 실행되는 프로그램입니다. rEFInd의 기능은 부팅 메뉴를 관리한 다음 부팅 선택 항목을 반환하는 것입니다.펌웨어로구현하다.UEFI 파일 시스템 드라이버와 함께 제공됩니다.- 예를 들면,당신은 할 수 있습니다비지방분할(현재의 것과 같은 /boot).필요한 경우 관리가 매우 간단하며 실행 가능한 시스템 커널의 단순성과 구성 가능한 부팅 관리자의 편리함이 추가됩니다.

원자 간접

커널에는 심볼릭 링크가 필요하지 않습니다 mount --bind.

/당신이 있는 곳에 길이 있다면~해야 한다심볼릭 링크는 금지되어 있습니다 /boot. 고아 심볼릭 링크는 다음과 /boot같습니다.아니요해결해야 할 문제 유형. 그럼에도 불구하고 /boot내부 커널 업데이트 및/또는 여러 커널 구성을 처리하기 위해 여러 배포판에 걸쳐 복잡한 간접 참조를 설정하는 것은 일반적인 관행입니다 . 비록 그것이 끔찍한 생각이더라도 말입니다.

이것은질문EFI 시스템의 경우아니요파일 시스템 드라이버를 로드하도록 구성됨(예: rEFInd 패키지에서 제공)FAT는 전체적으로 매우 어리석은 파일 시스템이기 때문에 이를 이해하지 못합니다.

저는 개인적으로 rEFInd에서 제공하는 UEFI 파일 시스템 드라이버를 사용하지 않습니다. 대부분의 배포판에는 패키지 관리자를 통해 설치할 수 있는 rEFInd 패키지가 포함되어 있지만 자신의 열악한 심볼릭 링크 /boot구성과 rEFInd 패키지 UEFI 파일 시스템 드라이버를 사용하는 것은 잊어버리세요.

내 구성

한때 그것에 대한 일련의 지침을 작성하여 게시했습니다.여기 있어요이지만 다음과 같습니다.

% grep esp /etc/fstab && 
> ls /esp/EFI

LABEL=ESP          /esp  vfat defaults      0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0 

arch_root/  arch_sqsh/  arch_xbmc/  BOOT/  ipxe/

그래서 저는 /etc/fstab새로운 Linux 설치를 포함할 폴더를 가리키는 이 두 줄을 입력한 다음/boot거의모든 것에 대해 걱정하지 마세요. 나도 해야 할 일:

cat /boot/refind_linux.conf 

"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"

refind-efi첫 번째 설치 패키지를 진행하는 것 외에 pacman원하는 여러 개별 설치/구성을 설정하는 데 필요한 것은 이것이 전부입니다. 위의 문자열은 대부분 커널 매개변수로 지정된 btrfs 관련 설치 옵션으로 구성됩니다. 보다 일반적인 /boot/refind_linux.conf것은 다음과 같습니다.

"Menu Entry" "root=/dev/sda2"

그게 전부입니다.

Rodsbooks.com

여전히 ELILO가 필요한 경우 위 링크에서 설치 지침을 찾을 수 있습니다. rEFInd를 원하는 경우 첫 번째 단락에서 해당 링크를 찾을 수 있습니다. 기본적으로 UEFI 부팅 구성을 수행하려면 다음을 읽으십시오.Rodsbooks.com첫 번째.

답변2

GRUB2 대신 LILO를 사용합니다. 솔직히 말해서 이것은 나에게 선택 사항이 아니었습니다. Debian Live CD 설치 프로그램 중에 GRUB2 설치가 실패했지만 LILO를 설치하는 옵션이 주어졌는데 성공했습니다. 저는 Debian Stable을 실행하는 2년 된 노트북을 가지고 있습니다. LILO는 나에게 완벽합니다.

답변3

릴로 스틸UEFI BIOS에서도 작동합니다. UEFI는 일반적으로 Linux 커널을 직접 로드할 수 있습니다. 그러나 이는 UEFI 자체에 따라 다릅니다.

그러나 부팅 선택 화면이 필요한 경우(예: 단일 컴퓨터에서 여러 운영 체제로 부팅하는 경우) 작은 부트 로더가 유용할 수 있습니다.

나는 사용을 고려할 것입니다외부리눅스그러나 반대로. 이는 SYSLINUX의 변형이지만 ext-type 파티션에 있습니다.

EXTLINUX의 장점은 LILO보다 확장성이 뛰어나고 옵션이 더 많지만 마찬가지로 간단하고 적극적으로 유지 관리할 수 있다는 것입니다.

답변4

나는 코딩했다똑똑해, GRUB이 자동으로 최적의 구성을 찾을 수 있도록 합니다.

관련 정보