(루트)가 F2FS인 경우 GRUB를 암호화된 파티션에 설치할 수 없습니다.

(루트)가 F2FS인 경우 GRUB를 암호화된 파티션에 설치할 수 없습니다.

/boot아래 설명과 같이 암호화된 파티션을 사용하여 새로운 Arch Linux 설치를 설정하려고 합니다 .https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Encrypted_boot_partition_.28GRUB.29

세 개의 파티션을 만들고 있습니다 cgdisk.

/dev/sda1 - 유형 ESP( ef00) 크기 100MiB
/dev/sda2 - 유형 Linux( 8300) 크기 200MiB - 사용됨 /boot(암호화 후)
/dev/sda3 - 유형 Linux LVM( 8e00) 크기 12GiB - 사용됨 /(암호화 후)

그런 다음 다음 명령을 따랐습니다.

mkfs.fat -F32 /dev/sda1

cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 cryptoboot
mkfs.ext2 /dev/mapper/cryptoboot
mkdir /mnt/boot
mount /dev/mapper/cryptoboot /mnt/boot

mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

cryptsetup luksFormat /dev/sda3
cryptsetup open /dev/sda3 cryptosystem
mkfs.f2fs /dev/mapper/cryptosystem
mount /dev/mapper/cryptosystem /mnt

# edit "/etc/pacman.d/mirrorlist" as needed

pacstrap /mnt base grub-efi-x86_64 efibootmgr dosfstools f2fs-tools

genfstab -U /mnt >> /mnt/etc/fstab

arch-chroot /mnt

# remember to configure time, locale, language and hostname

# edit "/etc/mkinitcpio.conf"
# HOOKS="base udev autodetect modconf block keymap encrypt lvm2 filesystems keyboard fsck"

mkinitcpio -p linux

# edit "/etc/default/grub"
# GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda3:lvm"
# GRUB_ENABLE_CRYPTODISK=y

grub-mkconfig -o /boot/grub/grub.cfg

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck

다음 오류가 발생합니다.

x86_64 플랫폼용으로 설치되었습니다.
grub-install: 오류: '/boot/efi'에 대한 정식 경로를 얻을 수 없습니다.

이미 시도했습니다:

  • 설치 fuse2mtools패키지

  • 환경에서 디렉터리를 다시 생성 /boot/efi하고 다시 설치합니다./dev/sda1chroot


그것을 사용할 때외부 4루트 파티션의 경우 마지막 프로세스가 작동하고 GRUB가 설치되었으며 심지어 부팅되었습니다(이상하게도 재설치가 필요하지 않았습니다 mkdir).

그러나 F2FS의 경우 오류 메시지가 다음과 같이 변경되었지만 이것만으로는 충분하지 않았습니다.

x86_64 플랫폼용으로 설치되었습니다.
grub 설치: 오류: 알 수 없는 파일 시스템.

Arch 위키에 따르면 ([1],[2]) GRUB가 지원하는 다른 파일 시스템과 함께 별도의 파티션에 설치되어 있는 경우 루트에 F2FS를 사용할 수 있습니다. 내 /boot파티션은 ext2. 그럼 왜 설치가 안되나요?

도움을 주셔서 감사합니다매우.

답변1

/etc/fstabgenfstab해결 방법은 항목을 추가하지 않고 수동으로 수행해야 하기 때문에 생성할 때 집중하는 것입니다 ./boot/boot/efi

그런 다음 chrootESP뿐만 아니라 /boot파티션도 다시 마운트해야 합니다. 그러면 grub-install작동할 준비가 된 것입니다.

고쳐 쓰다:마운트 /boot및 ESP는 실제로 루트 파일 시스템을 에 마운트한 후에 수행되어야 합니다 /mnt.

# format the ESP
mkfs.fat -F32 /dev/sda1

# set up LUKS for the boot partition
cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 cryptoboot
mkfs.ext2 /dev/mapper/cryptoboot

# same for the root partition
cryptsetup luksFormat /dev/sda3
cryptsetup open /dev/sda3 cryptosystem
mkfs.f2fs /dev/mapper/cryptosystem

# mount root, and only then, mount /boot and the ESP, in that order
mount /dev/mapper/cryptosystem /mnt

mkdir /mnt/boot
mount /dev/mapper/cryptoboot /mnt/boot

mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

# edit "/etc/pacman.d/mirrorlist", then continue with pacstrap etc

이것은 논리적인 질문이다. 이 순서대로 작업을 수행하면 genfstab모든 파티션에 대한 항목이 올바르게 생성되고 모든 것이 잘 작동합니다.

관련 정보