Windows 10 NTFS를 실행하는 250GB SSD(sda)가 있습니다. 두 번째 1TB SSD(sdb)에는 apfs를 사용하는 MacOS 10.15.7, btrfs를 사용하는 Linux Mint 20, ext4를 사용하는 두 개의 예비 파티션이 있습니다. rEFInd가 설치되어 있고 멀티부팅으로 모든 것이 잘 작동합니다. 운이 좋을 수도 있지만 Rod Smith의 문서를 많이 읽었지만 충분하지 않을 수도 있습니다. 두 SSD 모두 gpt이고 EFI 파티션이 있습니다. 문제가 발생했습니다. 정확히 무엇인지는 모르겠지만 이제는 MacOS를 직접(Alt 길게 누르기) 부팅할 수 있으며 rEFInd에서만 부팅할 수 있습니다. rEFInd에는 여전히 올바른 3개의 운영 체제 아이콘이 표시됩니다. 라이브 USB에서 Linux를 부팅하고 그럽할 수 있습니다. SSD에서 Windows나 Mint를 전혀 부팅할 수 없지만 여전히 존재합니다. grub-repair를 실행했지만 상황이 더 나아지지 않는 것 같습니다. rEFInd를 부팅 순서 아래로 더 이동시켰고 efibootmgr을 사용하여 다시 거기에 넣어야 했습니다.
Q1. SSD가 두 개인 경우 /EFI/rEFInd 폴더를 가져올 SSD를 결정하는 방법은 무엇입니까?
Q2. 두 SSD 모두에 /EFI/ubuntu 폴더가 있는 이유는 무엇입니까?
Q3. 두 개의 SSD와 아래 폴더가 주어지면 각 운영 체제에 대한 올바른 grub 메뉴 항목은 무엇입니까?
Q4. 목록에는 sda 및 sdb가 표시되며 이들이 hd0 및 hd1과 어떻게 동등한지 확인할 수 있습니다. 그러나 라이브 grub2는 hd8,gpt3(WindowsOS의 경우) 및 hd9,gpt3(btfrs(mint)의 경우)를 나타냅니다. 8과 9는 어디에서 왔습니까?
감사해요
mint@mint:~$ sudo fdisk -l
Disk /dev/sda: 233.78 GiB, 251000193024 bytes, 490234752 sectors
Disk model: APPLE SSD SM256E
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: E38BCA08-61D9-45FC-8828-D08FD28E1A22
Device Start End Sectors Size Type FS Flags Comments
/dev/sda1 2048 206847 204800 100M EFI System fat32 boot,esp
/dev/sda2 206848 239615 32768 16M Microsoft reserved unknown msftres
/dev/sda3 239616 489196172 488956557 233.2G Microsoft basic data ntfs msftdata Windows OS
/dev/sda4 489197568 490231807 1034240 505M Windows recovery env ntfs hidden,diag
Disk /dev/sdb: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EF574C35-C453-45DC-9D86-1DE841DD934E
Device Start End Sectors Size Type FS Flags Comment
/dev/sdb1 40 409639 409600 200M EFI System fat32 boot,esp
/dev/sdb2 409640 585615815 585206176 279G unknown apfs MacOS Catalina
/dev/sdb3 585617408 1171347455 585730048 279.3G Linux filesystem btrfs Linux Mint
/dev/sdb4 1171347456 1562437631 391090176 186.5G Linux filesystem ext4 Spare1 not used
/dev/sdb5 1562437632 1953523711 391086080 186.5G Linux filesystem ext4 Spare2 not used
mint@mint:/mnt$ tree -L 5 -P *.efi --ignore-case sda
.
└── EFI
├── Boot
│ └── bootx64.efi
├── Microsoft
│ ├── Boot
│ │ ├── bootmgfw.efi
│ │ ├── bootmgr.efi
│ │ └── memtest.efi
│ └── Recovery
└── ubuntu
├── grubx64.efi
└── shimx64.efi
6 directories, 3 files
mint@mint:/mnt$ tree -L 5 -P *.efi --ignore-case sdb
.
└── EFI
├── APPLE
│ └── CACHES
│ └── CAFEBEEF
├── BOOT
│ ├── BOOTX64.EFI
│ ├── fbx64.efi
│ └── mmx64.efi
├── Linux
│ ├── grubx64.efi
│ ├── mmx64.efi
│ └── shimx64.efi
├── refind
│ ├── icons
│ │ └── licenses
│ ├── icons-backup
│ │ └── licenses
│ ├── keys
│ └── refind_x64.efi
├── tools
│ └── gptsync_x64.efi
└── ubuntu
├── grubx64.efi
├── mmx64.efi
└── shimx64.efi
mint@mint:/boot$ tree sdb3 Linux Mint /boot
.
├── System.map-5.4.0-26-genericefibootmgr
├── config-5.4.0-26-generic
├── grub
│ ├── gfxblacklist.txt
│ ├── grubenv
│ └── unicode.pf2
├── initrd.img -> initrd.img-5.4.0-26-generic
├── initrd.img.old -> initrd.img-5.4.0-26-generic
├── vmlinuz -> vmlinuz-5.4.0-26-generic
└── vmlinuz.old -> vmlinuz-5.4.0-26-generic
1 directory, 9 files
답변1
Q1. SSD가 두 개인 경우 /EFI/rEFInd 폴더를 가져올 SSD를 결정하는 방법은 무엇입니까?
예를 들어, SSD 중 하나가 시스템 보드에 납땜되어 있고 다른 하나는 분리 가능한 경우, 분리 가능한 SSD에도 자체 ESP 파티션과 해당 부트로더 폴더가 있어서 사용할 수 있도록 하는 것이 합리적일 수 있습니다. if / 필요할 때 다른 시스템으로 더 쉽게 이식할 수 있습니다.
시스템 펌웨어가 하나의 SSD를 감지하는 데 문제가 있지만 다른 SSD는 안정적으로 감지할 수 있는 경우 유일한 옵션은 모든 부트 로더가 포함되어 있고 운영 체제가 자체 커널과 스토리지 드라이버의 모든 콘텐츠를 부팅해야 하는 쉽게 감지할 수 있는 SSD를 사용하는 것입니다.
그 외에도 대부분 귀하의 선호도에 달려 있습니다.
Q2. 두 SSD 모두에 /EFI/ubuntu 폴더가 있는 이유는 무엇입니까?
다음 중 하나:
설치 프로그램에 ESP 파티션이 여러 개 있는 경우 각 파티션에 Ubuntu의 부트로더를 추가하여 안전하게 실행할 수 있습니다. 어쩌면 펌웨어가 모든 디스크를 볼 수 없거나 일부 디스크가 제거 가능하고 설치 프로그램이 해당 디스크가 무엇인지 알지 못할 수도 있습니다.
복구 작업을 실행 중이었고 디스크 중 하나의 초기 설치가 어떤 이유로 제대로 작동하지 않았기 때문에 grub-repair/boot-repair가 추가 복사본을 생성했을 수 있습니다.
Q3. 두 개의 SSD와 아래 폴더가 주어지면 각 운영 체제에 대한 올바른 grub 메뉴 항목은 무엇입니까?
MacOS는 GRUB이 아직 지원하지 않는 APFS를 사용하는 것으로 보이기 때문에 GRUB을 통해 부팅되지 않을 수 있습니다. APFS가 도입되기 전에는 필수 GRUB 메뉴 항목이 다음과 같았습니다.
menuentry "OS X" {
insmod hfsplus
search --set=root --file /System/Library/CoreServices/boot.efi
chainloader /System/Library/CoreServices/boot.efi
}
sudo blkid
안타깝게도 다양한 파일 시스템에 대한 올바른 파일 시스템 UUID가 포함된 출력 이나 lsblk -o +UUID
그에 포함된 출력이 없습니다 . /dev/sdb4
또한 Linux 루트 파일 시스템을 식별하지 않습니다. 아마도 /dev/sdb5
.
Windows의 경우 최소 GRUB 부팅 항목은 다음과 같습니다.
menuentry 'Windows Boot Manager' {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root <place the UUID reported for the sda1 partition here>
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Mint의 경우 최소 GRUB 부팅 항목은 다음과 같습니다.
menuentry "Linux Mint" {
insmod gzio
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root <place the UUID reported for the sdb3 partition here>
echo "Loading Linux Mint kernel..."
linux /vmlinuz root=<place the Linux device pathname of the Linux root filesystem here> ro quiet splash
echo "Loading Linux Mint initramfs..."
initrd /initrd.img
}
참고: 이러한 부분을 <angle brackets>
실제 값으로 교체하십시오.
Q4. 목록에는 sda 및 sdb가 표시되며 이들이 hd0 및 hd1과 어떻게 동등한지 확인할 수 있습니다. 그러나 라이브 grub2는 hd8,gpt3(WindowsOS의 경우) 및 hd9,gpt3(btfrs(mint)의 경우)를 나타냅니다. 8과 9는 어디에서 왔습니까?
시스템의 UEFI 펌웨어는 SSD뿐만 아니라 내장 인터넷 복구 볼륨 및/또는 당시 연결되는 기타 저장 장치도 제공할 수 있습니다. GRUB 명령 프롬프트로 이동하여 다음을 입력한 ls (hd
후 를 눌러 TAB펌웨어가 GRUB에 알린 모든 디스크를 확인하고 어떤 디스크인지 알아내야 할 수도 있습니다.