저는 Windows와 두 개의 Linux 배포판, 즉 Parrot OS Electro Ara 및 Ubuntu 20.04를 멀티 부팅하려고 합니다. grub 및 부트로더는 원래 Parrot OS에 의해 설치되었습니다. 그래서 방해하지 않기 위해 부트로더 없이 Ubuntu를 설치했습니다. 왜냐하면 ubiquity -b
Parrot 자체의 grub을 사용하고 싶었기 때문입니다.
하지만 나도 같은 걸 사용하고 있어/시작하다파티션( /dev/nvme0n1p9
)은 두 운영 체제 모두의 설치 지점 역할을 합니다. 이것은 Parrot OS의 마운트 지점입니다.lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part /boot/efi
├─(windows partitions were hided)
├─nvme0n1p7 259:7 0 200M 0 part
├─nvme0n1p8 259:8 0 4G 0 part [SWAP]
├─nvme0n1p9 259:9 0 1G 0 part /boot
├─nvme0n1p10 259:10 0 20G 0 part /
├─nvme0n1p11 259:11 0 40G 0 part /opt
├─nvme0n1p12 259:12 0 40G 0 part
│ └─luks-...(UUID Hided) 253:0 0 40G 0 crypt /home
└─nvme0n1p15 259:15 0 47.4G 0 part
참고: 저는 동일하게 공유했고 /opt
( /boot
efi 파티션은 기본적으로 공유됩니다)
/dev/nvme0n1p15에서 ubuntu가 감지되었다는 메시지가 표시되지만 소스 코드를 보거나 grub 화면에서 부팅하면 앵무새 OS로 직접 연결됩니다. 문제는 앵무새 운영 체제가 우분투의 initramfs 및 vmlinuz 파일에서 부팅되고 아무런 문제 없이 앵무새로 부팅된다는 것입니다. 또한 우분투에서 시도할 때 update-grub
Parrot OS에 대해 이야기하고 있지만 여전히 Parrot OS의 커널(5.16 및 5.18)을 사용하여 우분투로 부팅하므로 initramfs에 대한 오류가 발생하지만 커널 5.15 실수로 부팅할 때는 오류가 발생하지 않습니다.
다음은 그것이 어떻게 보이는지 보여주는 grub-customizer 페이지입니다. (사용자 정의는 일시적으로 Ubuntu 이미지로 부팅하도록 하는 것입니다.)
/boot
여기에는 설치 전, 우분투 설치 후, update-grub 실행 후 폴더에 있는 파일도 첨부했습니다.
Ubuntu를 설치하기 전(Parrot 및 Windows에만 해당)
config-5.16.0-12parrot1-amd64
config-5.18.0-1parrot1-amd64
efi
grub
initrd.img-5.16.0-12parrot1-amd64
initrd.img-5.18.0-1parrot1-amd64
System.map-5.16.0-12parrot1-amd64
System.map-5.18.0-1parrot1-amd64
vmlinuz-5.16.0-12parrot1-amd64
vmlinuz-5.18.0-1parrot1-amd64
우분투를 설치하고 chroot를 통해 grub update를 실행한 후
total 256M
drwxr-xr-x 2 root root 4.0K செப். 20 16:36 efi
drwxr-xr-x 5 root root 4.0K செப். 20 16:36 grub
lrwxrwxrwx 1 root root 28 செப். 20 16:36 initrd.img -> initrd.img-5.15.0-46-generic
-rw-r--r-- 1 root root 117M செப். 20 16:36 initrd.img-5.15.0-46-generic
-rwxr-xr-x 1 root root 94M செப். 20 16:36 initrd.img-5.16.0-12parrot1-amd64
-rw-r--r-- 1 root root 14M செப். 20 16:36 initrd.img-5.18.0-1parrot1-amd64
lrwxrwxrwx 1 root root 32 செப். 20 16:36 initrd.img.old -> initrd.img-5.18.0-1parrot1-amd64
-rw-r--r-- 1 root root 179K செப். 20 16:36 memtest86+.bin
-rw-r--r-- 1 root root 181K செப். 20 16:36 memtest86+.elf
-rw-r--r-- 1 root root 181K செப். 20 16:36 memtest86+_multiboot.bin
-rw------- 1 root root 6.0M செப். 20 16:36 System.map-5.15.0-46-generic
-rwxr-xr-x 1 root root 83 செப். 20 16:36 System.map-5.16.0-12parrot1-amd64
-rwxr-xr-x 1 root root 83 செப். 20 16:36 System.map-5.18.0-1parrot1-amd64
lrwxrwxrwx 1 root root 25 செப். 20 16:36 vmlinuz -> vmlinuz-5.15.0-46-generic
-rw-r--r-- 1 root root 11M செப். 20 16:36 vmlinuz-5.15.0-46-generic
-rwxr-xr-x 1 root root 7.1M செப். 20 16:36 vmlinuz-5.16.0-12parrot1-amd64
-rwxr-xr-x 1 root root 7.2M செப். 20 16:36 vmlinuz-5.18.0-1parrot1-amd64
마지막으로 Parrot OS에서 update-grub을 실행하고 심볼릭 링크를 삭제합니다.
config-5.16.0-12parrot1-amd64
config-5.18.0-1parrot1-amd64
efi
grub
initrd.img-5.15.0-46-generic
initrd.img-5.16.0-12parrot1-amd64
initrd.img-5.18.0-1parrot1-amd64
memtest86+.bin
memtest86+.elf
memtest86+_multiboot.bin
System.map-5.15.0-46-generic
System.map-5.16.0-12parrot1-amd64
System.map-5.18.0-1parrot1-amd64
vmlinuz-5.15.0-46-generic
vmlinuz-5.16.0-12parrot1-amd64
vmlinuz-5.18.0-1parrot1-amd64
내가 원하는 솔루션은 다음과 같은 grub 부팅 옵션을 제공하는 것입니다.
- 앵무새
- 앵무새의 고급 옵션
- 우분투
- Ubuntu의 고급 옵션
- 윈도우
도움을 주셔서 미리 감사드립니다.