답변1
이 질문에 대답하려면,코어부트+SeaBIOS하다GPT 파티션 지원!
UEFI 또는 BIOS 펌웨어가 부팅 디스크가 가질 수 있는 파티션 테이블 유형과 직교한다는 점을 강조하는 설명은 정확합니다.
- UEFI는 MBR 및 GPT를 지원합니다.
- BIOS는 MBR 및 GPT1을 지원합니다.
- coreboot+SeaBIOS는 MBR 및 GPT1을 지원합니다.
¹BIOS 및 coreboot+SeaBIOS에서 GPT용 BIOS 부팅 파티션만 생성하면 됩니다.
최근에 coreboot+SeaBIOS가 포함된 Librem 14 노트북을 구입했는데 같은 질문이 있습니다. coreboot가 GPT 파티션을 사용하는 데 특별한 장애물을 생성합니까? (검색 엔진에서 이 질문을 검색하다 이 질문이 나왔습니다!) 다행히도 클래식 BIOS/GPT 레이아웃을 사용하는 것이 나에게 적합하다고 보고할 수 있습니다.
기본 설치
불행하게도 저는 Gentoo를 설치한 적이 없으며(제가 사용하는 배포판은 Arch입니다), 시스템이 EFI 변수에 대해 불평하는 이유를 모르지만 배포판 설치 간에 전송할 수 있는 몇 가지 정보를 제공할 수 있기를 바랍니다.
나는 사용했다기본 BIOS/GPT 파티션 구성표, 스왑 파티션은 제외합니다(저는 스왑 파일을 사용합니다).
나는 GPT를 사용하여
gdisk
드라이브를 파티션했습니다 ./dev/nvme0n1
1MiB BIOS 부팅 파티션을 생성했습니다., 드라이브의 나머지 부분에 걸쳐 있는 루트 파티션입니다.BIOS 부팅 파티션에는파일 시스템 없음(
FSTYPE
)또는 마운트 지점, 루트 파티션의 경우 ext4입니다.lsblk -o name,parttypename,fstype,size,mountpoint
NAME PARTTYPENAME FSTYPE SIZE MOUNTPOINT nvme0n1 ├─nvme0n1p1 BIOS boot 1M └─nvme0n1p2 Linux filesystem ext4 931.5G /
그런 다음 GRUB을 설치했습니다.
grub-install --target=i386-pc /dev/nvme0n1
('라고 생각하실 수도 있겠네요.무엇? !
i386-pc
???나는 1985년의 32비트 CPU를 사용하고 있지 않습니다!' 하지만 이것이grub-install
기본 플래그이고예coreboot+SeaBIOS 시스템을 포함한 x86-64 BIOS 시스템용 플래그입니다. 여기서는 다른 소스에서의 발생을 설명하고 사람들이 잘못된 플래그를 포함하지 않도록 하기 위해서만 언급합니다. 예를 들어x86_64-efi
UEFI에서만 작동합니다. )나중에 편집하여 더 나은 GRUB 설정을 지정할 수 있습니다
/etc/default/grub
(그러나 저는 아무것도 설정하지 않았습니다).그런 다음 GRUB 구성 파일을 생성했습니다.
grub-mkconfig -o /boot/grub/grub.cfg
그 후 디스플레이 관리자와 데스크탑 환경을 설치하고 일부 서비스를 활성화한 후 새로운 Arch 설치로 재부팅했습니다. 나는 목록을 작성하고 싶습니다.모두내 설치에 대한 잔혹한 세부 사항(나는 대략적으로 따랐습니다.아치 설치 가이드), 그러나 여기서는 범위를 벗어납니다. 핵심 정보는 위에 나열된 파티션 구성표 및 GRUB 설치입니다.
LUKS 디스크 암호화를 사용하여 설치
coreboot+SeaBIOS에서 GPT 디스크를 암호화하려면 유효한 설정은 위의 기본 설정과암호화루트 파티션( p3
)을 선택하고 암호화되지 않은 ~500MiB /boot
파티션( p2
)을 추가합니다.
lsblk -o name,parttypename,fstype,size,mountpoint
NAME PARTTYPENAME FSTYPE SIZE MOUNTPOINT
nvme0n1 931.5G
├─nvme0n1p1 BIOS boot 1M
├─nvme0n1p2 Linux filesystem ext2 512M /boot
└─nvme0n1p3 Linux filesystem crypto_LUKS 931G
└─cryptroot ext4 931G /
보너스 정보
위의 파티션 구성표를 사용하여 이 작업을 수행하는 방법이 궁금하신 분은 먼저 암호화된 루트 파티션을 루트 파티션으로 설정하고 열고 포맷하세요.
cryptsetup --verify-passphrase --verbose luksFormat /dev/nvme0n1p3
cryptsetup open /dev/nvme0n1p3 cryptroot
mkfs.ext4 /dev/mapper/cryptroot
그런 다음 마운트하고 /boot
파티션을 나누십시오 ...
mount /dev/mapper/cryptroot /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p2 /mnt/boot
...그리고 Arch의 경우 일반적으로 다음과 같습니다.설치 설명서그때부터.
GRUB 설치 세부 사항과의 유일한 차이점은 부트 로더(GRUB)를 설정해야 한다는 점입니다.기본 설치윗부분은 너야~ 할 것이다GRUB 설정을 구성하려면 상단 변수를 편집 /etc/default/grub
해야 합니다 .GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="cryptdevice=UUID=XXXXXX:cryptroot root=/dev/mapper/cryptroot"
XXXXXX
UUID는 어디에 있나요?밖의, 루트 파티션을 암호화합니다. nvme0n1p3
(아니요내부, 해독된 루트 파티션, cryptroot
):
lsblk -o name,uuid
NAME UUID
...
└─nvme0n1p3 XXXXXX
└─cryptroot
그런 다음 GRUB 구성 파일을 생성하고 아래 단계를 따르십시오.기본 설치부분.