openSUSE 및 Windows 10을 올바르게 이중 부팅하는 방법

openSUSE 및 Windows 10을 올바르게 이중 부팅하는 방법

openSUSE와 Windows의 이중 부팅에 관해 질문이 있습니다.

내 컴퓨터에 openSUSE Leap 42.1과 Windows 10을 설치하고 싶습니다. Windows 부트로더를 사용하여 이를 수행할 수 있는 방법이 있습니까?

몇 번 시도했지만 실제로는 두 가지 결과가 나왔습니다. SUSE가 어쨌든 부팅 프로세스를 가로채거나 내 컴퓨터를 부팅할 수 없게 만들었습니다(SUSE에 Xubuntu를 설치하여 다시 부팅한 다음 Windows를 MBR에 다시 놓고 xubuntu를 부팅할 수 없게 만들었지만, 안녕하세요). , Windows가 다시 시작됩니다)

이를 달성하려면 SUSE 설치 프로그램에서 어떤 옵션을 설정(또는 설정 해제)해야 합니까?

그런데: 이것은 나의 현재 파티션 설정입니다:

350MB       Windows Boot Partition          NTFS
380GB       Windows Install Partition       NTFS
90GB        Linux Extended partition
25GB        Linux Root Partition            ext4
60GB        Linux home Partition            XFS
3GB         Linux Swap Partition            swap
450MB       Windows Recovery Partition

Windows 부트 로더를 사용하는 이유가 무엇인지 궁금해하실 수도 있습니다.

글쎄요, 저는 거의 매일 Windows(MultiSim, Xilinx ISE Design Suite...)가 필요하기 때문에 단지 수정한다고 해서 부트로더를 망칠 수는 없습니다. 이것이 바로 Windows 부트 로더가 책임을 지기를 원하는 이유입니다. 나는 그것을 망칠 수 없으며 Linux를 망친 경우 물론 다시 설치하지만 Windows는 항상 부팅 가능한 상태로 유지됩니다.

답변1

같은 질문을 하시는 모든 분들을 위해 제가 적어 놓았는데, 그 방법은 다음과 같습니다.

1단계: 준비:
설치하다쉬운 BCD. EasyBCD를 사용하면 Windows 시작 구성을 백업할 수 있습니다.
이 단계를 건너뛰지 마세요, 이 구성을 백업하지 않으면 시스템이 부팅되지 않을 수 있습니다. (내 말을 믿으십시오. 부팅되지 않는 컴퓨터를 복구하는 것은 재미가 없습니다. 왜냐하면 내일 필요할 것이기 때문입니다.)

2단계: 파티션:
다른 파티션을 추가해야 합니다. 이것이 /boot 파티션이 됩니다. 저는 이것을 Linux 확장 파티션 앞에 놓았습니다. 내 파티션 크기는 약 512MB이고 ext2입니다.

3단계: openSUSE 설치:
다음으로 openSUSE를 설치합니다. 확실히하다MBR에 설치하지 않음/boot 파티션에 부팅 코드를 작성하세요.

4단계: Windows가 다시 제어권을 갖도록 합니다.
이제 Windows에서 다시 처리하도록 하고 openSUSE를 설치한 후 시스템을 재부팅하겠습니다. GRUB을 부팅해야 합니다."/dev/sdaX의 Windows 10 로더". 이제 EasyBCD를 사용하여 Windows 부팅 드라이브/파티션을 시스템의 부팅 드라이브/파티션으로 선택하면서 MBR을 복원하세요. 지금 재부팅하면 Windows로 직접 부팅해야 합니다. 이제 새로운 시작 항목을 추가할 수 있습니다. GNU/Linux 탭을 선택했는지 확인하세요. 파티션을 자동 감지로 놔두는 것이 나에게는 효과적이었지만 수동으로 선택할 수도 있습니다. 올바른 이름을 지정하십시오.

5단계: 최종 단계:
이제 듀얼 부팅 시스템이 설정되어야 합니다. 계속해서 재부팅하면 Windows를 계속 로드하거나 GRUB를 체인 로드할 수 있는 Windows 부트 로더가 표시됩니다.

참고: Windows 부트 로더를 사용한 이중 부팅으로 인해 Linux가 Windows보다 훨씬 느리게 부팅됩니다. 이는 Windows가 아닌 운영 체제를 선택한 후 Windows가 재부팅을 수행하기 때문입니다. 부팅 속도가 중요하다면 GRUB에서 처리하도록 하는 것이 좋습니다.

