grub 부트로더 uefi ubuntu 16.04 설치. Ubuntu가 부팅되지 않는 경우 GRUB2를 수정하는 방법

원본: GRUB 2: 부트로더 치료
게시자: 마양크 샤르마
게시 날짜: 2015년 9월 10일
번역: A. 파닌
번역일자: 2015년 12월 16일

시스템 부트로더가 작동하지 않는 것만큼 짜증나는 일은 많지 않습니다. 이것이 바로 GRUB 2 시스템 부트 로더의 모든 기능을 최대한 활용하고 작동 순서를 유지하는 방법을 배우는 이유입니다.

그것은 무엇을 위한 것입니까?

    GRUB 2는 거의 모든 Linux 배포판에서 사용되는 가장 널리 사용되는 부트 로더입니다.

    시스템 부트로더가 중요합니다 소프트웨어 구성요소, 그러나 경우에 따라 제대로 작동하지 않을 수도 있습니다.

    GRUB 2는 다양한 구성 옵션을 지원하는 확장 가능하고 유연한 부트 로더입니다.


GRUB 2라고 불리는 Linux 부트 로더는 고품질의 유연한 소프트웨어 구성 요소입니다. 이 부트로더는 Linux를 지원하는 유일한 부트로더는 아니지만 가장 널리 사용되며 잘 알려진 거의 모든 배포판에서 사용됩니다. GRUB 2 시스템 부트 로더의 작동 프로세스는 두 단계로 나눌 수 있습니다. 첫째, 컴퓨터에 설치된 모든 이름이 포함된 메뉴가 표시됩니다. 운영체제그 중 하나를 선택할 수 있습니다. 둘째, 부팅 메뉴를 이용하여 해당 커널 기반 운영체제를 선택하면 리눅스 커널을 부팅한다.

분명히 Linux 커널 기반 운영 체제를 사용하는 경우 부트 로더 없이는 할 수 없습니다. 동시에 시스템 부트로더는 아마도 Linux 배포판에서 가장 신비한 구성 요소일 것입니다. 이 가이드에서는 이 시스템 부트 로더의 일부 기능을 소개하고 잘못된 기능과 관련된 문제를 해결하는 방법을 알려드립니다.

GRUB 2 부트 로더의 가장 중요한 구성 요소는 텍스트 파일 모음과 여러 쉘 스크립트입니다. 첫 번째 구성요소 이 세트알아둘 가치가 있는 는 /etc/default/grub 디렉토리에 있습니다. 이것 텍스트 파일, 구성 변수 및 기타 매개변수의 값을 설정할 수 있습니다. GRUB 메뉴 2("사용자 정의 부팅 메뉴 옵션" 섹션 참조)

GRUB 2와 관련된 또 다른 중요한 디렉토리는 /etc/grub.d 디렉토리입니다. 이 디렉토리에는 각 메뉴 항목에 대한 설명을 구성하는 모든 스크립트가 포함되어 있습니다. 이러한 스크립트 이름 앞에는 두 자리 숫자가 붙어야 합니다. 이러한 접두어는 스크립트가 실행되는 순서와 해당 항목이 GRUB 2 메뉴에 나타나는 순서를 설정하기 위한 것입니다. 00_header 파일을 먼저 읽은 다음 /etc/default/grub을 읽습니다. 구성 파일. 그런 다음 10_linux 스크립트를 사용하여 현재 시스템의 Linux 커널에 대한 메뉴 항목이 생성됩니다. 이 스크립트는 /boot 파티션에서 Linux 커널용 일반 부팅 메뉴 항목 하나와 동일한 Linux 커널용 시스템 복구 메뉴 항목 하나를 생성합니다.

다음으로 30_os-prober 및 40_custom과 같은 다른 운영 체제를 검색하는 스크립트가 실행됩니다. os-prober 스크립트는 다른 하드 드라이브 파티션에 있는 다른 커널 및 기타 운영 체제에 대한 메뉴 항목을 생성합니다. 설치된 Linux, Windows, BSD 및 Mac OS X 시스템을 인식할 수 있습니다.os-prober 스크립트에 비해 너무 특이한 파티션 구성을 사용하는 경우 하드 드라이브, 설치된 배포판이 인식되지 않도록 하려면 이 배포판에 대한 설명을 40_custom 스크립트에 추가할 수 있습니다("섹션 참조). 맞춤 요소부팅 메뉴").

GRUB 2에서는 시스템 부팅 옵션을 변경하기 위해 구성 파일을 수동으로 편집할 필요가 없습니다. 대신 grub2-mkconfig 유틸리티를 사용하여 /boot/grub/grub.cfg 구성 파일을 생성할 수 있습니다. 이 유틸리티를 사용하면 /etc/grub.d 디렉토리와 /etc/default/grub 구성 파일의 스크립트를 구문 분석하여 시스템 부팅 매개변수에 대한 설명을 자동으로 생성할 수 있습니다.

그래픽 모드에서 시스템 부트 로더 복원

GRUB 2 부트 로더와 관련된 대부분의 문제는 Boot Repair 응용 프로그램의 단일 버튼을 눌러 간단하게 해결할 수 있습니다. 세련되고 단순한 이 앱은 직관적인 사용자 인터페이스를 갖추고 있으며 스캔하고 인식할 수 있습니다. 다양한 방식디스크 및 디스크 파티션 구성표를 식별할 수 있으며 위치를 확인하고 이러한 파티션 내에 설치된 운영 체제를 올바르게 식별할 수도 있습니다. 이 유틸리티는 MBR(마스터 부트 레코드)이 있는 일반 컴퓨터와 UEFI 및 GPT(GUID 파티션 테이블)가 있는 새 컴퓨터 모두에서 작동할 수 있습니다.

부팅 복구 유틸리티를 사용하는 가장 간단한 방법은 Ubuntu 배포판의 라이브 세션의 일부로 설치하는 것입니다. 손상된 부트로더가 있는 시스템에서 라이브 Ubuntu 배포판을 실행하고 부팅 복구 애플리케이션을 설치한 후 먼저 다음 명령을 사용하여 적절한 PPA를 추가합니다.

Sudo add-apt-repository ppa:yannubuntu/부팅 복구

그런 다음 다음 명령을 사용하여 리포지토리 목록을 업데이트합니다.

Sudo apt-get 업데이트

마지막으로 다음 명령을 사용하여 애플리케이션을 설치할 수 있습니다.

Sudo apt-get install -y 부팅 복구

설치 프로세스가 완료되면 응용 프로그램을 시작할 수 있습니다. 그것은 당신의 HDD여러 버튼으로 구성된 사용자 인터페이스를 표시하기 전에. 응용 프로그램에서 제안한 작업을 수행하려면 "권장 복구" 버튼을 클릭하기만 하면 시스템 부트로더와 관련된 대부분의 문제를 해결할 수 있습니다. 시스템 부트로더를 복원한 후 유틸리티는 기억해야 할 링크를 표시합니다. 이 링크를 클릭하면 다음 사항에 익숙해질 수 있습니다. 자세한 정보파티션을 포함한 디스크 정보와 중요한 GRUB 2 구성 파일(예: /etc/default/grub 디렉터리 및 /boot/grub/grub.cfg 파일)의 내용에 대한 정보입니다. 응용 프로그램이 부트로더 복원에 실패하면 방문자가 하드 드라이브의 파티션 레이아웃을 보고 유용한 조언을 제공할 수 있도록 배포판 포럼에 이 링크를 게시할 수 있습니다.

