/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'에 대한 정식 경로를 얻을 수 없습니다.
이미 시도했습니다:
설치
fuse2
및mtools
패키지환경에서 디렉터리를 다시 생성
/boot/efi
하고 다시 설치합니다./dev/sda1
chroot
그것을 사용할 때외부 4루트 파티션의 경우 마지막 프로세스가 작동하고 GRUB가 설치되었으며 심지어 부팅되었습니다(이상하게도 재설치가 필요하지 않았습니다 mkdir
).
그러나 F2FS의 경우 오류 메시지가 다음과 같이 변경되었지만 이것만으로는 충분하지 않았습니다.
x86_64 플랫폼용으로 설치되었습니다.
grub 설치: 오류: 알 수 없는 파일 시스템.
Arch 위키에 따르면 ([1],[2]) GRUB가 지원하는 다른 파일 시스템과 함께 별도의 파티션에 설치되어 있는 경우 루트에 F2FS를 사용할 수 있습니다. 내 /boot
파티션은 ext2
. 그럼 왜 설치가 안되나요?
도움을 주셔서 감사합니다매우.
답변1
/etc/fstab
genfstab
해결 방법은 항목을 추가하지 않고 수동으로 수행해야 하기 때문에 생성할 때 집중하는 것입니다 ./boot
/boot/efi
그런 다음 chroot
ESP뿐만 아니라 /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
모든 파티션에 대한 항목이 올바르게 생성되고 모든 것이 잘 작동합니다.