GRUB 부트로더에는 부트 문제를 해결하는 데 사용할 수 있는 강력한 명령줄 인터페이스가 있습니다. 그것은 GRUB 구조라고합니다.
이 기사에서는 GRUB의 GRUB Rescue 명령줄 인터페이스를 사용하는 방법을 보여줍니다. 데모를 위해 Ubuntu 18.04 LTS를 사용하고 있습니다. 시작하자.
기본적으로 모든 것이 정상이면 컴퓨터를 시작할 때 설치한 운영 체제로 바로 부팅되어야 합니다. 제 경우에는 Ubuntu 18.04 LTS 운영 체제입니다.
문제가 발생하여 부팅 문제가 발생하면 GRUB 복구 명령줄 인터페이스가 표시될 것입니다. 아래에 주어진 스크린샷과 같습니다.
때때로 아래 스크린샷과 같이 GRUB 메뉴를 볼 수 있습니다. 여기에서 GRUB Rescue로 이동하려면 씨 .
아래 스크린샷에서 볼 수 있듯이 GRUB Rescue 명령줄 모드로 이동할 수 있어야 합니다.
다음 섹션에서는 GRUB Rescue를 사용하는 방법을 보여 드리겠습니다. 먼저 제가 설치한 Ubuntu 18.04 LTS 운영 체제로 부팅하는 방법을 보여 드리겠습니다. 그런 다음 몇 가지 일반적인 GRUB Rescue 명령에 대해 설명합니다.
GRUB Rescue를 사용하여 Ubuntu 18.04 LTS로 부팅:
GRUB Rescue 명령줄 인터페이스에서 다음 명령을 사용하여 설치한 하드 드라이브와 파티션을 나열할 수 있습니다.
애벌레> 엘보시다시피 저는 (HD0) , (HD0, GPT1) 그리고 (HD0,GPT2) 사용 가능. (HD0) 원시 하드 드라이브를 나타냅니다. (HD0,GPT1) 그리고 (HD0,GPT2) 의 첫 번째 및 두 번째 GPT 파티션입니다. (HD0) 각기.
UEFI 하드웨어에 Ubuntu 18.04 LTS가 설치되어 있습니다. 그래서 첫 번째 파티션 (HD0,GPT1) EFI 파티션이고 두 번째 파티션입니다. (HD0,GPT2) 루트 파티션입니다. 운영 체제로 부팅하는 데 필요한 파일은 /신병 디렉토리 (HD0,GPT2) 내 경우에는 파티션. 당신은 가질 수 있습니다 /신병 별도의 파티션에 있는 디렉토리에 있는 경우 적절하다고 생각되는 대로 명령을 변경하십시오.
특정 파티션에 있는 파일을 나열할 수 있습니다. 엘 GRUB Rescue 명령줄 인터페이스에서 명령.
루트 파티션의 파일 및 디렉토리 나열 (HD0,GPT2) 다음 명령으로:
애벌레> 엘 (HD0,GPT2)/
보시다시피 파일과 디렉토리가 나열됩니다.
우리는 우리가 가지고있는 파일에 관심이 있습니다. /신병 디렉토리.
애벌레> 엘 (HD0,GPT2)/신병에서 두 개의 파일을 찾아야 합니다. /신병 예배 규칙서, vmlinuz 그리고 초기화 아래 스크린샷에 표시된 대로. 이 파일은 올바르게 부팅하는 데 필요합니다.
이제 설정 뿌리 루트 파티션을 가리키는 변수 (HD0,GPT2) 다음 명령으로:
애벌레> 세트 뿌리=(HD0,GPT2)
이제 당신은 리눅스 상대 경로를 만드는 명령 vmlinuz GRUB 부트로더에 알려진 파일.
다음 명령으로 수행할 수 있습니다.
애벌레>리눅스/신병/vmlinuz-4.15.0-스물-일반적인뿌리=/개발자/sda2
노트: 여기 루트=/dev/sda2 필요합니다. 그렇지 않으면 부팅하지 못할 수 있습니다. /dev/sda2 즉, 첫 번째 하드 드라이브의 두 번째 파티션입니다. 작동 방식을 이해하는 데 도움이 되도록 표를 추가했습니다.
GRUB 식별자 | 하드 드라이브 | 분할 | 리눅스 식별자 |
(HD0) | 첫 번째 | / 개발 / sda | |
(HD0,GPT1) | 첫 번째 | 첫 번째 | /dev/sda1 |
(HD0,GPT2) | 첫 번째 | 두번째 | /dev/sda2 |
(HD1) | 두번째 | /dev/sdb | |
(HD1,GPT2) | 두번째 | 두번째 | /dev/sdb2 |
(HD1,GPT5) | 두번째 | 다섯 | /dev/sdb5 |
또한 다음을 사용하여 파일 및 디렉토리 자동 완성을 알고 있습니다. key는 Linux 터미널에서와 마찬가지로 GRUB 명령줄 인터페이스에서도 작동합니다. 따라서 GRUB 명령줄 인터페이스를 탐색하는 데 어려움을 겪지 않아야 합니다.
이제 실행해야 합니다. 초기화 initrd 이미지가 GRUB 부트로더에 알려지도록 하는 명령입니다.
다음 명령으로 수행할 수 있습니다.
애벌레>초기화/신병/initrd.img-4.15.0-스물-일반적인
이제 모든 것이 설정되었으므로 다음 GRUB 명령을 실행하여 Ubuntu 18.04 LTS 운영 체제로 부팅할 수 있습니다.
애벌레>신병
아래 스크린샷에서 볼 수 있듯이 부팅 프로세스가 시작되어야 합니다.
나중에 로그인 화면이 표시되어야 합니다. Ubuntu 18.04 LTS 시스템에 로그인합니다.
이제 로그인했으므로 다음 명령을 실행하여 GRUB 2 구성 파일을 업데이트합니다.
$수도업데이트 grub2
GRUB 2 구성을 업데이트해야 합니다.
다음 명령을 사용하여 GRUB 부트로더를 다시 설치해야 할 수도 있습니다.
$수도그럽 설치/개발자/sda노트: 여기 / 개발 / sda GRUB 부트로더를 설치하려는 하드 드라이브입니다. 일반적으로 루트 파티션이 있는 하드 드라이브입니다.
이제 모든 것이 작동하므로 정상적으로 부팅할 수 있습니다. 여전히 수정해야 할 사항이 있으면 지금 바로 수행할 수 있습니다.
추가 모듈 로드:
때때로 GRUB 명령줄 인터페이스 프롬프트는 다음과 같아야 합니다. 그럽 구출> 대신에
애벌레>이 경우 2개의 추가 명령을 실행해야 합니다. 기본적으로 로드되지 않는 GRUB 모듈을 로드하는 데 사용됩니다. 그러나 시스템을 부팅하는 데 매우 중요합니다.
명령은 다음과 같습니다.
땅벌레 구조>인스모드 노멀땅벌레 구조>인스모드 리눅스
유용한 GRUB 구조 명령:
이 섹션에서는 부팅 문제를 해결하는 데 필요할 수 있는 몇 가지 일반적인 GRUB 복구 명령을 나열합니다.
호출기=1 설정 – 명령의 출력이 화면에 맞지 않을 정도로 길면 이 명령은 다음과 같이 호출기에 출력을 표시합니다. 더 적은 리눅스 터미널에서.
lsmod – 로드된 모든 GRUB 모듈을 나열합니다.
고양이 – 파일을 읽는 데 사용됩니다.
USB – 시스템에 연결된 모든 USB 장치를 나열합니다.
분명한 – GRUB 명령줄 창에서 모든 텍스트를 지웁니다.
구성 파일 grub.cfg_filePath – 당신은 추가할 수 있습니다 grub.cfg 이 명령을 사용하여 파일.
인스모드 – GRUB 모듈을 로드합니다.
lspci – 연결된 모든 PCI 장치를 나열합니다.
엘 – 컴퓨터의 파일, 디렉토리 및 블록 장치를 나열합니다.
이 기사는 Ubuntu 18.04 LTS를 대상으로 하지만 GRUB 부트로더를 사용하는 다른 모든 최신 Linux 배포판에서도 작동합니다. 이 기사를 읽어 주셔서 감사합니다.
신병저자 소개
샤리아르 쇼본
프리랜서 및 Linux 시스템 관리자. Node.js 및 JavaScript를 사용한 Web API 개발도 좋아합니다. 저는 방글라데시에서 태어났습니다. 저는 현재 방글라데시의 까다로운 공립 공학 대학 중 하나인 Khulna University of Engineering & Technology(KUET)에서 전자 및 통신 공학을 공부하고 있습니다.
모든 게시물 보기관련 리눅스 힌트 포스트
- 우분투의 트리 명령이란
- Ubuntu에 g++를 설치하는 방법
- Ubuntu에서 문자열 명령을 사용하는 방법
- Ubuntu에서 traceroute를 설치하고 실행하는 방법
- 어떤게 더 좋아; 우분투 또는 데비안
- Ubuntu에서 작업 관리자를 사용하여 시스템을 모니터링하는 방법
- Ubuntu에서 netplan 명령을 사용하는 방법