시스템 부트로더 복원

GRUB 2 부트 로더 문제로 인해 시스템이 다양한 상태로 전환될 수 있습니다. 부트로더 메뉴 대신 화면에 표시되는 텍스트는 시스템의 현재 상태를 나타냅니다. grub> 프롬프트에서 시스템이 부팅되지 않으면 GRUB 2 모듈은 로드되었지만 grub.cfg 구성 파일은 로드할 수 없었다고 결론을 내릴 수 있습니다. 이 프롬프트는 시스템 부팅을 위한 많은 작업을 수행할 수 있는 모든 기능을 갖춘 부트로더 명령 셸에 표시됩니다. grub 구제> 프롬프트가 표시되면 시스템 부트 로더가 해당 모듈과 시스템 부팅 매개변수를 설명하는 파일을 감지할 수 없다는 결론을 내리기 쉽습니다. 그러나 컴퓨터 화면에 "GRUB"이라는 단어만 표시되면 시스템 부트 로더가 일반적으로 마스터 부트 레코드에 저장되는 기본 정보조차 감지하지 못했다는 실망스러운 결론을 내릴 수 있습니다.

GRUB 2 문제는 배포판의 Live CD나 GRUB 2 셸을 사용하여 해결할 수 있습니다. 운이 좋고 부트로더에 grub> 프롬프트가 표시되면 GRUB 2에 내장된 셸의 모든 기능을 사용할 수 있습니다. 오류를 수정하려면

다음 명령은 grub> 프롬프트와 grub 구제> 프롬프트 모두에서 작동합니다. set pager=1 명령을 사용하면 텍스트 스크롤 메커니즘을 활성화하여 자동 스크롤을 방지할 수 있습니다. ls 명령을 사용하면 유사한 방식으로 표시되는 모든 GRUB 2 하드 디스크 파티션을 나열할 수 있습니다.

그럽> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

보시다시피, 이 명령을 사용하면 파티션 자체에 대한 정보와 함께 하드 드라이브의 파티션 테이블 레이아웃에 대한 정보를 표시할 수 있습니다.

또는 각 하드 드라이브 파티션에 대해 ls 명령을 사용하여 루트 파일 시스템이 있는 파티션을 찾을 수 있습니다.

Grub> ls (hd0.5)/ loss+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

파티션 이름을 쓸 때 msdos 파티션 유형 식별자를 삭제할 수 있습니다. 또한 파티션 이름 끝에 슬래시를 생략하고 예를 들어 ls (hd0,5)와 같은 명령을 실행하면 유형 정보를 포함하여 파티션에 대한 정보를 얻을 수 있습니다. 파일 시스템, 전체 크기 및 마지막 수정 시간. 하드 드라이브에 루트 파티션이 여러 개 있는 경우 cat 명령을 사용하여 /etc/issue 파일의 내용을 읽어 비슷한 방식으로 배포를 식별할 수 있습니다: cat (hd0.5)/etc/issue .

(hd0,5) 파티션에서 올바른 루트 파일 시스템을 찾았다고 가정하면 이 파일 시스템에 /boot/grub 디렉터리와 vmlinuz-3.13.0-24와 유사한 이름의 Linux 커널 이미지가 포함되어 있는지 확인해야 합니다. 로드하고 싶습니다. 이제 시스템을 부팅하려면 다음 명령을 입력하면 됩니다.

Grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

첫 번째 명령은 부팅할 배포 파일이 있는 하드 드라이브의 파티션에 대한 정보를 GRUB 2 시스템 부트 로더에 전달합니다. 두 번째 명령은 지정된 범위 내의 커널 이미지 파일 위치에 대한 정보를 전달합니다. 하드 섹션디스크 및 루트 파일 시스템의 위치에 대한 정보. 마지막 줄에서는 초기 디스크 이미지 파일의 위치를 ​​지정할 수 있습니다. 이 파일의 내용은 메모리에 저장되고 커널 부팅 프로세스 중에 사용됩니다. 자동 완성 기능을 사용하면 커널 파일 이름과 초기 디스크 이미지를 입력할 때 많은 시간과 노력을 절약할 수 있습니다.

다음 grub> 인사말 뒤에 GRUB 2를 사용하여 지정된 운영 체제의 로드를 시작하는 boot 명령을 입력하여 이러한 줄을 입력해야 합니다.

땅벌레 구출 > 인사말을 만나면 이 행동이 약간 달라져야 합니다. 시스템 부트 로더가 필요한 모듈을 감지하고 로드할 수 없으므로 수동으로 로드해야 합니다.

그럽 구조> set root=(hd0,5) 그럽 구조> insmod (hd0,5)/boot/grub/normal.mod 그럽 구조> 일반 그럽> insmod linux

이전과 마찬가지로 ls 명령을 성공적으로 사용하여 Linux 루트 파티션을 찾은 후에는 set 명령을 사용하여 해당 파티션을 표시해야 합니다. 다음으로 일반 모듈을 로드해야 하며 그 후에는 grub> 인사말을 사용하여 표준 모드로 돌아갑니다. 다음 명령을 사용하면 Linux 모듈이 자동으로 로드되지 않은 경우 이를 로드할 수 있습니다. 이 모듈을 로드한 후 커널 이미지 파일 및 초기 디스크 이미지의 위치에 대한 정보를 시스템 부트 로더에 전송하고 boot 명령을 사용하여 배포판 로드를 시작할 수 있습니다.

배포판을 성공적으로 로드한 후 다음 명령을 사용하여 GRUB 2 구성 파일을 다시 생성해야 한다는 점을 잊지 마세요.

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

또한 부트로더의 복사본을 기본 드라이브에 설치해야 합니다. 부팅 항목다음 명령을 사용하여:

GRUB 2 및 UEFI

UEFI 펌웨어가 있는 기계(예: 지난 몇 년간 판매된 거의 모든 기계)에 추가됨 새로운 레벨 GRUB 2 시스템 부트로더의 문제를 진단하는 과정에서 어려움 UEFI 펌웨어가 있는 머신에 설치된 GRUB 2 시스템 부트로더의 기능을 복원하는 절차가 GRUB 2 시스템 부트로더의 기능을 복원하는 절차와 크게 다르지 않다는 사실에도 불구하고 UEFI 펌웨어가 없는 시스템의 동일한 부트로더, 새 펌웨어 버전 시스템 부트로더를 복원하는 과정에서 다른 결과를 초래하는 다양한 변경이 이루어졌습니다.

UEFI 기반 시스템에서는 마스터 부트 레코드에 아무것도 설치할 필요가 없습니다. 대신 EFI 시스템 파티션(ESP)에 EFI 지원 Linux 부트 로더를 설치하고 Linux의 efibootmgr 또는 Windows의 bcdedit와 같은 도구를 사용하여 이를 기본 부트 로더로 설정해야 합니다.

