랩톱에 사전 설치된 Windows 8 및 Linux UEFI 이중 부팅


10

Windows 8이 사전 설치된 새로운 Sony Vaio E14에서 Windows 8 및 Arch Linux를 설정하려고합니다.

지금까지:

  • 복구 미디어를 사용하여 새 SSD (원래 HDD로 전환)에 W8 설치
  • W8 파티션 축소, 복구 파티션 삭제, 스왑 비활성화
  • W8 부팅 확인

아치로 :

  • BIOS에서 보안 부팅 비활성화
  • W8 부팅 확인
  • CD로 아치를 부팅하고 모든 것을 4 번째와 5 번째 파티션에 설치
  • EFIstub 커널 부트 로더를위한 rEFInd 설정

그 후 그것은 악화되었다. Windows 8 이외의 다른 부팅은 할 수 없었습니다.

시도 :

  • EFI \ refind \를 만들고 .efi를 (아치 매뉴얼에 따라)
  • EFI \ boot \ bootx64.efi 덮어 쓰기
  • EFI \ Microsoft \ Boot \ bootmgr.efi 덮어 쓰기
  • EFI \ Microsoft \ Boot \ bootmgfw.efi 덮어 쓰기 --- YAY rEFInd가 표시됩니다!

여태까지는 그런대로 잘됐다. 전체 W8 Boot \ 디렉토리를 EFI \ windows8에 보관하고 부트 메뉴 항목을 설정했습니다. 부팅이 잘되었습니다.

그러나 다시 시작하면 모든 부트 로더 (정제 또는 w8) 대신 '운영 체제를 찾을 수 없음'이 잘못되었습니다.

라이브 CD를 사용하여 Arch로 다시 부팅하여 EFI 파티션에 잘못된 FAT 테이블이 있는지 확인했습니다. fsck.vfat가 수정했으며 EFI \ Microsoft \ Boot가 원래 상태 (모든 정제 된 파일이 삭제되고 W8 부트 로더로 대체 됨)로 돌아 왔음을 발견했습니다. 다시 덮어 쓰고 rEFInd가 올바르게 표시되고 Arch가 완벽하게 부팅 가능한 상태로 돌아 왔습니다.

그 후 EFI \ Microsoft \ Boot \ bootmgfw.efi의 이름을 bootmgfw.001.efi로 바꾸려고 시도했지만 (정제 된 .efi를 bootmgfw.efi로 복사하고 다른 파일은 그대로 유지) 정확히 동일한 결과를 얻었습니다. GPT EFI 파티션을 읽기 전용, 동일한 결과로 표시하려고했습니다.

이제 운이 없어요. 아치는 제대로 부팅되지만 W8도 마찬가지이지만 프로세스에서 EFI 파티션을 파괴합니다.

어떤 아이디어에 대해서도 감사합니다. Googling은 저를 지금까지 데려 왔으며 더 이상 찾을 수 없습니다.

PS-windows 8 MAYBE는 종료시 파티션을 파괴합니다 .W8에서 종료를 주문하면 비정상적으로 오래 걸립니다 (약 5 분이 아닌 약 0.5 분). 이론 상으로는 정상적인 종료 대신 랩톱을 하드 리셋 하여이 문제를 해결할 수는 있지만 좋지 않습니다.


여기서 도와 드릴 수 없습니다. 물건을 테스트 할 UEFI 머신이 없습니다. 가장 바람직한 방법은 아니지만 Windows 부트 로더에 Linux 항목을 추가하고 부팅 할 수는 있지만 UEFI 시스템에서는 시도하지 않았습니다. superuser.com/a/499652/18050 절차를 보려면 여기를 참조하십시오. 또한 아치 부팅을 사용하여 아치를 설치합니다. 설치시 UEFI 시스템을 고려하기 때문에 공식 이미지를 사용하는 경우 샷을 제공하십시오 : bbs.archlinux. org / viewtopic.php? id = 150833
Xandy

