그럽을 어떻게 고칠 수 있습니까? (Windows 설치 후 Ubuntu를 다시 얻는 방법?)


344

우분투 부팅 파일을 먹은 Windows 7을 설치했습니다. 컴퓨터를 시작할 때 우분투 부팅 옵션을 제공하지 않고 Windows로 바로 이동합니다.

우분투를 어떻게 다시받을 수 있습니까?


나는 그것이 일반적인 작업이라고 생각하며, 두 개의 HDD와 Ubuntu + Windows도 있습니다. 올바른 방법으로 수리 할 수 ​​있기를 바랍니다. 튜토리얼 을 따르십시오 . 질문있으세요?
antivirtel

1
관련 (GRUB이 잘못된 드라이브의 MBR 에 설치된 경우 ) : 우분투 설치 후 GRUB 구조 문제
Eliah Kagan

예, 정상적인 부팅을하고 창으로 설치하면 컴퓨터 시작시 Grub 부팅 메뉴에 표시됩니다.
Rampoo1208

나는 이것이 오래된 스레드라는 것을 알고 있지만 BIOS의 부팅 모드를 UEFI에서 레거시로 변경하여 문제를 해결했습니다.

1
참고 : 허용되는 답변은 그럽을 수리하는 방법에 대한 일반적인 지침입니다. 또한 GRUB이 설치 프로그램에 의해 잘못 쓰여지는 다양한 상황에도 적용됩니다 (유비).
Danatela

답변:


348

Windows를 설치할 때 Windows는 시스템에서 유일한 운영 체제 (OS)이거나 최소한 Linux를 고려하지 않는 것으로 가정합니다. 따라서 GRUB을 자체 부트 로더로 대체합니다. Windows 부트 로더를 GRUB으로 바꾸십시오. GRUB 명령이나 그와 같은 것들을 사용하여 GRUB을 대체하는 다양한 지침을 보았지만 가장 쉬운 방법은 단순히 chroot설치하고 실행하는 것 update-grub입니다. chroot여기저기서 리디렉션하는 대신 실제 설치 작업을 할 수 있기 때문에 좋습니다. 정말 깨끗합니다.

방법은 다음과 같습니다.

  1. "Try Ubuntu"모드에서 라이브 CD 또는 라이브 USB로 부팅하십시오.
  2. 기본 파티션의 파티션 번호를 결정하십시오. sudo fdisk -l, sudo blkid(이미 라이브 세션에 기본적으로 설치되어 있어야합니다) 또는 GParted와 여기에 당신을 도울 수 있습니다. 이 답변에서이 값은이라고 가정 /dev/sda2하지만 시스템에 올바른 파티션 번호를 사용해야합니다!

    주 파티션은 LVM에있는 경우 , 장치 대신에 위치하게 될 /dev/mapper/가능성이 높습니다, /dev/mapper/{volume}--{os}-root어디 {volume}에서 LVM 볼륨 이름이며 {os}운영 시스템입니다. ls /dev/mapper정확한 이름으로 실행 하십시오.

  3. 파티션을 마운트하십시오 :

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    별도의 경우 /boot, /var또는 /usr파티션을 반복 이러한 파티션을 마운트 2, 3 단계 /mnt/boot, /mnt/var그리고 /mnt/usr각각. 예를 들어

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    대체 sdXW, sdXYsdXZ각 파티션 번호.

  4. 다른 필요한 것들을 묶습니다 :

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Ubuntu가 EFI 모드로 설치된 경우 ( 확실하지 않은 경우이 답변 참조 ) sudo fdisk -l | grep -i efi또는 GParted를 사용 하여 EFI 파티션을 찾으십시오. 라벨은 EFI입니다. sdXY시스템의 실제 파티션 번호로 대체하여이 파티션을 마운트 하십시오.

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot 우분투 설치에 :

    sudo chroot /mnt
    
  7. 이제 라이브 세션이 아닌 설치 중이며 루트로 실행 중입니다. 그룹 업데이트 :

    update-grub
    

    오류가 발생하거나 7 단계로 이동해도 문제가 해결되지 않으면 8 단계로 이동하십시오 (그렇지 않으면 선택 사항입니다).

  8. 상황에 따라 grub을 다시 설치해야 할 수도 있습니다.

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. Ubuntu가 EFI 모드로 설치되어 있고 EFI 파티션 UUID가 변경된 경우에서 업데이트해야합니다 /etc/fstab. 그것을 비교하십시오 :

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    현재 EFI 파티션 UUID (에서 blkid)가에서와 다를 경우 현재 UUID로 /etc/fstab업데이트하십시오 /etc/fstab.

  10. 모든 것이 오류없이 작동하면 모든 준비가 된 것입니다.

    exit
    sudo reboot
    
  11. 이 시점에서 정상적으로 부팅 할 수 있어야합니다.