~에 이 순간널리 사용되는 Linux 배포판을 설치하는 동안 GRUB 2 시스템 부트로더를 올바르게 설치해야 Windows 8과 성공적으로 공존할 수 있습니다. 그러나 시스템 부트로더가 작동하지 않는 경우 라이브를 사용하여 시스템을 복원할 수 있습니다. - 리눅스 배포판 이미지. 라이브 배포 이미지를 다운로드할 때는 다음 위치에 다운로드하고 있는지 확인해야 합니다. UEFI 모드. 컴퓨터 부팅 메뉴에는 각각 두 개의 항목이 포함되어야 합니다. 이동식 미디어- 일반 모드와 UEFI 모드로 부팅합니다. 사용 마지막 모드/sys/firmware/efi/ 디렉터리의 파일을 사용하여 EFI 변수에 대한 액세스를 구성합니다.

라이브 환경에서 이 가이드에 설명된 방식으로 성공적으로 설치되지 않은 배포판의 루트 파일 시스템을 마운트해야 합니다. ESP(EFI 시스템 파티션)도 마운트해야 합니다. 장치 파일 /dev/sda1이 이 파티션에 해당한다고 가정하면 다음 명령을 사용하여 이 파티션을 마운트할 수 있습니다:

Sudo 마운트 /dev/sda1 /mnt/boot/efi

그런 다음 이 가이드에 설명된 방식으로 실패한 배포의 루트 파일 시스템으로 chroot 환경을 만들기 전에 modprobe efivars 명령을 사용하여 efivars 커널 모듈을 로드해야 합니다.

이제 Fedora 배포판을 사용하는 경우 다음 명령을 사용하여 부트로더를 다시 설치할 수 있습니다:

Yum grub2-efi 심을 다시 설치하세요

그런 다음 다음 명령을 실행하여 새 부트로더 구성 파일을 생성해야 합니다.

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

Ubuntu 사용자는 다음 명령을 사용하여 동일한 작업을 수행할 수 있습니다.

Apt-get install --grub-efi-amd64 다시 설치

시스템 부트 로더를 복원한 후 chroot 환경을 종료하고 마운트된 모든 하드 드라이브 파티션을 마운트 해제한 후 GRUB 2 메뉴로 이동하여 컴퓨터를 재부팅해야 합니다.

/etc/grub.d 디렉터리에서 스크립트를 비활성화하려면 chmod -x /etc/grub.d/20_memtest86+와 유사한 명령을 사용하여 실행 비트를 지우면 됩니다. 이 명령은 부팅에서 "Memory Test" 줄을 제거합니다. 메뉴

야, 내 GRUB는 어디 있지?

GRUB 2 시스템 부트 로더의 장점은 필요할 때마다 다시 설치할 수 있다는 것입니다. 이렇게 하면 예를 들어 Windows가 자체 부트 로더로 교체한 후 GRUB 2 부트 로더를 분실한 경우 라이브 환경에서 몇 가지 작업을 수행하여 GRUB 2를 복원할 수 있습니다. /dev/sda5 장치 파일로 표시되는 하드 드라이브 파티션에 배포판을 설치했다고 가정하면 먼저 다음 명령을 사용하여 배포판의 루트 파일 시스템을 마운트할 디렉터리를 생성하여 GRUB 2 부트 로더를 다시 설치할 수 있습니다.

Sudo mkdir -p /mnt/distro

그런 다음 다음 명령을 사용하여 이 파티션에서 파일 시스템을 마운트해야 합니다.

마운트 /dev/sda5 /mnt/distro

그런 다음 다음 명령을 사용하여 GRUB 2 부트 로더를 다시 설치할 수 있습니다.

Grub2-install --root-directory=/mnt/distro /dev/sda

이 명령은 설치된 Linux 배포판의 파일 시스템과 grubenv 및 device.map과 같은 GRUB 2 부트 로더 파일이 포함된 /dev/sda 장치의 마스터 부트 레코드 영역에 있는 정보를 덮어씁니다.

여러 배포판이 설치된 컴퓨터를 작동할 때 자주 발생하는 또 다른 문제가 있습니다. 새 Linux 배포판을 설치할 때 해당 부트 로더는 이미 설치된 배포판에 대한 정보를 검색해야 합니다. 해당 정보를 검색하지 못하는 경우 최신 설치된 배포판을 다운로드하고 다음 명령을 실행하면 됩니다.

Grub2-mkconfig

이 명령을 실행하기 전에 부팅 메뉴에 표시되지 않지만 설치된 배포판의 루트 파일 시스템이 있는 파티션이 마운트되어 있는지 확인해야 합니다. 부팅 메뉴에 추가하려는 배포판의 /root 및 /home 파일 시스템이 별도의 하드 드라이브 파티션에 있는 경우 grub2-mkconfig를 실행하기 전에 /root 파일 시스템만 마운트해야 합니다.

GRUB 2 부트 로더는 대부분의 배포판을 감지할 수 있지만 Ubuntu 배포판을 실행하는 동안 Fedora용 부트 로더 메뉴 항목을 추가하려면 한 가지 추가 단계가 필요합니다. Fedora 배포판을 설치할 때 기본 설정을 사용한 경우 설치 프로그램은 LVM 파티션을 생성합니다. 이 경우 Fedora 배포판을 부팅 메뉴에 추가하기 위해 GRUB 2 부트 로더와 함께 제공되는 os-prober 스크립트를 호출하기 전에 먼저 패키지 관리 시스템을 사용하여 lvm2 드라이버를 설치해야 합니다. 소프트웨어유사한 명령을 사용하여 배포:

Sudo apt-get install lvm2

빠른 수정

grub2-install을 실행해도 아무런 차이가 없고 Linux 배포판을 부팅할 수 없는 경우 부트 로더를 완전히 다시 설치하고 재구성해야 합니다. 이 작업을 수행하려면 다음을 사용할 수 있습니다. 유용한 유틸리티 chroot - 라이브 환경의 루트 디렉터리를 일시적으로 루트 디렉터리로 바꿀 수 있습니다. 설치된 시스템기능을 복원해야 하는 Linux입니다. 이 목적을 위해 chroot 유틸리티가 있는 Linux 배포판의 Live CD를 사용할 수 있습니다. 그러나 하드 드라이브에 설치된 배포판과 동일한 CPU 아키텍처에 대해 Live CD를 사용하고 있는지 확인해야 합니다. 따라서 chroot 유틸리티를 사용하여 64비트 설치된 시스템의 기능을 복원하려면 64비트 시스템용 Live CD가 필요합니다.

Live 환경을 로딩한 후, 먼저 기기의 하드 드라이브 파티션을 확인해야 합니다. fdisk -l 명령을 사용하여 하드 드라이브의 모든 파티션을 나열하고 복원하려는 GRUB 2 부트 로더가 설치된 파티션의 번호를 찾으십시오.