답변2

일반적으로 아무 것도 설정할 필요가 없습니다. GRUB는 하드 드라이브에서 다른 운영 체제를 감지하여 메뉴 항목에 추가합니다. Windows 복구 파티션도 거기에 나타나야 합니다. 따라서 다른 모든 시스템이 설치되면 openSUSE를 설치할 수 있으며 GRUB 메뉴를 통해 시스템에서 부팅 가능한 모든 것을 즉시 부팅할 수 있습니다.

어떤 이유로 GRUB 메뉴에 "Windows 10"이 표시되지 않으면 다음을 시도해 보십시오.

1) openSUSE의 "부팅 로더 설정" 창에서 "Yast > 부트 로더"로 이동하여 "부트로더 옵션" 탭을 클릭하고 "Probeforeign OS" 옵션이 선택되어 있는지 확인하고, 그렇지 않은 경우 "ok "를 클릭한 후 GRUB를 클릭합니다. 구성을 다시 실행한 다음 시스템을 재부팅합니다. 컴퓨터를 시작하면 다른 운영 체제가 Grub의 메뉴 항목으로 나타나야 합니다.

2) 위의 방법이 작동하지 않으면 GRUB 메뉴에서 "Windows 10" 파티션에 대한 항목을 수동으로 설정할 수 있습니다. (나는 이것을 openSUSE Leap 42.1과 함께 사용합니다!)

/etc/grub.d/40_custom루트로서 다음과 같이 파일을 편집합니다 .

#!/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 "Windows 10" {
    set root='(hd0,gpt2)'
    chainloader /EFI/microsoft/BOOT/Windows.efi
}

메뉴 항목에서 Windows 파티션에 대한 정보를 설정해야 합니다. hd0= 하드 드라이브 이름(여기와 동일할 수 있음) gpt2= 부팅 파티션 gpt1(gpt 파티션을 사용하지 않는 경우 1대신 gpt1숫자를 사용) chainloader= Windows efi 부트 로더가 있는 곳을 따라가세요 . /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi부팅 폴더에 만들고 이름을 "Windows.efi"로 바꾸었는데, 체인에 초기 .efi 파일이 필요하지 않습니다. 로더 주소를 확인 /boot/efi/하고 닫았습니다.

이제 루트로 명령을 실행하여 GRUB에 이 변경 사항을 알려야 합니다.

# grub2-mkconfig -o /boot/grub2/grub.cfg

그러면 새 항목으로 GRUB가 재구성되고 완료되면 시스템이 재부팅됩니다. GRUB 메뉴에서 "Windows 10"을 부팅할 수 있어야 합니다. 위에 제공된 메뉴 항목은 올바른 주소와 필수 정보를 제공하여 다른 시스템에도 적용할 수 있습니다.

답변3

2019년에 업데이트되었습니다! 고생을 많이 해서 조금 더 보탬이 되고 싶다고 생각했어요

노트북에 Suse 15를 설치한 후 Windows 시작 항목이 사라졌습니다.

회복과정!


  1. efi Windows 파티션이 HDD 어딘가에서 여전히 유효한지 확인하세요.

    linux-ifbe:~ # bootctl 상태


    파일 시스템 '/boot/efi'에 잘못된 ESP(EFI 시스템 파티션) 유형이 있습니다. 시스템: 펌웨어: 해당 없음(해당 없음) 보안 부팅: 비활성화됨 설정 모드: 설정

    현재 로더: 제품: 해당 없음 ESP: 해당 없음 파일: └─n/a

    부트로더 바이너리: ESP: ESP의 마운트 지점을 찾거나 액세스할 수 없습니다.

    EFI 변수의 부트로더 항목: 제목: sles ID: 0x0000 상태: 활성, 부팅 순서 파티션: /dev/disk/by-partuuid/493e9e82-b2e9-4201-a856-5df63869a4bf 파일: ​​└─/EFI/sles/ grubx64.efi

        Title: sled-secureboot
           ID: 0x0006
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/493e9e82-b2e9-4201-a856-5df63869a4bf
         File: └─/EFI/sled/shim.efi
    
        Title: Windows Boot Manager
           ID: 0x0005
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/93607397-896b-11e4-b666-d343be9e55dd
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi
    
        Title: Windows Boot Manager
           ID: 0x0004
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/93607397-896b-11e4-b666-d343be9e55dd
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi
    

리눅스-ifbe:~ #


  1. 디스크 ID와 일치

