두 개의 SSD에 두 개의 별도 Linux 배포판이 있습니다.
- 조린(/dev/sda)
- 리눅스 민트(/dev/sde)
먼저 Zorin을 설치한 다음 Linux Mint를 설치했습니다.
나는 달렸다정보 스크립트 시작. 이것이 결과의 요지이다.
Boot Info Script 0.61 [1 April 2012]
============================= Boot Info Summary: ===============================
=> No boot loader is installed in the MBR of /dev/sda.
=> No boot loader is installed in the MBR of /dev/sdb.
=> No boot loader is installed in the MBR of /dev/sdc.
=> No boot loader is installed in the MBR of /dev/sdd.
=> No boot loader is installed in the MBR of /dev/sde.
sda1: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /efi/BOOT/fbx64.efi /efi/BOOT/mmx64.efi
/efi/memtest86/BOOTX64.efi /efi/ubuntu/grubx64.efi
/efi/ubuntu/mmx64.efi /efi/ubuntu/shimx64.efi
sda2: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Zorin OS 16.1
Boot files: /boot/grub/grub.cfg /etc/fstab
sde1: __________________________________________________________________________
File system: vfat
Boot sector type: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:
sde2: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Linux Mint 20.3 Una
Boot files: /boot/grub/grub.cfg /etc/fstab
어떤 그럽을 사용하고 있는지 잘 모르겠습니다. 어떤 grub을 사용하고 있는지 어떻게 알 수 있나요(부팅 중에 표시되는 grub 메뉴)? 다양한 SSD에서 grub을 사용하는 방법 /dev/sda에서 grub을 사용하고 싶습니다(이 드라이브에서 부팅하고 grub 메뉴도 사용자 정의하고 싶기 때문입니다). 어떻게 해야 하나요?
업데이트 1:
Linux Mint에서 efibootmgr
명령은 다음을 표시합니다.
$ efibootmgr
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0001,0002,0003
Boot0001* UEFI:CD/DVD Drive
Boot0002* UEFI:Removable Device
Boot0003* UEFI:Network Device
Boot0004* ubuntu
나는 이것이 내 시스템에서 유지되는 부팅 순서라고 생각합니다. Linux Mint에서 사용 하면 grub-customizer
(내 경우에는 Boot0004* ubuntu
) 부팅 메뉴가 변경됩니다.
요청된 명령 출력을 추가합니다.
$ sudo efibootmgr -v
[sudo] password for ismail:
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0001,0002,0003
Boot0001* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0002* UEFI:Removable Device BBS(130,,0x0)
Boot0003* UEFI:Network Device BBS(131,,0x0)
Boot0004* ubuntu HD(1,GPT,264abb67-bc63-46f7-8106-01f8aa3c65d2,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)
$ lsblk -o +partuuid
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT PARTUUID
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi 264abb67-bc63-46f7-8106-01f8aa3c65d2
└─sda2 8:2 0 232.4G 0 part 1aa55c42-f8ba-4af5-95f1-719f0ea3f6fe
sdb 8:16 0 3.7T 0 disk
└─sdb1 8:17 0 3.7T 0 part 97963414-695e-4e8d-a872-752afe27fcf1
sdc 8:32 0 5.5T 0 disk
└─sdc1 8:33 0 5.5T 0 part 27e20d5e-a539-407f-b9d7-0928a78e8706
sdd 8:48 0 3.7T 0 disk
└─sdd1 8:49 0 3.7T 0 part 13e6dcd3-161a-4c72-a49f-431b03c9f595
sde 8:64 0 223.6G 0 disk
├─sde1 8:65 0 512M 0 part d641c8e7-d1ed-4fb0-97d1-3d256f343bad
└─sde2 8:66 0 223.1G 0 part / 9fa068c4-b486-4044-810d-9d41a978c361
답변1
현재는 Mint의 GRUB만 사용하고 있는 것 같습니다.
펌웨어 부팅 설정 메뉴("BIOS Setup")에 들어가면 현재 기본 부팅 대상의 이름이 ubuntu
"Disk 1"과 같은 이름이 아닌 것을 확인할 수 있습니다. UEFI를 사용하면 설치된 운영 체제의 부팅 설정이 사람이 읽을 수 있는 명확한 이름을 가질 수 있습니다(이 경우 ) ubuntu
.
Mint와 Zorin은 모두 Ubuntu의 파생물이므로 /boot/efi/EFI/ubuntu
기본적으로 GRUB를 ESP의 디렉터리에 설치하므로 마지막에 설치된 것이 다른 부트로더를 덮어써서 "승리"하게 됩니다.
BootCurrent: 0004
Boot0004
현재 실행 중인 운영 체제 인스턴스를 시작하는 구성임을 보여줍니다 . PARTUUID는 부팅 구성에 사용되는 EFI 시스템 파티션을 264abb67-bc63-46f7-8106-01f8aa3c65d2
나타냅니다 . 펌웨어는 처음에 Microsoft가 서명한 보안 부팅 호환 심을 사용하여 로드됩니다. 로드되고 확인됩니다 .sda1
Boot0004
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/grubx64.efi
(마운트된 파일 시스템 /boot/efi
은 FAT32이며 UEFI 사양에 따라 대소문자를 구분해야 합니다. 그러나 일부 버그가 있는 UEFI 펌웨어 버전은 대소문자를 구분합니다. 여기서는 귀하의 펌웨어에 그러한 버그가 없다고 가정합니다.)
펌웨어만 하드웨어 제조업체 또는 Microsoft가 서명한 부트로더를 허용합니다. Canonical의 서명 키와 선택적 MOK(머신 소유자 키)를 허용 목록에 추가합니다(비영구적이므로 모든 부팅 실행 시 shimx64.efi
사용해야 함 ). shimx64.efi
보안 부팅이 활성화된 상태에서 자체 사용자 정의 커널을 구축하거나 타사 커널 모듈을 사용하려면 MOK를 설정해야 합니다.
(MOK를 설정해야 하는 경우,Debian Wiki에서 이 기사를 참조하세요.Ubuntu 및 그 파생 제품에서도 작동합니다. )
/boot/efi/EFI/ubuntu/grubx64.efi
GRUB 버전으로, 기본적으로 모든 GRUB 모듈은 보안 부팅 요구 사항을 준수하기 위해 Canonical에서 내장하고 서명했습니다. 패키지에서 옵니다 grub-efi-amd64-signed
. Microsoft가 아닌 Canonical에서 서명했기 때문에 Canonical은 필요할 때 GRUB에 대한 보안 업데이트를 적시에 제공할 수 있습니다.
(보안 부팅이 적용되면 보안 부팅 호환 펌웨어가 모든 항목에 플래그를 지정하므로 GRUB는 필요에 따라 GRUB 모듈을 로드할 수 없습니다.유효하게 서명된 Windows 스타일 PE+ 바이너리CPU에서는 실행할 수 없습니다. GRUB 모듈은 Unix 스타일을 사용하므로ELF 바이너리 형식모듈이 암호화되어 서명된 경우에도 펌웨어는 이를 확인하는 방법을 알 수 없습니다(PE+와 반대). )
/boot/efi/EFI/ubuntu/grub.cfg
디렉터리가 포함된 파일 시스템에 액세스하고 거기에서 실제 파일 시스템을 로드하고 고유한 UUID로 파일 시스템을 식별하는 데 필요한 최소 구성 줄만 포함하는 최소 GRUB 구성 파일을 가질 수 있습니다 . 예를 들어 보면 다음과 같습니다./boot
/boot/grub/grub.cfg
sudo cat /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid 11111111-2222-3333-4444-555555555555 root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
문자열 11111111-2222-3333-4444-555555555555를 sda2
고유한 파일 시스템 UUID 로 바꾸거나: UUID를 sde2
실행 하고 비교하십시오.lsblk -o +uuid
sda2
실제 구성을 읽는 위치를 변경하려면 간단히 편집하여 다른 파일 시스템을 가리키도록 EFI/ubuntu/grubx64.efi
하면 됩니다 ./boot/efi/EFI/ubuntu/grub.cfg
/etc/grub.d/40_custom
현재 운영 체제는 Mint(=Ubuntu의 파생물)인 것으로 보이므로 Zorin의 부팅 메뉴로 전환하려면 추가 메뉴 항목을 추가하려면 Mint에서 편집 해야 할 수도 있습니다 .
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Switch to Zorin OS's GRUB menu' {
search.fs_uuid <filesystem UUID of sda2 here> root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}
Zorin OS가 실행되는 동안 Zorin의 GRUB가 사용되는 경우 Mint의 GRUB 구성으로 전환하는 메뉴 항목을 추가할 수도 있습니다.
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Switch to Mint's GRUB menu' {
search.fs_uuid <filesystem UUID of sde2 here> root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
}
각 운영 체제에 대해 별도의 부트 로더를 원하는 경우 사용자 정의 부트 로더 ID를 사용하여 GRUB를 다시 설치해야 합니다. 이렇게 하려면 각 운영 체제에서 다음을 수행하세요.
- 반드시 다음
/dev/sda1
과 같이 설치하세요./boot/efi
- 별도로 실행
grub-install --bootloader-id=mint
하거나grub-install --bootloader-id=zorin
/boot/efi/EFI/mint/
그러면 디렉터리와 /boot/efi/EFI/zorin/
. 이는 각각 mint
및 라는 UEFI 부팅 옵션 으로도 등록되어야 합니다 zorin
. efibootmgr -v
출력에 이름이 표시 됩니다 . 시스템의 UEFI 펌웨어가 제대로 설계된 경우 펌웨어 부팅 순서 설정에도 이름이 표시됩니다.
이렇게 하면 부팅 옵션 mint
과 . 이는 다음을 통해 수행할 수 있습니다.zorin
ubuntu
sudo efibootmgr -b 0004 -B
sudo rm -rf /boot/efi/EFI/ubuntu