장치 파일 /dev/sda5로 표시되는 하드 디스크 파티션에 설치된 배포판의 시스템 부트 로더를 복원해야 한다고 가정해 보겠습니다. 터미널 에뮬레이터를 열고 다음 파티션을 마운트합니다.

Sudo 마운트 /dev/sda5 /mnt

이제 컴퓨터에 설치된 다른 운영 체제를 올바르게 감지하려면 GRUB 2 시스템 부트 로더에 액세스할 수 있어야 하는 디렉터리를 마운트해야 합니다.

$ sudo 마운트 --bind /dev /mnt/dev $ sudo 마운트 --bind /dev/pts /mnt/dev/pts $ sudo 마운트 --bind /proc /mnt/proc $ sudo 마운트 --bind /sys /mnt /sys

이제 라이브 환경을 떠나 chroot 유틸리티를 사용하여 장치 파일 /dev/sda5가 나타내는 파티션에 설치된 배포판 환경으로 이동할 수 있습니다.

$ sudo chroot /mnt /bin/bash

이제 GRUB 2 부트 로더를 설치, 확인 및 업데이트할 준비가 되었습니다. 이전과 마찬가지로 부트 로더를 다시 설치하려면 다음 명령을 사용해야 합니다:

Sudo grub2-install /dev/sda

grub2-install 명령은 grub.cfg 구성 파일을 건드리지 않으므로 다음 명령을 사용하여 수동으로 생성해야 합니다:

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

이 명령 순서는 부트로더 문제를 해결하는 데 도움이 됩니다. 이제 귀하의 컴퓨터에는 설치된 모든 운영 체제 및 배포판 목록과 함께 GRUB 2 부트 로더의 새 복사본이 설치됩니다. 컴퓨터를 재부팅하기 전에 chroot 환경을 종료하고 다음 순서에 따라 사용된 모든 파일 시스템을 마운트 해제해야 합니다:

$ 종료 $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

그런 다음 시스템을 안전하게 재부팅할 수 있으며, 이 시스템은 다시 한 번 GRUB 2 부트 로더의 제어를 받게 되며 이는 사용자의 완전한 제어하에 있습니다!

사용자 정의 부팅 메뉴 옵션

GRUB 2 부트 로더는 많은 수의 구성 변수를 사용합니다. 이 섹션에서는 /etc/default/grub 구성 파일의 내용을 검토하면서 수정하고 싶을 수 있는 일부 변수에 대해 설명합니다. GRUB_DEFAULT 변수를 사용하면 기본적으로 선택되는 부팅 메뉴 항목을 지정할 수 있습니다. 해당 값은 첫 번째 메뉴 항목에 해당하는 숫자 0과 같은 숫자일 수도 있고 마지막으로 컴퓨터를 부팅할 때 사용된 메뉴 항목을 자동으로 선택할 수 있는 "saved" 문자열도 될 수 있습니다. GRUB_TIMEOUT 변수를 사용하면 기본 메뉴 항목을 사용하여 부팅하기 전에 기다리는 시간을 설정할 수 있으며, GRUB_CMDLINE_LINUX 변수를 사용하면 해당 부팅 메뉴 항목을 사용할 때 각 Linux 커널에 전달될 매개변수 목록을 지정할 수 있습니다. .

GRUB_DISABLE_RECOVERY 변수가 true로 설정된 경우 시스템 복구를 위한 부팅 메뉴 항목이 생성되지 않습니다. 이러한 요소를 사용하면 인터페이스와 함께 사용 가능한 도구를 사용할 수 있는 단일 사용자 모드에서 배포판을 부팅할 수 있습니다. 명령줄시스템을 복원합니다. 또 다른 유용한 변수는 GRUB_GFXMODE 변수로, 부팅 메뉴가 표시될 때 설정될 화면 해상도를 설정할 수 있습니다. 이 변수의 값은 그래픽 카드가 지원하는 해상도에 대한 설명일 수 있습니다.

사용자 정의 부팅 메뉴 항목

부트로더 메뉴에 항목을 추가하려면 40_custom이라는 스크립트에 적절한 스탠자를 추가해야 합니다. 당신이 사용할 수있는 이 요소예를 들어, 이동식 드라이브에 설치된 Linux 배포판을 부팅하려면 부팅 메뉴를 사용하세요. USB 인터페이스. 이동식 USB 드라이브의 배포 파티션이 장치 파일 /dev/sdb1로 표시되고 vmlinuz 커널 이미지 파일과 initrd 파일이 루트 디렉터리(/)의 하위 디렉터리에 있다고 가정하면 다음 스탠자를 추가해야 합니다. 40_custom 스크립트 파일에:

메뉴 항목 "Linux on USB"( set root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro Quiet Splash initrd /initrd.img )

더 나은 호환성을 위해 다음과 같이 장치 및 파티션 ID 대신 하드 디스크 파티션 UUID를 사용할 수 있습니다.

루트=UUID=54f22dd7-eabe 설정

sudo blkid 명령을 사용하여 시스템에 연결된 하드 드라이브 및 해당 파티션의 모든 UUID를 가져옵니다. 마찬가지로, 각 배포판이 설치된 디스크와 커널 이미지 파일이 있는 경로를 알고 있다면 os-prober 스크립트로 식별되었지만 하드 드라이브에 설치된 모든 배포판에 해당하는 부팅 메뉴에 항목을 추가할 수 있습니다. on 및 초기 파일 시스템의 이미지.

부트 로더는 커널을 초기화하고 Linux 운영 체제를 시작하는 데 사용됩니다. 이는 BIOS 하드웨어 점검이 완료된 후 실행되어 하드웨어 작동을 준비하고 필요한 커널 매개변수를 설정하며 운영 체제를 선택할 수 있도록 하는 프로그램입니다. 부트로더의 주요 작업은 사용자가 부팅할 운영 체제를 선택할 수 있도록 하는 것입니다.

이전에는 Linux를 부팅하는 데 여러 가지 부트로더(isolinux, lilo, grub)가 사용되었습니다. 그러나 이제는 Grub 또는 전체 이름 GRand Unified Bootloader가 가장 자주 사용됩니다. 이 기사에서는 터미널을 통해 Grub 부트 로더를 설치하는 방법을 다룹니다. 또한 UEFI를 사용하여 컴퓨터에 grub을 수동으로 설치하는 방법에 대해서도 설명합니다.

앞서 말했듯이 부트로더의 주요 임무는 부팅하기 전에 운영 체제를 선택할 수 있는 기능을 제공하는 것입니다. Windows가 부트로더를 사용하지 않는다고 생각하지 마십시오. Grub이 작동하는 것처럼 Windows에도 부트로더가 존재하고 작동합니다.

부트로더는 다양한 디스크 파티션 테이블에 설치할 수 있습니다. 현재 가장 많이 사용되는 것은 GPT와 MBR입니다. Grub 부트 로더 설치는 특정 기능에 따라 각 테이블마다 약간 다릅니다. 별도의 기사에서 차이점에 대해 자세히 알아볼 수 있습니다. 여기서는 GPT가 더 새롭고 기능적인 파티션 테이블이고 MBR은 이미 구식이지만 여전히 자주 사용된다고 말할 것입니다.

