그래서 제가 하고 싶은 일은 다음과 같습니다.
랩톱의 기본 SSD에 여유 공간이 남아 있으므로 암호화된 LVM에 두 번째 배포판을 설치하고 /boot 파티션을 USB 스틱에 넣어 시스템을 부팅하는 데 스틱이 필요하도록 하고 싶습니다. 그렇지 않으면 기본 배포판으로 부팅됩니다. 해당 컴퓨터에 다른 운영 체제가 있다는 표시가 없는 SSD의 Debian 시스템...
저는 Debian 기반 Parrot OS를 사용하고 있으므로 매우 유사한 설치 프로그램이 있습니다. /용으로 암호화된 LVM과 SSD의 여유 공간에 스왑 논리 볼륨을 사용하여 새 파티션을 생성하고 USB 스틱의 /boot용 1GB 파티션을 생성하고 그에 따라 파티셔너 로드 포인트에 마운트를 설정했습니다. /boot에 부팅 가능 플래그를 설정했습니다. 설치하는 동안 첫 번째 디스크의 MBR에 GRUB을 설치할 것인지 묻는 메시지가 나타납니다. "아니요"를 선택하고 수동으로 배치를 선택할 수 있는 장치 목록을 가져옵니다. /boot로 USB 드라이브를 선택합니다...
시스템을 설치하고 부팅을 시도한 후 펌웨어에서 부팅 메뉴를 열고 USB 드라이브를 선택했습니다. 분명히 여기서부터는 부팅 가능한 장치가 발견되지 않으므로 메인 데비안 시스템을 부팅합니다...
예전에 이런 방식으로 시스템을 설정했다는 글을 읽고 별 문제가 없을 줄 알았는데 뭔가 작동하지 않고 컴퓨터가 새 OS를 부팅하지 않습니다. 뭔가 빠졌나요? 아니면 이런 방식으로 구성된 시스템을 부팅하는 것이 불가능합니까?
미리 감사드립니다.
답변1
첫째, MBR(레거시)은 이제 덜 보편화되고 있으며 점차적으로 EFI로 대체되고 있습니다. 귀하의 질문으로는 EFI가 아닌 레거시 부팅을 사용하고 있다는 것을 명확하게 알 수 없으므로 실제로 사용하고 있는 부팅을 확인하는 것이 좋습니다. 이렇게 하려면 작업(기본) Debian 시스템을 부팅하고 다음을 찾으세요.
ls /sys/firmware/efi/efivars/
있는 경우 EFI를 통해 부팅됩니다. 또한 /boot/efi/
EFI 파티션이 마운트된 디렉터리가 있다는 점도 알아두세요 .
복구 환경을 설정합니다.
작업 환경이 있으므로 문제를 해결하려면 해당 작업 환경을 사용하여 "깨진" 환경으로 부팅해야 할 수도 있습니다.
암호화된 LVM을 사용하고 있다고 언급하셨습니다. 이로 인해 상황이 더욱 복잡해졌습니다. 가장 먼저 해야 할 일은 암호화 복구 비밀번호를 사용하여 암호화된 드라이브의 잠금을 해제하는 것입니다.
# Assuming your LVM is /dev/vg/encrypted
# This will create a decrypted block device /dev/mapper/decrypted
cryptsetup open /dev/vg/encrypted decrypted
그런 다음 "깨진" 시스템을 마운트하고 루트를 변경합니다 /mnt
(USB 부팅 파티션이 이라고 가정 /dev/sdb1
).
mount /dev/mapper/decrypted /mnt
mount /dev/sdb1 /mnt/boot
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run
# chroot into the recovery environment
chroot /mnt
이렇게 하면 "깨진" 시스템 내부에 명령줄이 남게 됩니다.
이전 부팅을 사용하는 경우
위에서 언급한 것처럼 복구 시스템 내부에서 파티션이 아닌 USB 드라이브의 MBR에 부트로더를 설치해야 합니다 /boot/
. /boot
USB 드라이브에 있는 경우 대신 /dev/sdb1
MBR을 설치해야 합니다 ./dev/sdb
/dev/sdb1
grub-install /dev/sdb
좋은 측정을 위해 grub config 및 initramfs도 실행하고 업데이트해야 합니다.
update-grub
update-initramfs -uk all
여기에 오류가 있으면 참고하시기 바랍니다.
EFI를 사용하는 경우
일부 BIOS 펌웨어는 둘 중 하나만 사용하므로 EFI에서 메인 시스템을 부팅하는 경우 USB도 이 방식으로 부팅해야 합니다. 복구 환경 내에서(위에 설명된 대로)...
먼저 USB 드라이브에 EFI 파티션이 있는지 확인하십시오. 그렇지 않은 경우 가장 쉬운 방법은 /boot
안전한 장소에 복사하고 USB 드라이브를 다시 포맷하는 것입니다. USB에서 처음부터 대화형으로 시작하려면 다음을 사용하십시오 /dev/sdb
.
cp -r /boot ~/old_boot
umount /boot
cfdisk -z /dev/sdb
cfdisk를 사용하여 새 GPT 파티션 테이블을 생성하고 "EFI"와 "Linux"라는 두 개의 파티션을 생성합니다.
그런 다음 형식을 지정하십시오.
mkfs.fat -F 32 -n EFI /dev/sdb1
mkfs.ext4 -L BOOT /dev/sdb2
마운트 및 복원/boot
mount /dev/sdb2 /boot
cp -r ~/old_boot/* /boot
/etc/fstab
예를 들어 cat /etc/fstab
UUID가 일치하는지 확인 하고 필요한 경우 /boot/
항목을 추가하면 다음 방법으로 새 UUID를 찾을 수 있습니다./boot/efi
blkid /dev/sdb1 /dev/sdb2
그런 다음 마지막으로 EFI를 설정하십시오.
mount /dev/sdb1 /boot/efi
# If you've not already done so install grub efi:
apt-get install grub-efi-amd64-bin
grub-install /dev/sdb
update-grub
update-initramfs -uk all
답변2
[1] BIOS에서 첫 번째 부팅 순서를 USB로 변경
[2] Rufus를 사용하여 부팅 가능한 USB 디스크를 만듭니다.
이를 위해서는 Rufus를 올바르게 실행하려면 Windows 플랫폼이 필요합니다. 원하는 Linux 배포판의 ISO를 구하고 rufus를 사용하여 부팅 가능한 USB를 만드세요.
그것이 효과가 있기를 바랍니다.
Linux에서 실행되는 부팅 가능한 USB를 만드는 데는 여러 가지 도구가 있습니다. 하지만 그 어느 것 하나도 완벽하다고는 찾을 수 없습니다. 그래서 저는 Rufus를 신뢰하고 Rufus는 결코 저를 실망시킨 적이 없습니다.