정상적으로 부팅 할 수없고 오류 메시지가 없어 8 단계를 수행하지 않은 경우 8 단계로 다시 시도하십시오.

  • 때때로 GRUB2에 파티션에 대한 올바른 구성 을 제공하는 것만으로는 충분하지 않으며 실제로 8 단계에서 수행하는 마스터 부트 레코드에 실제로 설치 (또는 재설치)해야합니다. 채팅에서 사용자를 돕는 경험에 따르면 오류 메시지가 표시되지 않더라도 8 단계가 필요한 경우가 있습니다.

1
의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
토마스 워드

여전히 Windows를 기본 부팅 OS로 사용하고 싶습니다. 이것이 여전히 올바른 해결책입니까? 부팅 할 OS를 어떻게 선택합니까? F11?
Jeff

1
@ScottSeverance 프로필에서 DFW에 거주하는 것을 보았습니다. 사람들이 리눅스에 대해 깊이 이해할 수 있도록 수업이나 라이브 자습서를 제공하는 것을 고려 했습니까?
Mohammed Joraid

1
이러한 문제는 오래되지 않습니다. D – EFI를 다룰 때 설치가 필요할 grub-efi-amd64수 있으며 보안 부팅을 사용하는 경우 사용하고 싶습니다 grub-install --uefi-secure-boot. 자세한 내용은 superuser.com/a/376471/197980
Raffael

1
이 솔루션은 BIOS가있는 컴퓨터 (예 : UEFI가 아님)의 Windows 10에도 적용됩니다. 이 팁 ( thewindowsclub.com/check-if-uefi-or-bios)으로 어떤 질문에 대답 할 수 있습니까 ?
okolnost 2018 년

115

Windows 설치 프로그램은 시스템의 다른 OS를 신경 쓰지 않습니다. 따라서 마스터 부트 레코드 위에 자체 코드를 작성합니다. 다행히도 솔루션도 쉽습니다.

MBR을 수리해야합니다. 다음을 수행하십시오

우분투의 라이브 USB / CD를 사용하여 부팅하십시오. boot-repair문제를 해결하는 데 사용하십시오 .

live usb / cd로 부팅 한 후 터미널에서 다음 명령을 실행하십시오.

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

사용하십시오 Recomended Repair.

여기에 이미지 설명을 입력하십시오

추가 정보-https: //help.ubuntu.com/community/Boot-Repair


2
당신은 마이크로 소프트 사람들에 의해 의도적으로 말하는 것을 의미합니까 ?? 또한 듀얼 부팅은 Windows 7에서 작동했기 때문에 "Windows 설치 프로그램은 시스템의 다른 OS에 대해서는 신경 쓰지 않습니다."라는 첫 줄과 모순되지 않습니다.
Shagun Sodhani

Windows는 정말 일반적인 문제이며 항상 하나의 필자가 자신을 처리해야했습니다. 대답은 여전히 ​​좋으며 문제를 해결해야합니다.
damien

6
Windows 7을 먼저 설치 한 다음 Linux를 설치했습니다. 따라서 리눅스는 윈도우를 인식하지 못하고 리눅스를 인식합니다. windows7을 다시 설치하면 내가 무슨 뜻인지 알 수 있습니다.
Web-E

암호화 된 파티션 (luks)이있을 때이 작업을 수행하지 마십시오. 또한 apt-get으로 GRUB을 다시 설치합니다-왜 그렇게하는지 모르겠습니다.
Meng Tian