MBR에는 몇 가지 옵션이 있습니다. Grub은 디스크의 MBR 영역에 씁니다. MBR 섹터 크기는 처음 512바이트를 차지하며 이는 부트로더를 설치하기에 충분합니다.

GPT는 더욱 고급 기능을 제공합니다. 첫째, 호환성을 위해 GPT는 MBR 섹터를 에뮬레이트하고 거기에 GRUB를 설치할 수 있지만 이 옵션은 매우 신뢰할 수 없으며 권장되지 않습니다. 둘째, 이제 디스크 파티션에 Grub을 설치할 수 있습니다. 디스크에 1MB 파티션을 생성하고 이전에 MBR에 기록된 내용을 여기에 기록하면 부트로더 설치가 더욱 안정적이고 안전해집니다.

UEFI는 부트로더를 설치하는 완전히 다른 방법을 제공합니다. 어디에도 적어둘 필요가 없습니다. 부트로더는 정상적인 적용 EFI 파티션에 배치되어 이미 다른 응용 프로그램과 함께 완전히 성공적으로 실행되는 EFI입니다.

grub-install 명령은 모든 경우에 Grub을 설치하는 데 사용됩니다. 구문과 매개변수를 간단히 살펴보겠습니다. 통사론:

$ grub-install 옵션 디스크

여기에는 꽤 많은 매개변수가 있지만 몇 가지만 필요합니다.

  • --압박 붕대- 부트로더 파일을 압축합니다.
  • --설치 모듈=모듈- 이 모듈만 설치하십시오.
  • --모듈- 이 모듈을 MBR에 씁니다.
  • --부팅 디렉토리- Grub 파일에는 다른 디렉토리를 사용하십시오.
  • --부트로더-id- EFI 메뉴의 부트로더 이름
  • --코어 압축- MBR에 로드된 이미지를 압축합니다.
  • --efi 디렉토리- EFI 시스템 파티션을 사용하십시오.
  • --힘- 오류에도 불구하고 설치합니다.
  • --다시 확인- 기존 장치 맵을 삭제하고 오류가 발생하면 도움이 됩니다.
  • --이동할 수 있는- USB 플래시 드라이브에 Grub 설치(EFI에만 해당)

기지가 해체되었습니다. 이제 설치로 넘어가겠습니다. 다음에서는 모든 작업이 부트로더를 설치해야 하는 시스템이나 이 시스템의 chroot 환경에서 수행된다고 가정합니다.

BIOS용 MBR에 Grub 부트로더 설치

가장 간단하고 친숙한 것부터 시작해 보겠습니다. 이 지시부트로더 설치 방법 Grub은 명령이 모든 곳에서 거의 동일하기 때문에 모든 배포판에 적합합니다. 여기에는 아무것도 설치할 필요가 없습니다. 추가 패키지또는 파티션을 생성하세요. 하드 드라이브에 Grub을 설치하려면 다음 명령을 사용하세요.

sudo grub-install /dev/sda

sudo grub2-install /dev/sda

다른 배포판의 Grub 유틸리티에는 두 개가 포함될 수도 있고 포함되지 않을 수도 있습니다. 여기서 /dev/sda는 하드 드라이브입니다. 이제 설치된 운영 체제가 자동으로 감지되도록 구성 파일을 생성합니다.

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

준비가 된. 듀스에 대해서도 같은 말이 있습니다. MBR의 플래시 드라이브에 Grub을 설치하려는 경우에도 문제가 없습니다. 플래시 드라이브를 마운트하고 다음 명령을 실행하면 됩니다.

sudo grub-install --root-directory=/mnt/USB/ /dev/sdb

여기서 /mnt/USB는 플래시 드라이브가 마운트된 폴더이고 /seb/sdb는 플래시 드라이브 자체입니다. 여기에는 단 하나의 문제가 있습니다. 구성 파일을 수동으로 생성해야 한다는 것입니다.

BIOS용 GPT에 Grub 부트로더 설치

첫째, 이전 방법에서 설명한 대로 아무것도 변경하지 않고 Grub을 설치할 수 없습니다. 하지만 그러면 MBR 호환 영역에 설치가 되기 때문에 신뢰할 수 없습니다. 따라서 아래 설명과 같이 별도의 파티션에 grub을 설치하는 것이 좋습니다.

그래픽 인터페이스로 설치하거나 gparted를 사용하여 설치하는 경우 모든 배포판의 설치 프로그램에서 필요한 파티션을 생성할 수 있습니다. 파일 시스템이 없고 grub_bios라는 라벨이 붙은 1MB의 파티션이 필요합니다.

준비가 된. 편리한 GUI에 액세스할 수 없는 경우 터미널을 통해 이러한 파티션을 만들 수 있습니다. fdisk 유틸리티는 gpt 작업을 지원하지 않으므로 gfdisk를 사용하겠습니다. 먼저 유틸리티를 실행하십시오.

sudo gdisk /dev/sda

만들다 새 섹션 n을 누르고 섹션 번호를 선택합니다.

우리는 초기 섹터에 동의하며 첫 번째 무료 섹터가 사용됩니다.

파티션의 마지막 섹터를 선택하십시오. 기본값은 최대입니다. 1MB 파티션이 필요합니다. 하나의 GPT 섹터 크기는 512바이트이므로 2048 섹터의 파티션 크기가 필요합니다. 따라서 최종 섹터는 24,000이 됩니다.

HEX 코드는 이 파티션을 Grub에 사용해야 하고 설치해야 함을 시스템에 알려주는 코드입니다. ef02:

완료되었습니다. w를 눌러 변경 사항을 디스크에 쓰기만 하면 됩니다.

sudo grub-install /dev/sda

남은 것은 grub 구성 파일을 생성하는 것뿐입니다.

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

이제 어려운 부분인 grub efi를 설치하는 방법으로 넘어가겠습니다.

GRUB UEFI GPT 설치

Grub UEFI 설치는 GPT에 설치하는 것과 다소 유사합니다. 여기에는 별도의 파티션도 있습니다. 이번에는 부트로더용이 아닌 EFI 파티션입니다. Windows가 이미 설치되어 있다면 이미 Windows가 설치되어 있을 가능성이 높습니다. 이 파티션은 일반적으로 100MB를 차지하고 fat32 파일 시스템과 ESP 플래그를 갖습니다. 다음과 같은 모습입니다.

해당 파티션이 없으면 gparted를 사용하여 만들 수 있습니다. 이렇게 하려면 다음 매개변수를 사용하여 섹션을 생성하세요.

크기 100MB, 파티션 이름 ESP, 파일 시스템 지방32. 다음으로 변경 사항을 적용하고 섹션에 대한 플래그를 설정합니다. ESP:

Gdisk에서도 동일한 작업을 수행할 수 있습니다. 이번에는 파티션의 HEX 코드를 설정해야 합니다. ef00. 파티션이 생성된 후 이를 파일 시스템에 연결합니다.

sudo mkdir /boot/efi
$ sudo 마운트 /dev/sda2 /boot/efi