이것은 아치 리눅스와 Windows 8과의 충돌처럼 들립니다. 아치 리눅스가 아닌 다른 배포판을 사용해 보았습니까? 문제가 있습니까?
Ramhound

easyBCD 제안에 감사드립니다. 어떤 부팅 관리자를 사용하고 있는지 상관하지 않으므로 Windows가 가능하다면 더 행복 할 것입니다. @Ramhound이 순간에는 다소 고통 스러울 것이며 아치와 관련이 있다고 생각하지 않습니다.-rEFInd는 별도의 프로젝트이며, 직접 설치했습니다 (남자를 따라).
itchy355

답변:


5

테스트와 마찬가지로 나중에 부팅 할 수 있는지 확인하기 위해 Windows에서 콜드 셧다운 (전원 버튼 누름)을 수행하는 것이 좋습니다. 분명히이 작업을 정기적으로 수행하고 싶지는 않지만 Windows가 수정 된 ESP 데이터를 덮어 쓰고 있는지 확인하는 것이 도움이 될 수 있습니다. 실제로 Windows 종료시 파일 시스템을 손상시키는 경우 Microsoft에보고해야하는 Windows 버그처럼 들립니다. bootmgfw.efi파일을 교체하는 것이라면 기술적으로 Microsoft의 취지에 속하므로 실제로 버그가 아닙니다.

좀 더 광범위하게 말하면, 리눅스 efibootmgr프로그램을 사용하여 rEFInd를 자체 이름 (예 : EFI/refindESP)으로 EFI에 등록하려고 했습니까? 이에 대한 내용은 rEFInd의 설명서, Linux 수동 설치 섹션 에서 설명 합니다. 또는 install.sh스크립트를 사용하여 설치할 수 있습니다. 어느 방법을 사용하든 EFI 모드 부팅이 필요하지만 rEFInd CD를 사용하거나 EFI 모드의 응급 디스크에서 부팅 할 수 있습니다.

그래도 efibootmgr작동하지 않으면 이 아치 위키 페이지bcfg 에 설명 된대로 EFI 셸 프로그램에서 사용해보십시오 .

이러한 절차가없는 작업을 할 경우, 사용하여 시도 efibootmgr하거나 bcfg하는 제거 에 대한 항목 bootmgfw.efiNVRAM에서를 다음과 같이 REFind 함수를 설치합니다 EFI/BOOT/bootx64.efi. 이론적으로 컴퓨터가 rEFInd를 시작하면 정상적으로 작동하고 OS를 부팅 할 수 있습니다. 펌웨어가 선호 될 수 있습니다하지만이 잠재적 인 개는이 있습니다 EFI/Microsoft/boot/bootmgfw.efi이상 EFI/BOOT/bootx64.efi; Windows는 부팅 옵션을 확인하고 부팅시 자체 부트 로더를 NVRAM에 다시 추가 할 수 있습니다. 여전히이 방법은 시도해 볼 가치가 있습니다.

EFI 사양을 사용하려면 컴퓨터에서 NVRAM 설정 ( efibootmgrLinux, bcfgEFI 셸 또는 이와 유사한 프로그램에서 관리)을 준수해야하므로 이러한 유틸리티가 작동하지 않으면 펌웨어가 고장 나서 다른 모델의 컴퓨터. (그렇지만 컴퓨터를 반품 한 이유는 Sony에 반드시 알려주십시오!) 이러한 유형의 문제는 실제로 상당히 일반적입니다. 예를 들어 NVRAM 설정을 잊어 버리는 "하이브리드 EFI"가있는 기가 바이트 보드가 있습니다. 적어도이 보드를 사용하면 선택한 부트 관리자 / 로더의 이름을 지정하여 문제를 무시할 수 EFI/BOOT/bootx64.efi있습니다.