1
부팅 복구는 레거시 모드를 매우 잘 지원합니다. 아마도 @fuzzyanalysis뿐만 아니라 레거시 모드에서도 라이브 CD / USB를 부팅해야합니다 :)
Web-E

25

라이브 우분투 USB pendrive 또는 CD에서
부팅하고 다음 단계에 따라 우분투에 부팅 수리 설치

터미널을 열고 다음 명령을 실행하십시오

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

설치를 완료 한 후 Gnome을 사용하면 System-> Administration-> Boot-Repair 메뉴에서 시작하거나 Unity를 사용하면 대시에서 "boot-repair"를 검색 할 수 있습니다. 그런 다음 다음 스크린 샷을 따르십시오.

방법 1

  • 고급 옵션을 클릭하십시오

초기 화면

  • 아래 표시된 옵션을 선택하십시오

고급 옵션

  • 탭을 Grub Location (Grub 위치) 탭으로 변경하고 그림에 표시된 옵션을 선택합니다.

여기에 이미지 설명을 입력하십시오

적용을 누르고 시스템을 재부팅하십시오

방법 2

  • 첫 번째 스크린 샷과 같이 권장되는 부팅 복구 옵션을 선택하십시오

문서 :


Web-E는 이미이 답변을 제공했습니다 . 어쩌면 그 대신 개선 할 수 있습니까? 왜 작동하지 않는지에 대한 의견을 남겼습니다.
Dan Dascalescu

2
이 방법은 GRUB을 덮어 쓰고 자체 부트 로더를 깨는 Windows 10 업데이트가 특히 불쾌한 경우에 효과적이었습니다. 이 절차에 따라 Windows와 Linux가 모두 돌아 왔습니다. 필자의 경우 Linux Mint 18.1이고 부팅 복구 메뉴는 약간 다르게 보였지만 모두 정상적으로 작동했습니다. 감사!
TheBigH

11

easyBCDWindows 7에 설치 하면됩니다.

새 항목 추가> Linux / BSD> (선택) Grub2> (푸시) 항목 추가

그런 다음 Windows 7 부트 로더에서 Ubuntu 를 선택 하여 Grub2 (이전 부트 로더) 로 이동할 수 있습니다.


3
이 지침만으로는 Grub Bootloader를 복원하지 않습니다. 내가 시도했을 때 Windows에 추가 부팅 옵션을 추가하여 선택시 내 컴퓨터를 다시 시작한 다음 grub> 프롬프트로 이동했습니다. 따라서 다음에 수행 할 작업에 대한 추가 단계가 필요합니다.
therobyouknow

1
easyBCD를 사용하면 Windows Boot Loader와 BIOS 모두에서 볼 수있는 부팅 옵션을 추가 및 제거 할 수 있었지만 easyBCD는 Linux 파티션을 찾기 위해 일종의 자동화 된 마법에 의존하기 때문에 작동하지 않았습니다. 내 Linux 파티션에서는 작동하지 않았습니다. 별도의 하드 드라이브에있었습니다.
퍼지 분석

6

EFI 기반 시스템 (예 : Windows 8 이상과 함께 제공되는 대부분의 시스템)에서 Windows는 때때로 부트 로더를 업데이트하거나 기본 부트 로더로 재설정합니다. 이것은 OS를 다시 설치하거나 주요 시스템 업데이트 (예 : 최신 Windows 릴리스로 업그레이드)를 수행 할 때 특히 일반적입니다. Windows는 EFI 기반 컴퓨터에서 GRUB 파일을 실제로 지우지 않을 것입니다. 우분투를 부팅하는 데 필요한 모든 것이 여전히 있습니다. 그냥 우회되고 있습니다. 이 경우 GRUB을 완전히 다시 설치하는 것은 과도하며 실제로는 새로운 문제가 발생할 가능성이 적습니다.