sudo apt 설치 grub-efi efibootmgr

그럽 설치 /dev/sda

MBR에 Grub efi를 설치하는 것은 똑같아 보이지만 몇 가지 제한 사항만 있습니다. ESP 파티션은 디스크 시작 부분에만 생성하면 됩니다. 안에 EFI 모드 USB 플래시 드라이브에 GRUB를 설치할 수도 있으며 그리 어렵지 않습니다. 이를 위해 명령이 사용됩니다.

수술실임에도 불구하고 리눅스 시스템작은 시장 점유율을 차지하고 있지만 공식적인 무료 특성, 상당히 안정적인 작동 및 상당한 설정 유연성으로 인해 다양한 빌드가 인기를 얻고 있습니다. 예, 일부 기능은 Windows 또는 Mac OS와 다르게 작동하며 대부분의 소프트웨어는 주로 이 두 제품용으로 제작되었습니다. 하지만 이것이 모두를 막지는 못합니다.

Linux가 작동하려면 오류가 발생한 경우 Grub 부트로더를 복원해야 합니다.

거의 모든 Linux 빌드가 원활하게 실행되지만 때로는 부트로더 오류가 발생하여 운영 체제를 시작할 수 없게 될 수 있습니다. 어떤 이유로 이런 일이 일어날 수 있습니까? Linux에서 Grub 부트로더를 복원하는 방법은 무엇입니까? 어떤 작업 방식이 있나요? 오늘 기사에서는 이 모든 것에 대해 그리고 조금 더 자세히 이야기하겠습니다.

컴퓨터의 하드 드라이브에 Linux를 설치하면 모든 파일이 별도의 폴더에 복사됩니다. 일부 디렉토리에는 안전하게 삭제할 수 있는 일반 소프트웨어 파일이 포함되어 있습니다. 다른 파일에는 운영 체제가 작동하지 않는 파일이 포함되어 있습니다. 여기에는 Linux 커널, 그래픽 셸 및 Grub 부트 로더가 포함됩니다. 설치된 운영 체제를 시작하는 데 사용되는 것은 후자입니다. 어떻게 이런 일이 발생하나요?

시스템은 특수 부팅 파티션에 마스터 부팅 레코드를 생성합니다. 영어 약어는 MBR과 비슷하며 Master Boot Record를 나타냅니다. 시작 시 컴퓨터 BIOS이 항목에 액세스하면 Grub이 작동하고 모든 것이 정상일 때 발생합니다. 리눅스 시작. 그리고 부트로더가 손상되면 시작 시 오류가 발생하고 시스템이 시작되지 않습니다.

어떤 이유로 이런 일이 일어날 수 있습니까? 대부분의 경우는 다음과 같은 사실로 인해 발생합니다. 리눅스 설치첫 번째 시스템으로 Windows를 보조 시스템으로 설치합니다. Microsoft는 전통적으로 Linux를 좋아하지 않으므로 Windows 설치 프로그램은 Grub Linux를 제거합니다. 다음과 같은 경우에도 동일한 문제가 발생할 수 있습니다. 잘못된 설치 Linux 자체, 다른 배포판으로 전환 또는 디스크 재파티션으로 인해.

고려해야 할 가장 중요한 점은 바로 전체 시스템을 다시 설치하는 것에 대해 생각할 필요가 없다는 것입니다. Grub을 복원하기만 하면 모든 것이 이전처럼 작동합니다. 가장 많이 고려해 봅시다. 효과적인 방법, 경험이 없는 사용자도 접근 가능합니다.

부팅 가능한 미디어의 터미널을 통해

이렇게 하려면 부팅 가능한 USB 플래시 드라이브나 녹화된 디스크가 필요합니다. 리눅스 배포판. 이상적으로는 하드 드라이브에 설치된 시스템과 유사해야 합니다. 그러나 분포가 가장 중요한 포인트가 아니라면 어떤 경우에도 비트 심도가 일치해야 합니다. 그렇지 않으면 훨씬 더 큰 결과가 초래되므로 모든 것을 다시 설치해야 합니다.

  1. 플래시 드라이브나 디스크를 컴퓨터 커넥터에 삽입한 다음 부팅 우선 순위로 지정합니다. 필요한 설정은 부팅 장치 우선 순위 또는 첫 번째 부팅 장치 섹션에 있습니다. BIOS를 시작하려면 전원을 켤 때 다음을 누르십시오. 원하는 버튼또는 키보드에서 두 가지를 조합하여 사용할 수 있습니다. 가장 인기 있는 옵션은 F2, Del, Shift + F2, F10입니다. BIOS를 처리할 필요가 없도록 F11 또는 F12를 누르고 제공된 목록에서 미디어를 선택하면 됩니다.
  2. 다음으로 시스템이 설치된 하드 드라이브의 파티션과 부트로더로 지정된 파티션을 찾아야 합니다. 이렇게 하려면 터미널을 시작해야 합니다(명령줄과 유사). Windows 문자열), 애플리케이션 메뉴에서 찾거나 조합을 눌러 Ctrl 키+ Alt + T 또는 Alt + F2. 열리는 창에서 sudo fdisk -l 명령을 입력해야 합니다. 유틸리티는 즉시 모든 디스크 파티션을 검색하고 각 파티션에 대한 정보를 표시합니다. 컴퓨터에 설치된 다른 운영 체제에 대한 정보도 표시됩니다. 파티션 이름, 위치, 크기 및 파일 시스템 유형을 확인할 수 있습니다. 그럴 때 우분투 설치수동으로 파티션을 나누었다면 어느 파티션이 부팅 파티션이고 어느 파티션이 루트 파티션인지 쉽게 알 수 있습니다. 자동으로 마킹할 때는 다음에 집중하세요. 리눅스 이름. 이는 시스템의 루트가 됩니다. 파티션 이름은 일반적으로 약어 sdc 또는 sda와 일련 번호가 포함된 숫자로 구성됩니다.
  3. 다음으로 /mnt 폴더에 루트 파일 시스템을 마운트해야 합니다. sudo mount /dev/sda1 /mnt 명령이 도움이 될 것입니다. 여기서 sda 대신 파티션 이름을 입력해야 합니다.

이 단계부터 Linux에서 Grub을 복원하는 두 가지 방법이 있습니다.

방법 1

  1. 부트로더 복구 명령(sudo Grub-install -root-directory=/mnt /dev/sda)을 입력합니다.
  2. sudo 재부팅 명령을 사용하여 컴퓨터를 재부팅합니다. 결과적으로 OS 선택 메뉴가 나타납니다.
  3. 이 메뉴에 오래된 정보가 표시되면 부팅을 업데이트하세요. MBR 항목. 이렇게 하려면 Linux를 정상적으로 시작하고 터미널을 열고 sudo update-Grub 명령을 사용합니다. 그래도 도움이 되지 않으면 sudo update-Grub –output=/mnt/boot/Grub/Grub.cfg를 사용한 다음 이전 단계를 반복하세요.
  4. 컴퓨터를 다시 시작하십시오.

