나는 Linux 멍청한 놈이고 나에게는 너무 알몸입니다.
기본적으로 노트북에 SSD를 정상적으로 설치했습니다. 이제 USB가 연결된 경우에만 부팅할 수 있도록 부트로더와 커널, 암호화되지 않은 모든 파일을 USB로 옮기고 싶습니다.
기본적으로 나는 이 질문의 반대를 시도하고 있습니다. GRUB를 USB에서 HD로 이동
인터넷에서 많이 보았지만 단계별 가이드를 찾을 수 없습니다. 나의 장기적인 목표는 SSD에 Windows를 설치하되 USB를 연결하지 않은 상태에서만 Windows를 부팅할 수 있는 것입니다.
어떻게 설정하나요?
감사해요:)
답변1
(설명에 따르면) UEFI 시스템이 있으므로 부트로더만 마이그레이션하는 것은 실제로 매우 간단할 수 있습니다.
USB 디스크를 FAT32로 포맷합니다. 예를 들어 설치하면 /media/usbdisk
디렉토리가 생성된다 /media/usbdisk/EFI
. 그런 다음 /boot/efi/EFI/fedora
디렉터리의 전체 내용을 다음 위치에 복사합니다 /media/usbdisk/EFI
.
cp -r /boot/efi/EFI/fedora /media/usbdisk/EFI/
해당 디렉토리를 fedora
에 복사 boot
하고 shim.efi
그 안에서 이름을 바꿉니다 bootx64.efi
.
cd /media/usbdisk/EFI
cp -r fedora boot
cd boot
mv shim.efi bootx64.efi
이제 USB 디스크가 디스크에 설치된 Linux를 부팅할 수 있습니다! 이제 테스트할 수 있습니다. 작동하는 경우 기존 EFI 시스템 파티션 대신 /etc/fstab
USB 디스크를 마운트 하도록 변경할 수 있습니다 ./boot/efi
그러나 여전히 문제가 발생할 수 있습니다. 새 커널 패키지를 설치할 때마다 패키지 관리자는 USB 디스크의 부트로더 구성을 업데이트 /boot/efi/EFI/fedora/grub.cfg
하지만 부팅 시 사용되는 실제 구성 파일은 /boot/efi/EFI/boot/grub.cfg
. /boot/efi/EFI/boot/grub.cfg
한 줄만 포함된 "더미" 구성 파일로 바꾸세요 .
configfile /EFI/fedora/grub.cfg
시작 시 이벤트 순서는 다음과 같습니다.
- 펌웨어는 표준 UEFI 이동식 미디어/대체 부팅 경로를 사용하여 UEFI 모드에서 USB에서 부팅됩니다. (
/EFI/boot/bootx64.efi
USB 디스크 파일 시스템의 루트에 상대적) bootx64.efi
실제로shim.efi
보안 부팅 문제를 처리한 다음grubx64.efi
동일한 디렉터리에서 부팅합니다.grubx64.efi
grub.cfg
동일한 디렉터리에 있는 가상 개체를 읽습니다. USB 스틱의 디렉토리에서configfile /EFI/fedora/grub.cfg
실제 구성 파일을 읽도록 지시합니다./EFI/fedora
grubx64.efi
실제 GRUB 구성 파일을 읽습니다. 사용되는 보안 부팅 심은grubx64.efi
완전히 별도의 버전이어야 하므로 필요한 모든 GRUB 모듈이 내장됩니다. 따라서 SSD 설치와 정확히 동일한 구성을 사용하여 SSD의 어느 위치에서든(암호화되거나 암호화되지 않은) 커널 및 initramfs 파일을 로드할 수 있습니다.grubx64.efi
Fedora 커널과 initramfs를 부팅하면 부트로더 작업이 완료됩니다.- Fedora는 부팅할 때 USB 디스크를 마운트하므로
/boot/efi
향후/etc/fstab
커널 업데이트가 자동으로/boot/efi/EFI/fedora/grub.cfg
USB 디스크를 업데이트합니다.
별도의 파티션이 있고 /boot
이를 특별히 USB 디스크로도 이동하려는 경우 USB 디스크에 두 개의 파티션, 즉 FAT32 파티션( 로 마운트 /boot/efi
)과 Linux 파티션( 로 마운트)이 필요합니다. /boot
). 이 경우 SSD 부팅 케이스와 동일한 GRUB 구성은 더 이상 작동하지 않습니다. 그러나 실행하기 전에 다른 모든 것을 설정하면 grub2-mkconfig
여전히 적합한 구성 파일을 생성할 수 있습니다.
답변2
요약: Linux 시스템을 부팅하기 위해 USB 지원에 부트로더를 배치하는 동시에 부트로더가 포함된 USB 디스크 없이 Windows 시스템을 부팅하려고 합니다. 그것은 불가능합니다. 실제로 부트로더는 GNU Linux 시스템과 MS Windows 시스템을 로드합니다. 부트로더가 없으면 MS Windows 운영 체제를 부팅할 수 없습니다.