따라서 이러한 경우 GRUB을 다시 설치하는 대신 GRUB (또는 원하는 부트 로더 또는 부팅 관리자)을 기본값으로 재설정하는 것이 좋습니다. 다음과 같은 여러 가지 방법이 있습니다.

  • EasyUEFI- 시스템을 Windows로 바로 부팅하는 경우 부팅 순서를 조정하는 가장 쉬운 방법 은 EFI 부팅 순서를 관리하기위한 무료 (기본 버전의 경우) 타사 GUI 도구 인 EasyUEFI 를 사용 하는 것입니다. ubuntu부팅 설명 목록 에서 항목을 찾아 목록의 맨 위로 이동하십시오. 다음에 다시 부팅하면 GRUB이 나타납니다. GRUB 이외의 것을 사용하는 경우 해당 항목을 찾아야합니다.
  • bcdedit-Windows bcdedit도구를 사용하여 GRUB을 기본 부팅 순서로 설정할 수 있습니다. 관리자 명령 프롬프트 창에 bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi입력 한 명령 이이를 수행합니다. 그러나 컴퓨터가 보안 부팅이 활성화 된 상태에서 부팅 되는 경우 대신 필요합니다. 실제로 후자의 명령은 일반적으로 보안 부팅을 사용하지 않더라도 작동하므로 먼저 해당 명령을 사용합니다. 제시 한 것과 약간 다른 구문이 필요한 고급 Windows 셸 도구가 있지만 세부 정보는 기억 나지 않습니다.bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
  • 우분투로 한 번 부팅 -대부분의 EFI는 시스템 시작 프로세스 초기에 기능 키 Esc 또는 Enter 키를 눌러 액세스 할 수있는 내장 부팅 관리자를 제공합니다. 기회는 있습니다 ubuntu우분투로 부팅 할 수 있도록,이 부팅 관리자 메뉴에 표시됩니다 우분투를 부팅하는 항목. 또는 설치 프로그램이 "설치하기 전에 시도"모드로 부팅 된 것처럼 Ubuntu 응급 미디어로 부팅 할 수 있습니다. 어느 쪽이든 efibootmgr부팅 순서를 조정하는 데 사용할 수 있습니다 .
    1. sudo efibootmgr부팅 항목을 보려면 입력 하십시오.
    2. 현재 BootOrder줄을 적어 둡니다.
    3. 항목을 ubuntu찾아 Boot####번호를 적어 둡니다.
    4. 입력 sudo efibootmgr -o xxxx[,yyyy,zzzz,....]하고, 부팅 순서를 변경하는 xxxx우분투의 수입니다. Windows가 목록에 없으면 부팅 순서의 시작 부분에 Windows가 다시 추가 될 가능성이 높다고 지적했지만 그 이후에 오는 일은 그다지 중요하지 않습니다. 따라서 Windows가 목록에 있는지 확인해야하며 ubuntu항목을 목록의 맨 위로 이동 한 상태에서 모든 원래 항목이 있도록 목록을 다시 정렬하는 것이 가장 안전 할 수 있습니다 .
  • 펌웨어 설정 유틸리티 -일부 EFI 설정 유틸리티를 사용하면 부팅 순서를 조정할 수 있습니다. 세부 사항은 EFI마다 크게 다르므로 구체적인 내용은 다루지 않지만 설정 유틸리티에서 이러한 옵션을 찾을 수 있습니다.

같은 사용하여 이러한 절차에 대한 다른 변형이 있습니다 bcfg사용하여, EFI 쉘에서 bless내 사용, 맥 OS에서 REFind 함수를 그래도, EasyUEFI로 시작하는 것 등, 한 번 부팅을 할 수는; 가장 간단한 해결책 일 것입니다. 그러나 때때로 Windows는 시작할 때마다 기본값을 설정해야한다고 주장하고 보고서에 따르면 bcdedit해당 문제를보다 잘 처리 할 수 ​​있습니다.

위의 어느 것도 BIOS 모드 설치에 적용되지 않습니다. 그러나 Windows 8 이상과 함께 제공되는 대부분의 컴퓨터는 EFI 모드로 부팅되므로 BIOS 모드 설치는 점점 더 드문 경우가 많으므로 GRUB을 맹목적으로 다시 설치하는 대신 EFI 방식으로 문제를 처리하는 것이 좋습니다.