방법 2.

  1. /mnt 파티션에 파일 시스템의 루트를 마운트한 후 부팅 파일과 커널과 상호 작용하기 위한 기타 구성 요소가 포함된 폴더를 추가로 마운트해야 합니다. 이렇게 하려면 다음 명령을 차례로 실행하십시오.

sudo 마운트 /dev/sdc2 /mnt/boot

sudo 마운트 –bind /dev /mnt/dev

sudo 마운트 -bind /sys /mnt/sys

sudo 마운트 -bind /proc /mnt/proc

  1. 다음으로 chroot 쉘을 실행해야 합니다. 이렇게 하려면 터미널에 chroot /mnt /bin/bash를 추가하세요. 첫 번째 매개변수는 루트 디렉토리에 주의를 기울이고, 두 번째 매개변수는 사용자 명령을 변환하기 위한 특수 쉘에 주의를 기울입니다.
  2. 다음으로, Ubuntu에 들어가서 서비스와 그래픽 인터페이스를 제외한 거의 모든 애플리케이션을 사용하려면 다음 명령을 사용해야 합니다.

소스 /etc/profile.

  1. 이제 Grub 복원을 직접 시작할 수 있습니다. 이렇게 하려면 다음과 같은 몇 가지 명령을 사용해야 합니다.
    • 하드 드라이브에 부트로더를 다시 설치하려면: sudo Grub2-install /dev/sdc (마지막 매개변수는 파티션 이름입니다).
    • 새 구성 파일을 생성하려면: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
    • 부팅 메뉴를 업데이트하려면: sudo Grub-update.
  2. 절차를 완료하려면 종료 명령을 사용하여 chroot 쉘을 종료하고 이전에 마운트된 파일 시스템 파티션도 마운트 해제하십시오.

sudo umount /mnt/dev

sudo umount /mnt/proc

sudo umount /mnt/sys

sudo umount /mnt

sudo umount /mnt/boot.

  1. 재부팅을 통해 재부팅하십시오.

부트로더 복구 유틸리티를 통해

이전 방법이 모든 사람에게 적합하지 않을 수 있으므로 플래시 드라이브에서 시작할 때 완벽하게 작동할 수 있는 Ubuntu 기능을 사용하겠습니다. 이를 위해 우리는 특수 유틸리티부팅 수리. 무엇을 해야 합니까?

  1. USB 플래시 드라이브에서 Ubuntu를 실행하고 인터넷에 연결되어 있는지 확인하세요.
  2. 터미널을 찾아 다음 명령을 차례로 실행하십시오.

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get 업데이트

sudo apt-get 설치 부팅 복구.

  1. 응용 프로그램 메뉴에서 "부트로더 복구"를 찾아 유틸리티를 활성화하십시오.
  2. "권장 복구 방법" 버튼을 클릭하고 절차가 완료될 때까지 기다립니다.
  3. 대부분의 상황에서 이러한 작업은 Grub Linux 부트로더의 정상적인 작동에 충분합니다.

파일 시스템에 부분적으로 액세스할 수 있는 명령줄을 통해

때때로 Grub 부트 로더는 전체 시스템이 부팅할 수 없을 정도로 손상되지 않습니다. 예를 들어 부팅 파티션은 그대로 유지되지만 유틸리티 자체에서는 해당 파티션에 액세스할 수 없습니다. 이 경우에는 열립니다. 껍데기, 명령줄과 다소 유사하며 다음 메시지가 표시됩니다. 줄 편집과 같은 Minimal BASH가 지원됩니다. 여기서 이 명령줄을 사용하여 Ubuntu 부팅을 시도할 수 있습니다.

어떤 하드 드라이브에 시스템과 커널이 포함되어 있는지 확실히 알고 있어야 합니다. 사용 가능한 명령은 4개뿐이며 순차적으로 적용해야 합니다.

  1. 시스템이 디스크와 파티션을 검색하도록 하려면 ls 명령을 실행하십시오. 응답으로 목록을 받게 됩니다. 하드 드라이브(예: hd1, hd2) 및 해당 파일 시스템 유형(예: msdos1, msdos2). 예를 들어, 부팅 파티션이 /dev/sda1에 있다고 가정합니다.
  2. 다음으로 작업할 섹션을 선택해야 합니다. 우리의 경우 명령은 다음과 같이 작성됩니다: set root=(hd1,1).
  3. 일반 Grub 쉘을 로드합니다: insmod ext2, insmod Normal, Normal.
  4. Linux 커널을 시작합니다: linux /boot/vmlinuz.
  5. 시스템을 부팅합니다: boot.
  6. Ubuntu를 정상적으로 시작한 후 터미널을 열고 다음 명령을 사용하여 부트로더 복구 절차를 완료합니다.

sudo Grub2-install /dev/sda

sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.

  1. 재부팅하고 정상적으로 작동하십시오.

결론

언뜻 보기에 Ubuntu에서 Grub 부트로더를 복원하는 것은 매우 복잡한 것처럼 보일 수 있으며 비슷한 문제가 있는 많은 Linux 사용자는 즉시 운영 체제를 다시 설치하기 시작하지만 일반적인 지침이 있으면 모든 것이 매우 간단하고 복잡하지 않게 수행됩니다. 중요한 정보의 손실을 방지하는 데 도움이 되었기를 바랍니다. 이 페이지를 북마크에 저장하고 이 정보를 친구 및 지인과 공유하세요. 댓글에 질문을 남겨주세요.

작업: Windows 7과 Ubuntu 14.04라는 두 가지 시스템을 갖춘 컴퓨터가 있습니다.
Windows 버전을 10으로, Ubuntu를 16.04로 업데이트해야 합니다.
먼저, 내가 갖고 있는 Windows 대신 라이선스가 부여된 Windows를 설치하고 이를 다음으로 업데이트해야 했습니다. 최신 버전- 수십.
세븐의 이미지는 마이크로소프트 홈페이지에서 다운로드 받은 뒤 무료 프로그램을 이용해 플래시 드라이브에 업로드한 것이다. 루퍼스, 이 플래시 드라이브에서 Windows가 성공적으로 설치된 후 Windows 10으로 업데이트되었습니다.
이제 작업은 GRUB를 복원하는 것입니다. Windows는 자연스럽게 부트 로더를 지워 Linux에 대해 알고 싶지 않은 자체 설치를 수행했기 때문입니다. :) 최신 마더보드에는 BIOS가 포함되어 있지 않지만 UEFI가 포함되어 있다는 사실로 인해 작업이 복잡해집니다. 더욱 발전된 로컬 운영 체제. 그리고 이전과 같은 방식으로 GRUB을 설치할 수는 없습니다.