컴퓨터를 작동시킬 수없고 컴퓨터를 교체 할 의사가 없거나 교체 할 수없는 경우 다른 해결 방법이 두 가지 있습니다.

  • 부팅 가능한 CD 또는 USB 플래시 드라이브를 rEFInd와 함께 보관하고 Linux를 부팅 할 때 사용할 수 있습니다. 그러나 컴퓨터를 부팅 할 때마다 하드 디스크가 아닌 이동식 미디어에서 부팅하도록 컴퓨터에 알리려면 기능 키를 사용해야합니다.
  • 디스크에서 파티션을 지우고 MBR을 사용하여 다시 파티션을 나누고 EFI 모드가 아닌 BIOS 모드에서 두 OS를 다시 설치할 수 있습니다. 이렇게하면 그림에서 EFI 취약점이 제거되고 BIOS 모드 GRUB을 부트 로더로 사용할 수 있습니다. 그러나 아마도 Windows 8 설치 프로그램의 일반 정품이 필요할 것입니다. 적어도 Windows 7의 경우 OEM 사본은 설치 모드 (BIOS와 EFI)에 대해 융통성이 없었습니다. 또는 다시 설치하지 않고 EFI 모드 부팅에서 BIOS 모드 부팅으로 변환 할 수 있습니다. 반대 스위치가 가능합니다 (설명 된 사이트에 대한 링크를 게시하려고했지만이 사이트에서 두 개 이상의 링크를 게시 할 수는 없습니다. 미안합니다) .EFI- 어딘가에서 BIOS로 변환하지만 URL이 편리하지 않습니다. Google 검색으로 인해 문제가 발생할 수 있습니다.

첫 번째 답변을 게시 한 후이 페이지를 우연히 발견 했으며 문제의 적어도 일부가 발생할 수있는 또 다른 원인이 있습니다. 분명히 Windows 8은 디스크 일시 중단 작업과 더 유사한 종료 방법을 사용합니다. 결과적으로 Windows를 종료 한 다음 Linux를 부팅하면 마운트 된 파티션이 손상 될 수 있습니다. ESP는 일반적으로 Windows 7, AFAIK에 마운트되지 않지만 Windows 8이 다르게 작동하거나 ESP Windows 7에 마운트되어 숨겨져있는 것 같습니다. 어쨌든 관리자 명령 프롬프트 창에 다음 명령을 입력하여 Windows 8의이 기능을 비활성화 할 수 있습니다.

powercfg /h off

실제로, Windows 8은 콜드 셧다운시 아무 것도 깨지 않습니다. 결국 나는 자신의 부트 로더를 엉망으로
만드는

나는 efibootmgr; 그것은 비정상적으로 많은 수의 부트 매니저가 있음을 보여주었습니다 (예상 한 것보다 3 이상). 내 디스크를 더 잘 보았습니다. 그리고 실제로 두 개의 EFI 파티션 이 있음을 발견했습니다 EFI system partition. 다른 하나는 크기 및 표준 EFI 파일 구조가 동일한 FAT 파티션 (sda1)입니다.
itchy355

부트 순서를 변경하여 rEFInd를 먼저로드 한 다음``sony original ''이라고 부르고 다른 것을 불러 오면 기본값 (windows, sony original, 기타 (정제)) PS로 다시 덮어 씁니다. 모든 것을 고려하여, 창문 ''이라고 덮어 쓴 것입니다bootmgfw.efi
itchy355

1
그동안, 나는 powercfg /h offw8에서 시도했고, W8을 고쳤습니다 .EFI 파티션 나누기 .. 그것은 내가 찾던 성배입니다.) : 감사합니다!
itchy355

powercfg /h off귀하의 주요 문제가 해결되어 다행 입니다. 일부 UEFI 구현이 "Windows Boot Manager"라는 부트 로더를 목록의 맨 위로 이동하도록 코딩 된 것으로 보인다는 정보를 보았을 것입니다. 따라서 부트 로더를 사용하여 이름을 바꾸면 efibootmgrrEFInd (또는 원하는 파일)를보다 합리적인 파일 이름으로 설치할 수 있습니다.
로드 스미스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.