1
EFIs 내장 부팅 관리자를 통해 수동으로 한 번 리눅스로 부팅 (내 경우 fedora28) 부팅 efibootmgr순서를 다시 정렬하는 데 사용할 수있었습니다 (로드-> 감사합니다!). 최신 정보. 그 후 GRUB-bootmanager는 업데이트 이전과 동일하게 나타나므로 제공된 솔루션이 저에게 효과적임을 확인할 수 있습니다. EasyUEFI의 기본 버전을 찾을 수 없었지만 무료 버전이 아닌 시험판 버전 만 제공되었습니다.
antiplex

5

더 간단한 해결책이 있습니다.

  1. 재부팅하고 컴퓨터의 BIOS 옵션 (F2 또는 경우에 따라 F11)을 입력하십시오.
  2. Boot 메뉴로 이동하여 Boot Device Priority를 선택하십시오.
  3. Windows 부팅 관리자 가 기본 부팅 드라이브 (일반적으로 SATA HDD ... 또는 IDE HDD… ) 위에 있는지 확인하십시오 . 그렇다면 부팅 디스크 우선 순위를 Windows 부팅 관리자보다 우선합니다.
  4. BIOS 옵션을 저장하고 종료하십시오 (일반적으로 F10).

이것은 Samsung Series 7 Chronos 랩탑 듀얼 부팅 Windows 8 및 Ubuntu 13.10, 보안 부팅 비활성화, UEFI 및 레거시 부팅 활성화에서 테스트되었습니다.


이것은 나를 위해 가장 깨끗한 옵션이었습니다. 몇 가지 더 중요한 키이지만, 작동합니다. 레거시와 UEFI 부팅 장치가 혼합되어 있습니다. 사용자가 다른 OS보다 훨씬 많은 OS를 부팅하는 경우 장기적으로 더 빠르고 안전 할 수 있습니다.
퍼지 분석

Windows 10이 자동 업데이트 된 후에도 나에게 도움이되었습니다.
luis_js

이 솔루션은 Windows 10에서 Ubuntu를 삭제했을 때
효과적

3

Boot-Repair가 나를 위해 일했습니다. 그래픽 응용 프로그램을 사용하는 것은 매우 쉽습니다. 명령 줄을 사용할 필요가 없으며 버튼 만 클릭하면됩니다. :)

모든 가능한 복구 옵션이 설명되어 있습니다 우분투 문서 와이 별도의 페이지 및 사용 방법 (부팅 디스크를 만들거나 기존 우분투 라이브 디스크에 설치하여) 부팅 복구를 시작하는 방법을 설명가.

Ubuntu 라이브 CD를 부팅하고 Boot-Repair를 설치 한 다음 실행하십시오.


그러나 부트 복구를 얻는 더 쉬운 방법이 있다면 좋을 것입니다. chroot다른 도구를 설치하려면 Google보다 수리를 설정하는 것이 더 빠릅니다 .
Scott Severance

2

GRUB이 손상된 경우 사용자는 일반적으로 시스템에 액세스 할 수 없으므로 라이브 세션 (live-CD 또는 live-USB)에서 복구를 수행해야합니다.

GRUB 중단의 원인은 여러 가지가 있습니다. MBR에 Windows 쓰기, GRUB가 올바르게 설치되지 못하게하는 DRM, 설치 프로그램 버그, 하드웨어 변경 ... Scott이 처음 제안한 GRUB 업데이트로는 충분하지 않습니다. Marco가 제안한 GRUB 재설치는 더 효율적이지만 여전히 다른 조정이 필요한 다양한 상황이 있습니다 (커널에 옵션 추가, GRUB 메뉴 숨기기 해제, GRUB 옵션 변경, 올바른 호스트 아키텍처 선택 ...). GRUB를 복구하기위한 다른 어려움은 chroot를 사용하고 올바른 파티션 / 디스크를 선택하는 것입니다.

