별도의 HDD에서 Windows 및 Linux를 이중 부팅 - 오류: 해당 장치 없음

별도의 HDD에서 Windows 및 Linux를 이중 부팅 - 오류: 해당 장치 없음

저는 온라인 튜토리얼을 따라 별도의 HDD에 Windows 10과 Linux(Arch)를 설치했습니다. 여기에는 다른 하드 드라이브에 운영 체제를 설치하는 동안 각 하드 드라이브를 물리적으로 분리하는 작업이 포함됩니다.

"시작 복구 사용"에 대한 답변이 없는 유일한 스레드는 다음과 같습니다.이것이미 Linux가 설치되어 있지 않은 한.

아래는 내 단계입니다.

  1. 빠른 부팅을 비활성화하고 BIOS에서 UEFI를 활성화합니다.
  2. W10 및 ArchLabs용 UEFI 호환 라이브 이미지 생성
  3. HDD0을 분리하고 HDD1에 W10 Home을 설치합니다.
  4. HDD1을 분리하고 ArchLabs를 HDD0에 설치합니다. grub은 부팅 관리자입니다.
  5. BIOS를 사용하여 HDD1을 연결하고 HDD0으로 부팅합니다. ArchLabs만 부팅 옵션으로 나열됩니다.
  6. 달리기 grub-mkconfig -o /boot/grub/grub.cfg(그럽 업데이트) - Windows 찾기

어느 출력

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows Boot Manager on /dev/sdb2@/efi/Microsoft/Boot/bootmgfw.efi
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

BIOS에서 HDD0을 부팅하면 grub에 Windows 옵션이 표시되지만 선택하면 이 오류가 발생합니다.

error: no such device: FA77-02BF.
error: disk `hd1,gpt2' not found.

Press any key to continue...

몇가지 정보

$sudo blkid
/dev/sda1: UUID="EFA1-BD6C" TYPE="vfat" PARTUUID="f1abfa2e-8f5e-4569-88a7-ebd5ebd1a737"
/dev/sda2: UUID="a43046c3-84ec-4308-9eaf-a872f1c4300d" TYPE="ext4" PARTUUID="c1a4e499-919d-4194-890f-459418430422"
/dev/sdb1: LABEL="Recovery" UUID="58CC724CCC722482" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="78b687ea-65f2-4c5a-9e2e-211c28298378"
/dev/sdb2: UUID="FA77-02BF" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="149fbe08-56e3-4dd7-9dde-b60e668a2253"
/dev/sdb4: UUID="50F28160F2814AE4" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="1e767b54-5723-4d51-889a-48108c2547fe"
/dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="be54b5e0-7701-473a-aa31-bbc8919d62ae"

fstab은 아직 설치되지 않았지만 sdb설치해야 할지 잘 모르겠습니다.

$cat /etc/fstab
# /dev/sda2
UUID=a43046c3-84ec-4308-9eaf-a872f1c4300d   /           ext4        rw,relatime,data=ordered    0 1

# /dev/sda1
UUID=EFA1-BD6C          /boot/efi   vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro   0 2

/swapfile   none        swap        defaults,pri=-2 0 0

문제는 각 하드 드라이브에 자체 EFI 파티션이 있다는 것입니다.

$fdisk -l
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
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: 558CB70E-9540-49A2-87E9-728B9C3CDB16

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1052672 625141759 624089088 297.6G Linux filesystem


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
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: 0676ACB7-16B9-4BBC-8030-D26B229EEF78

Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1023999   1021952   499M Windows recovery environment
/dev/sdb2  1024000   1228799    204800   100M EFI System
/dev/sdb3  1228800   1261567     32768    16M Microsoft reserved
/dev/sdb4  1261568 976773119 975511552 465.2G Microsoft basic data

현재는 BIOS를 사용하여 부팅할 HDD를 선택한 다음 해당 HDD의 부팅 관리자를 사용하여 해당 운영 체제를 부팅할 수 있습니다. 물론 BIOS가 매번 동일한 드라이브로 부팅되어 GRUB를 통해 운영 체제를 선택할 수 있다면 좋을 것입니다.

답변1

2개의 별도 하드 드라이브에 Windows와 Arch를 설치하려면:

  1. 가장 간단한 해결 방법은 하나의 OS를 UEFI 모드로 설치하고(Win8 또는 10이 UEFI 모드로 설치된 경우) BIOS 모드에서 다른 OS를 설치한 후 둘 사이를 전환하는 것입니다
    . BIOS/UEFI 메뉴로 이동하여
    부팅 모드 변경 b.
    C. 다시 시작
  2. Win7 또는 이전 버전을 고려 중인 경우: BIOS 모드로 설치하고 알아보세요 grub.
  3. 둘 다에 UEFI를 사용하려는 경우 컴퓨터가 하나의 UEFI 파티션을 갖도록 설계되었음을 알아야 합니다. 따라서 다음을 수행해야 합니다
    . 두 하드 드라이브 모두에 ​​동일한 UEFI 파티션을 유지합니다(첫 번째 파티션만 변경) 모든 파일 복사 두 번째 하드 드라이브에 두 번째 하드 드라이브의 파일을 모두 복사하면 파티션일 뿐이므로 두 번째 하드 드라이브의 모든 파일을 첫 번째 하드 드라이브에 복사합니다. FAT)
    Windows 10 부팅 관리자가 아닌 다른 방법으로 부팅을 수행하려면 grub다음과 같은 것이 필요합니다.마이크로플레이트 리더실행 방법은 다음과 같습니다. grub첫 번째 SSD에 Windows 10, Linux(내 경우에는 Ubuntu, Arch와 Ubuntu 모두 사용하므로 차이 없음), 두 efi파티션이 모두 동일합니다. 보조 efi파티션이 먼저 백업되는 것 같습니다. rEFInd 메뉴에서 중복 항목을 숨깁니다. 저는 보통 1c로 갑니다 dd. rEFInd를 알아요/dev/sda1/dev/sdb1
    BIOS가 지원되지 않음따라서 다음을 설치해야 할 수도 있습니다.EFI 쉘rEFInd가 가장 먼저 부팅되도록 UEFI NVRAM의 부팅 설정을 수동으로 변경합니다. (이것이 결국 제가 한 일입니다. rEFInd를 부팅 우선순위 0의 첫 번째 HDD의 기본 부팅 관리자로 만드는 것을 잊지 마세요.또한 rEFInd는 부팅 우선순위가 1인 두 번째 하드 디스크의 보조 부팅 관리자 역할도 합니다!)

책을 비롯해서 책을 많이 읽어야 합니다.일부~의이것UEFI 얼라이언스문서, 하지만 많은 것을 배울 수 있고 할 수 있습니다! (확실히... ;-)) 참고 1: 예, 이것은 올바른 명령이 아닙니다. 나는 알고 있습니다. isk estroyer라는 이름 으로 가장 잘 알려진 일반 명령을 dd내 답변에 넣지 않을 것입니다.ddDD:-)
참고²:이 작업을 수행하려는 이유를 설명하지 않았으므로 다음을 수행하십시오.하드 드라이브 중 하나에 오류가 발생하면 중복 파티션이 있더라도 다른 운영 체제는 하드 드라이브 중 하나에만 존재하므로 더 이상 다른 운영 체제에 액세스할 수 없으므로 efi복원력을 찾고 있다면 대신 RAID1을 사용하십시오. 참고³: 파티션이 실제로 rEFInd가 설정되지 않은 두 번째 SSD에 백업되었는지
확인 하고 Windows 부팅 관리자가EFI절대GRUB를 사용해보세요.

관련 정보