이 문제를 조금 검색한 후 Boot-Repair 프로그램 형태의 솔루션을 찾았습니다.
디스크에서 운영 체제를 검색하고 GRUB를 설치하여 필요한 메뉴와 필요한 모든 설정을 생성합니다.
이 프로그램을 사용하는 방법에는 두 가지가 있습니다.
첫 번째 방법은 USB 플래시 드라이브 또는 LiveCD 디스크에서 부팅하고 다음 프로그램을 설치하고 실행하는 것입니다.
터미널을 열고(Ctrl+Alt+T) 다음 명령을 복사하여 실행합니다.
sudo add-apt-repository ppa:yannubuntu/boot-repair
그런 다음 소스를 업데이트합니다.
sudo apt-get 업데이트
다음 명령은 Boot-Repair를 설치합니다.
sudo apt-get install -y boot-repair
그런 다음 시스템 메뉴를 통해 Ubuntu의 일반적인 방식으로 프로그램을 시작할 수 있습니다.
두 번째 방법은 다운로드하는 것입니다. 이 프로그램을 사용한 디스크 이미지, 플래시 드라이브나 CD에 업로드하고 부팅한 후 부트로더를 복원하세요. 저는 두 번째 옵션이 더 실용적이기 때문에 선택했습니다. 다른 곳이 필요할지 결코 알 수 없습니다. 동일한 내용으로 플래시 드라이브에 다운로드하여 업로드했습니다. 루퍼스-옴.
LiveCD가 어떤지는 모르겠지만 플래시 드라이브에서 부팅하면 마더보드 UEFI를 사용하는 경우 UEFI 모드로 부팅해야 합니다. 그렇지 않으면 프로그램이 GRUB 복원을 거부합니다. 그리고 여기에는 잠재적인 함정이 기다리고 있습니다. 일반적인 언어 및 부팅 옵션 선택 대신 화면에 유일한 시작 옵션 줄이 있는 검정색 배경의 GRUB 메뉴가 표시됩니다.
Ubuntu를 사용하여 플래시 드라이브로 부팅하는 경우 다음 두 가지 옵션이 있는 메뉴가 있습니다.
- 설치 없이 Ubuntu 다운로드
- 우분투 설치.
이 모든 경우에 항목을 선택하면 화면이 정지되면서 검은색 화면이 나타납니다. 즉, 시스템이 비디오 모드를 선택할 수 없어 어리둥절해졌습니다.
이 문제는 다음과 같이 해결됩니다. GRUB에서 원하는 메뉴 항목을 선택하고 "e" 키를 눌러 시작 줄 편집기로 이동한 다음 "- 앞의 가장 긴 줄 끝에서" -” nomodeset 매개변수를 추가해야 합니다. 그 후 F10을 누르세요. 시스템은 다음을 사용하여 단순화된 그래픽 모드로 부팅됩니다. 영어기본.
이 프로그램은 권장 작동 매개변수를 제공합니다. 대부분의 경우 이것으로 충분합니다. 고급 사용자는 고급 설정에서 운영 체제 부팅 우선 순위와 선택 대기 시간을 선택할 수 있습니다.
그 과정에서 프로그램이 요청하는 모든 작업을 수행해야 합니다. 과정은 간단하고 명확합니다. 복구가 완료되면 부트로더가 복구되었다는 메시지가 표시되며 컴퓨터를 다시 시작할 수 있습니다.

원본: Ubuntu Linux 16.04/15.10/15.04에서 Grub 부트 로더를 복구하는 방법
작가: 아줌마
발행일: 2016년 6월 21일
번역: A. 크리보셰이
번역일: 2016년 10월

Grub(GRand Unified Bootloader)은 대부분의 Linux/Unix 시스템의 기본 부트로더입니다. 이를 통해 다양한 운영 체제를 다운로드하거나(컴퓨터에 여러 시스템을 설치할 수 있음) 다운로드할 수 있습니다. 다른 버전 Linux를 실행하는 경우 커널. 이 프로그램이 어떤 식으로든 손상되면 부팅 프로세스 중에 오류 메시지가 표시되고 결과적으로 운영 체제를 부팅하지 못할 가능성이 높습니다. 일반적으로 이 경우 정상 작동을 복원하는 유일한 방법은 Grub 시스템 부트 로더를 복원하거나 다시 설치하는 것입니다. 이 절차를 올바르게 수행하면 데이터 손실을 방지할 수 있습니다. 오늘은 Grub 부트로더를 복구/재설치하는 방법을 알아 보겠습니다. 우분투 시스템. 아래 단계는 Ubuntu 16.04에서 수행되었지만 상당히 최근 버전에서도 작동합니다. 우분투 버전. 작업을 완료하기 위해 잘 알려진 "부팅 복구" 유틸리티를 사용하겠습니다.

Ubuntu에 부팅 복구 설치

부팅 복구는 Grub 부트 로더와 관련된 오류를 수정하는 데 가장 자주 사용됩니다. 먼저 Ubuntu용 Live CD/DVD/USB에서 컴퓨터를 부팅해야 합니다(Grub을 복원하는 방법을 찾고 있다면 설치된 운영 체제를 더 이상 부팅할 수 없을 가능성이 높습니다).

$ sudo add-apt-repository ppa:yannubuntu/boot-repair

PPA를 추가한 후 패키지 목록을 업데이트합니다.

$ sudo apt-get 업데이트

이제 부팅 복구를 설치할 수 있습니다.

$ sudo apt-get install -y boot-repair

설치가 성공적으로 완료되면 응용 프로그램 > 부팅 복구에서 부팅 복구를 실행합니다.

부팅 복구를 사용하여 Grub 오류 수정

부팅 복구를 시작하면 프로그램의 시작 창이 표시됩니다.

첫 번째 옵션(권장 복구)은 Grub 오류를 수정할 수 있으며, 이를 클릭하면 아래 스크린샷에 표시된 복구/재설치 프로세스가 시작됩니다.

스크린샷에 제공된 지침에 따라 터미널을 열고 다음 세 가지 명령을 실행합니다.

이 명령을 완료한 후 "앞으로"를 클릭하여 복구 프로세스의 다음 단계로 진행합니다. 다음 단계에서 볼 수 있는 내용은 다음과 같습니다.

지침에 따라 아래 세 가지 명령을 올바른 순서로 실행하세요. 이 단계에서 Grub 2 제거를 확인하는 창이 나타나면 "예"를 선택하십시오.

$ sudo dpkg --configure -a $ sudo apt-get install -fy $ sudo apt-get install -y --force-yes grub-pc linux-generic

프로세스를 완료한 후 "앞으로"를 클릭하세요. 아래는 다음 단계의 스크린샷입니다.

지침에 따라 터미널에서 아래 명령을 실행하고 메시지가 표시되면 grub을 설치할 하드 드라이브를 지정하십시오.

$ sudo apt-get install -y --force-yes grub-pc linux-generic

이제 필요한 작업이 완료될 때까지 몇 분 정도 기다려야 하며 아래 메시지가 표시됩니다.

시스템을 재부팅하면 작동하는 부트로더 메뉴가 표시됩니다.

결론

Grub이 작동하지 않는 현상은 다양한 이유로 인해 발생할 수 있으며, 특히 여러 운영 체제가 설치된 경우 업데이트하거나 설치할 때 문제가 발생할 수 있습니다. 다양한 오류. 따라서 이러한 우수하고 유용한 기능을 갖는 것이 유용합니다. 무료 프로그램부트로더 문제를 해결하기 위해.

공유하다