이 모든 것이 작은 그래픽 도구 인 Boot-Repair 에서 쉽게 이루어졌습니다 . Ubuntu 12.04 CD에 통합되어 사용하기 쉬워졌지만 지금은이를 필요로하는 사람들을 위해 이미 일부 배포판이 있습니다 : Ubuntu-Secured-Remix (Ubuntu CD 통합 부팅-수리), 부팅 복구 디스크 (부팅 실행 CD) -시동시 수리), ...

도움이 되었기를 바랍니다.


1

Scott과 Web-E의 답변은 충분하며 여러 번 도움이되었습니다. 그러나 많은 경우 부트 복구 도구는 i386 및 amd64 플랫폼과 관련된 문제 또는 grub이 efi디렉토리를 찾을 수없는 문제로 인해 grub을 복구 할 수 없습니다 .
내 문제를 10 번 이상 해결 한 것은 이전 그럽 설치를 수동으로 제거하고 새로 설치하는 것입니다.

따라서 Scott의 답변 에서 처음 6 단계를 수행하여 오류가 발생하면 5 단계를 건너 뛸 수 있습니다.

  1. "Try Ubuntu"모드에서 라이브 CD 또는 라이브 USB로 부팅하십시오.
  2. 기본 파티션의 파티션 번호를 결정하십시오. sudo fdisk -l, sudo blkid(이미 라이브 세션에 기본적으로 설치되어 있어야합니다) 또는 GParted와 여기에 당신을 도울 수 있습니다. 이 답변에서이 값은이라고 가정 /dev/sda2하지만 시스템에 올바른 파티션 번호를 사용해야합니다!

    주 파티션은 LVM에있는 경우 , 장치 대신에 위치하게 될 /dev/mapper/가능성이 높습니다, /dev/mapper/{volume}--{os}-root어디 {volume}에서 LVM 볼륨 이름이며 {os}운영 시스템입니다. ls /dev/mapper정확한 이름으로 실행 하십시오.

  3. 파티션을 마운트하십시오 :

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    별도의 경우 /boot, /var또는 /usr파티션을 반복 이러한 파티션을 마운트 2, 3 단계 /mnt/boot, /mnt/var그리고 /mnt/usr각각. 예를 들어

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    대체 sdXW, sdXYsdXZ각 파티션 번호.

  4. 다른 필요한 것들을 묶습니다 :

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. Ubuntu가 EFI 모드로 설치된 경우 ([확실하지 않은 경우이 답변 참조] [efi]) sudo fdisk -l | grep -i efi또는 GParted를 사용 하여 EFI 파티션을 찾으십시오. 라벨은 EFI입니다. sdXY시스템의 실제 파티션 번호로 대체하여이 파티션을 마운트 하십시오.

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot 우분투 설치에 :

    sudo chroot /mnt
    

그런 다음이 단계를 수행하십시오.

  1. 보류중인 모든 패키지를 구성하십시오.
    sudo dpkg --configure -a
  2. 손상된 패키지를 수정하십시오.
    sudo apt install -fy
  3. 현재 그럽을 제거하십시오.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    장치에 부트 로더가 없으며 다음에 부팅 할 수 없다는 경고가 표시 될 수 있습니다. 계속해서 받아들이십시오.
  4. sudo apt install -y grub-pc
    이 명령을 실행 한 후 sdXY부트 로더를 설치할 현재 를 지정하라는 메시지가 표시됩니다 . sudo fdisk -l명령을 사용하여 현재 OS가 설치된 위치를 찾으십시오 . 로 표시됩니다 Linux. Tab키를 사용하여 해당 창을 탐색하고 키를 사용하여 옵션을 선택하십시오 Space.
  5. 모든 것이 올바르게되면 grub이 올바르게 설치됩니다. sudo grub-update이중 확인을 수행 할 수도 있습니다 .

그래도 문제가 지속되면 Arch wiki 를 읽고 다른 많은 종류의 문제를 해결하기 위해 grub에 대해 실제로 이해할 수 있습니다. (예, 우분투에도 도움이됩니다!).


0

Windows에는 Linux 형식의 파티션이 표시되지 않습니다. liveCD에서 gparted를 사용하고 부팅 플래그를 사용하여 NTFS로 포맷 된 기본 파티션을 만들어야합니다.

