ZFS 시스템에 설치된 Arch Linux를 마운트하도록 Grub을 구성하는 방법을 아는 사람이 있습니까?
/dev/sda1
(부팅 파티션)과 (루트 파티션)이 있습니다 /dev/sda2
. ZFS 시스템에는 다음 데이터 컨테이너를 포함하는 zpool main이 있습니다.
main/root mountpoint=none
main/root/default mountpoint=legacy
main/home mountpoint=legacy
또한 mkinitcpio.conf
.
시스템을 부팅하려고 하면 항상 루트 파티션을 마운트할 수 없다는 메시지가 나타납니다.
Grub 구성을 변경해야 합니까? 솔직히 말해서 저는 Grub에도 별로 관심이 없습니다. 그렇게 할 수 있다면 syslinux
바꾸겠습니다.
편집하다:
시작할 때 발생하는 오류는 다음과 같습니다.
starting version 238
no pools available to import
ERROR: Failed to mount the real root device.
Bailing out, you are on your own. Good luck.
답변1
루트 볼륨이 주어지면데이터 세트 /ROOT/archlinux
안에치치 mypool
그리고 /boot
Grub에 다음 명령을 입력하여 데이터세트의 파일을 시작합니다.
insmod part_gpt
search --set --label mypool
linux /ROOT/archlinux@/boot/vmlinuz-linux zfs=mypool rw
initrd /ROOT/archlinux@/boot/initramfs-linux.img
boot
grub>
프롬프트에서 이러한 명령을 입력 하거나 ( c
Grub 메뉴 누르기) 업데이트로 사용할 수 있습니다 /boot/grub/grub.cfg
.
- Grub에는 데이터 세트가 필요합니다.
- 루트 볼륨 데이터 세트의 마운트 지점은 다음과 같아야 합니다
/
. /boot
시작 파일은 이 데이터 세트 에 있습니다 .- 귀하의 initramfs에는
HOOKS=(base udev autodetect modconf block keyboard zfs filesystems)
; - zpool은 모든 기능을 활성화할 수 있습니다(기본값).
- Grub의 위치(zpool과 동일한 디스크 또는 다른 디스크)는 중요하지 않습니다.
고생했으니 참고하세요상당한 고통Grub 프롬프트의 ls
콘텐츠를 나열(사용) 해 보세요. /ROOT/archlinux@/boot
이것을 시도하고 오류가 발생하면 내가 하던 일을 하십시오. 무시하고 부팅을 시도하십시오!