linux-ifbe:~ # blkid


/dev/sda1: LABEL="시스템" UUID="32546F46546F0C43" TYPE="ntfs" PARTLABEL="기본 데이터 파티션" PARTUUID="93607391-896b-11e4-b666-d343be9e55dd" /dev/sda2: UUID="5A70- 28D9" TYPE="vfat" PARTLABEL="기본 데이터 파티션" PARTUUID="93607397-896b-11e4-b666-d343be9e55dd" /dev/sda3: UUID="B802718A02714E7E" TYPE="ntfs" PARTLABEL="기본 데이터 파티션" PARTUUID ="93607399-896b-11e4-b666-d343be9e55dd" /dev/sda4: LABEL="TI31184100G" UUID="C46872F76872E816" TYPE="ntfs" PARTLABEL="기본 데이터 파티션" PARTUUID="9360739f-896b-11e4 - b6 66 - d343be9e55dd" /dev/sda5: UUID="20B60C41B60C19C4" TYPE="ntfs" PARTUUID="e06a03c0-05b3-46b9-8f39-285835657847" /dev/sda6: cea98f2d9e4a" type= "ext4" " PARTUUID= "43e69176-d33c-4ad4-bcd4-d9e2bc7abbc0" /dev/sda7: LABEL="복구" UUID="B8C4298BC4294D46" TYPE="ntfs" PARTLABEL="기본 데이터 파티션" PARTUUID= "337287c5-897f-11e4-b1c9-b0248 f5831e0 " /dev/sda8: UUID="e870bcac-a05d-4251-b3e1-752b16275d62" type="swap" PARTLABEL="기본" PARTUUID="0c4c51be-7222-4db2-91” 50-3140d6835482"/dev/sda9:uuid ="8F60-443B" 유형="vfat" PARTLABEL="기본" PARTUUID="493e9e82-b2e9-4201-a856-5df63869a4bf"

linux-ifbe:~ # blkid |grep -i 93607397 /dev/sda2: UUID="5A70-28D9" TYPE="vfat" PARTLABEL="기본 데이터 파티션" PARTUUID="93607397-896b-11e4-b666-d343be9e55dd" linux -그렇다면:~#


! ! ! /dev/sda2를 찾으세요.


3../etc/grub2/40_custom으로 실행


linux-ifbe:~ # cat /etc/grub.d/40_custom 
#!/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 "Windows 10" {

    set root='(hd0,gpt2)'

    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

linux-ifbe:~ # 

hda = hd0 구식 기본 hda,2 = gpt2 파일에 저장


4.가서 grub을 재구성하세요.

grub2-mkconfig -o /boot/grub2/grub.cfg


5...시스템을 재부팅합니다. 창문도 즐겨보세요

마누의 건배


답변4

Windows PC가 EFI 모드로 부팅되는 경우 Microsoft는 이전 운영 체제나 Windows가 아닌 운영 체제가 BCD 메뉴에서 로드되는 것을 차단했습니다. 이는 더 이상 EasyBCD를 사용하여 Windows 9x, XP 또는 Server 2003 항목을 BCD 부트 로더 메뉴에 추가할 수 없음을 의미합니다. 또한 DOS, Linux, BSD 또는 Mac 항목을 추가할 수 없습니다. 여러 Windows Vista, Windows 7, Windows 8 및 Windows 10 항목을 추가할 수 있으며, WinPE 2.0+ 이미지와 같은 BCD 기반 휴대용 미디어로 부팅할 수도 있습니다. 내가 찾은 유일한 옵션은 부트로더를 루트 파티션에 놓고 GRUB/Linux 부트로더를 설정의 첫 번째 부팅 옵션으로 선택하는 것이었습니다(이렇게 하면 Windows MBR이 그대로 유지됩니다. 이렇게 하면 Linux 문제에 어떤 일이 발생하면 다음을 수행할 수 있습니다). 설치 프로그램으로 돌아가 Windows를 첫 번째 부팅 옵션으로 선택한 다음 Windows 디스크 관리에서 Linux를 제거하십시오.(원하는 경우) Ubuntu/를 사용하여 Windows가 그대로 있는 동안 Linux를 다시 로드할 수 있습니다. Opensuse를 사용하여 YAST 설정을 주의 깊게 확인하세요. 도움이 되도록 이 Youtube 튜토리얼 링크를 제공했습니다. https://www.youtube.com/watch?v=xlTgaWs9BD0

관련 정보