Windows가 항상 파티션 테이블을 올바르게 재설정하지는 않으므로 새 기본 파티션이 확장 파티션 뒤에있는 경우 문제가있었습니다. 좋은 백업과 별도의 파티션 테이블 백업이 가장 좋습니다.

파티션 테이블을 텍스트 파일로 백업하고 외부 장치에 저장하십시오.

sudo sfdisk -d /dev/sda > PTsda.txt

이것은 MBR (msdos) 시스템에만 해당됩니다. Ubuntu 설치가 GPT 파티션 드라이브에 있으면 Windows를 UEFI 모드로 설치하거나 드라이브를 MBR (msdos)로 다시 변환 할 수 있습니다.


16.04 이상에서 gpt 파티션 된 드라이브와 작동하는 새 버전의 sfdisk & fdisk는 위의 명령으로 gpt 파티션 된 드라이브를 백업합니다. oldfred는 어제 저녁 식사를 위해 무엇을 먹었는지 기억하지 못하므로 2013 년에 무엇을 다시 게시했는지 확실하지 않습니다. :)
oldfred

어제 저녁을 잊고 요리를 할 때 안녕 프레드는 축복입니다. 이전 의견을 삭제했습니다.
WinEunuuchs2Unix

0

fsck명령 만 grub-rescue화면을 고정했습니다 .

Boot-Repair 를 사용 하여 Live-CD에서 부팅 한 다음 터미널을 엽니 다.

올바른 장치를 얻으십시오.

sudo fdisk -l

부팅 장치를 찾아야합니다. 부팅 장치는 *다음과 같이 부팅 범주에 있습니다.

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

이제 다음을 사용하여 디스크를 복구하십시오.

sudo fsck /dev/sda2 -y

참고 : 이 예에서 / dev / sda2는 부팅 장치입니다.

완료되면 재부팅하십시오. 끝난.


0

Scott Severance의 답변은 유효하고 상세하지만 외부 부팅 장치 가 필요 하지 않으므로 해상도로 이어지는 모든 Ubuntu 파티션을 식별하고 수동으로 마운트 할 필요가 없습니다 chroot.

Windows 10에서는 Advanced Recovery부팅 할 장치 (파티션?)를 선택할 수 있습니다 .

가서 Settings선택하십시오 Update & Security:

여기에 이미지 설명을 입력하십시오

로 이동 Recovery:

여기에 이미지 설명을 입력하십시오

에서 Advanced Startup선택Restart Now

여기에 이미지 설명을 입력하십시오

그런 다음 선택 Use a Device하면 모든 부팅 옵션이 표시됩니다. '우분투'파티션을 선택하면 PC가 해당 파티션에서 부팅됩니다.

평소 우분투 환경으로 부팅 한 후에는 실행을 시도했지만 grub-update아무런 변화가 없습니다.

그런 다음 /boot/efi파티션 을 찾아서 /dev/nvme0n1p1실행했다 sudo grub-install /dev/nvme0n1p1가 다시 시작했습니다 sudo update-grub.

마이너 업데이트에서 MBR을 덮어 쓰는 새로운 Windows 10 정책이있는 것처럼 보이기 때문에 이제 마스터 부트 레코드가 여러 번 복원되었습니다 .


0

내 질문에 설명 된 템플릿 을 boot-repair지우면 (아마) 다른 문제가 발생했습니다 .Windows 10 설치 후 우분투 18.04가 부팅되지 않습니다./etc/grub.d/

@karels 주석에서 지적했듯이 grub 구성은의 파일을 사용하여 생성됩니다 /etc/grub.d. 내 디렉토리에는 /etc/grub.d/25_custom.efi 이미지가 아닌 이상한 메뉴 항목이 포함되어 있습니다. 내 /etc/grub.d템플릿이에 의해 혹사 된 것 같습니다 boot-repair.

나는 이것을 수정했다.

  1. Live CD로 부팅 (아마도 동일한 Ubuntu 버전을 사용하는 것이 중요)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. 48 시간의 고통 후 재부팅 및 휴식
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.