%20grub-update%EA%B0%80%20%EB%8B%A4%EB%A5%B8%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EC%9D%98%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%84%20%EC%B0%BE%EC%A7%80%20%EB%AA%BB%ED%95%A9%EB%8B%88%EB%8B%A4(Fedora%2034%20KDE).png)
여러 시스템이 설치되어 있습니다. 먼저 연대순으로 Windows 10, Kubuntu 20.04, Fedora 34 KDE, KaOS 순입니다. Fedora는 별도의 EFI가 있는 두 번째 드라이브에 혼자 있지만 KaOS와 공유합니다.
따라서 구성은 다음과 같습니다.
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 739327 737280 360M EFI System
/dev/nvme0n1p2 739328 1001471 262144 128M Microsoft reserved
/dev/nvme0n1p3 1001472 457750527 456749056 217,8G Microsoft basic data
/dev/nvme0n1p4 457750528 459757567 2007040 980M Windows recovery environment
/dev/nvme0n1p5 459757568 500107263 40349696 19,2G Microsoft basic data
/dev/nvme0n1p6 500107264 644737022 144629759 69G Linux filesystem
/dev/nvme0n1p7 644737023 976773134 332036112 158,3G Linux filesystem
Device Start End Sectors Size Type
/dev/sda1 2048 1230847 1228800 600M EFI System
/dev/sda2 251660288 1258293247 1006632960 480G Linux filesystem
/dev/sda3 1258293248 1875384319 617091072 294,3G Microsoft basic data
/dev/sda4 1230848 3327999 2097152 1G Linux filesystem
/dev/sda5 3328000 251660287 248332288 118,4G Linux filesystem
/dev/nvme0n1p1
/dev/nvme0n1p2
은 Windows( 에 설치됨 5
) 및 Ubuntu( 에 설치됨 nvme0n1p6
) 용 EFI 파티션이고 , Fedora( 및 ) 및 KaOS( ) /dev/sda1
용 EFI입니다./dev/sda4
5
/dev/nvme0n1p7
이 이상한 선택은 Windows와 동일한 EFI를 사용하여 Kubuntu 외에 다른 Linux를 과거에 설치한 결과 Windows 부팅이 손상되었다는 사실과 관련이 있습니다. 이는 부팅 메뉴에 Windows를 추가한 Kubuntu를 다시 설치하여 해결되었습니다. 저는 이런 Windows 간섭을 피하고 싶어서 자체 EFI가 있는 별도의 드라이브에 Fedora를 설치하고, Windows와 같은 드라이브에 KaOS를 설치할 때 다른 드라이브의 EFI를 사용하도록 선택했고, Fedora와 공유합니다.
KaOS를 설치한 후 부팅 메뉴( systems-boot
가 아닌 로 실행 grub
)다른 시스템은 표시하지 않았습니다..
Fedora와 Ubuntu의 부팅 메뉴는 펌웨어 UEFI 인터페이스에 숨겨져 있습니다. Fedora에는 모든 시스템이 포함되어 있습니다.kUbuntu의 부팅 메뉴에는 Fedora를 제외한 모든 메뉴가 포함되어 있습니다..
Fedora의 부팅 메뉴가 가장 완벽했기 때문에(grub을 설치하여) Fedora의 부팅 메뉴를 기본 메뉴로 만들기 위해 부팅 복구를 사용했지만 sda1
Fedora를 "먼저 부팅"하는 옵션이 없었기 때문에 Kubuntu를 선택했습니다. 이로 인해쿠분투의 부팅 메뉴가 기본값이 되었으며, Fedora만 빠졌습니다.
Kubuntu grub이 이제 제어권을 갖고 있다는 점을 고려하면 저는 그것을 사용하고 Fedora를 추가하고 싶습니다. grub을 업데이트해도 도움이 되지 않습니다.
편집-1, @oldfred의 댓글 이후:
부팅 복구 보고서페이스트빈-또한여기(댓글로 물어봤습니다)
@oldfred의 답변 후 편집-2:
저는 Kubuntu grub.cfg 파일을 찾아보았고, Kubuntu 부팅 목록이 파일에 boot/grub/grub.cfg
메뉴 항목을 추가하여 결정된다는 것을 발견했습니다.
내가 찾을 수 있는 Fedora 자체 grub.cfg 파일을 살펴보면 Fedora 항목이 누락되고 나머지 시스템만 나열되어 있습니다. Fedora의 Grub Customizer에서도 이러한 항목만 볼 수 있습니다. 자체 부팅 목록의 Fedora 항목은 /loader/entries/
1GB 루트 ext4 파티션(sda4)의 별도 파일에 의해 결정되는 것 같습니다. Kubuntu의 /boot/efi/loader/entries/에 복사해도 효과가 없습니다.
Kubuntu의 항목에 대한 Fedora의 자체 모델이 없기 때문에 boot/grub/grub.cfg
KaOS에서 찾은 줄을 Fedora의 사양, 즉 UUID를 추가하여 복사하고 수정했습니다. 형식이 올바른지 잘 모르겠습니다. 배포 이름과 UUID만 조정된 해당 파일의 KaOS에 대한 형식과 정확히 일치합니다.
menuentry 'Fedora 34 KDE' --class Fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4834b108-13c9-406c-8a7b-a9c53440283c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 F4F4-1172
else
search --no-floppy --fs-uuid --set=root F4F4-1172
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
이런 방식으로 Fedora 이름은 물론 부팅 목록에 추가되지만 작동하지 않습니다.
파티션 의 UUID bfrs
( sda5
)를 사용하면 다음 메시지가 나타납니다.
mount: new/-root: unknown filesystem type ‘btrfs’
만일을 대비해 "루트" Fedora 파티션( )의 UUID를 사용하여 시도했는데 다음 sda4
메시지가 나타납니다.
Error: root device mounted successfully but sbin/init does not exist
올바른 방법은 파티션의 UUID를 추가하는 것입니다 sda5
. 이는 Fedora의 위에서 언급한 세 파일 모두에 지정된 파일입니다./loader/entries/
grub이 btrfs를 인식하지 못하는 것 같습니다.
Apper를 사용하여 찾을 수 있는 모든 "btrfs" 관련 파일(약 30개 패키지)을 설치했지만 동일한 현상이 발생합니다.
편집-3
boot/grub/grub.cfg
더 많은 의견을 통해 파일을 편집해서는 안 되지만 편집 etc/grub.d/40_custom
하고 다른 파일의 일부를 복사해야 한다는 것을 이해합니다 . 하지만 어떤 파일을 사용해야 하는지 모르겠습니다. Fedora의 자체 파티션에서 ext4
- 에 있는 파일 이외의 자체 부팅 및 부팅 목록의 자체 항목과 관련된 항목을 찾을 수 없습니다 /loader/entries
. 그럼 제가 복사해야 할 것 중 하나에서 나온 것인가요?
/media/root/651b659a-8fc5-46d6-b291-22b3b523ebaf/loader/entries/a037a4898b9540bfbc52f3f377b2ff4d-5.13.19-200.fc34.x86_64.conf
(Fedora의 1GB ex4 파티션 sda4에서) 다음과 같이 복사되었습니까?
title Fedora (5.13.19-200.fc34.x86_64) 34 (KDE Plasma)
version 5.13.19-200.fc34.x86_64
linux /vmlinuz-5.13.19-200.fc34.x86_64
initrd /initramfs-5.13.19-200.fc34.x86_64.img
options root=UUID=4834b108-13c9-406c-8a7b-a9c53440283c ro rootflags=subvol=root rhgb quiet
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
boot/grub/grub.cfg
아니면 위의 EDIT-2 아래에 게시된 Kubununtu 파일의 KaOS 항목과 같은 것입니까 ?
답변1
Fedora를 한 번 설치했지만 그 전에는 btrfs를 사용했습니다. 그러나 Ubuntu의 grub 항목은 UEFI 부팅 항목에 대한 체인 로드 또는 구성 파일입니다. Ubuntu grub의 40_custom에 이를 추가했습니다. UUID는 고유하므로 설치 UUID로 변경해야 합니다. grub으로 직접 부팅하려면
menuentry "Fedora UEFI" {
search --file --no-floppy --set=root F496-1330
chainloader (${root})/efi/fedora/grub.cfg
}
한 설치에서 다른 설치로 grub의 부팅 스탠자를 복사할 수 있는 경우가 많습니다. 이것이 바로 os-prober가 하는 일입니다. 다양한 형식이나 구성을 인식하려면 추가 드라이버(btrfs) 또는 grub2의 .mod 파일(예: btrfs.mod)이 필요할 수 있습니다. rEFInd를 사용하는 경우 grub 스탠자를 refind.conf로 변환해야 합니다. 구성 파일은 grub이거나 grub 유형 부팅 스탠자를 포함하는 다른 파일에 대한 링크입니다.
menuentry "Fedora UEFI" {
search.fs_uuid a9bd9a65-bc8c-41b1-95b1-2dceb66b2652 root hd1,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}
40_custom & Custom 메뉴 사용하기
https://help.ubuntu.com/community/Grub2/CustomMenus
구성 파일:
https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config
https://ubuntuforums.org/showthread.php?t=2076205&page=54&p=13788092#post13788092