GRUB2 및 커널 vga = 매개 변수


16

설명서에 따르면 vga=커널 매개 변수 사용은 GRUB2에서 더 이상 사용되지 않습니다. 내가 보유한 그래픽 카드가 7-8 년이기 때문에 일부 최신 커널이 특정 어댑터에서 더 이상 지원하지 않는 것 같습니다.

이제 문제는 기본 80x25 문자 대신 80x50과 같은 고해상도 텍스트 모드를 사용하고 싶다는 것입니다. 분명히 모든 그래픽 (VBE / VESA) 모드는이 그래픽 카드 (ATI Rage XL)에 대한 문제가 아닙니다 . 사용 가능한 모드 목록은을 통해서만 표시 0됩니다 6. 6입니다 80x60하지만 난에 가고 싶습니다, 그래서 끔찍한 보인다 1(80x50).

기본 모드가 지원되지 않을 때마다 (기본값은 주석 처리됨) 사용 가능한 모드 목록을 얻은 후 80x50 및 80x60이 작동하는 것을 보았고 GRUB_TERMINAL=console선택하라는 메시지가 표시되었습니다.

나는이 커널 명령 행에 설정되어 있지 않다 경우 어떻게, 모드를 설정할 수 있습니다 모든 사용 GRUB_GFXMODE(또는 사전로드하지 않고 vbe모듈) 및 GRUB_GFXPAYLOAD_LINUX=keep실패? 다음과 같이 실패 :이 컴퓨터에있는 카드의 그래픽 모드가 유효하지 않아서 화면이 비어 있습니까?

내 생각은 nomodeset여전히 커널 에 전달 하는 것이지만 부트 로더는 여전히 그래픽 모드를 설정해야합니다. 그리고 나는 그것을 vga=하기위한 커널 매개 변수 이외의 옵션을 볼 수 없습니다 .

참고 : GRUB2 콘솔 의 vbetestvideotest명령은 화면을 비운 다음 비디오 입력이 없다고 주장한 후 화면이 절전 모드로 전환됩니다. vbeinfo그리고 videoinfo언급 한 상기 이외의 몇 가지 가능한 모드를 보여,하지만이 설정이 있어야 할 곳에의 언급이 없다. 또한 커널 명령 줄에 vga=1(없이 nomodeset) 전달할 때 더 이상 사용되지 않는다는 경고가 표시되지만 완전히 읽을 수는 너무 길며 출력이에 표시되지 않습니다 dmesg.



vga매개 변수는가 아닌 커널에 적용됩니다 grub2. grub2개발자가 어떻게 단순하게 만들려고하더라도 커널이이 매개 변수를 이해하는 한 여전히 작동합니다.
ajeh

답변:


9

grub2에서 더 이상 사용되지 않을 수도 있지만 여전히 작동해야하며 계속 작동해야합니다. rhel7.3뿐만 아니라 grub2 및 debian wheezy를 사용하여 나를 위해 작동합니다 (2017 년 1 월 1 일 확인). 또한 공식 문서에 따르면 더 이상 사용되지 않습니다.

https://www.kernel.org/doc/Documentation/x86/boot.txt

부트 로더가 제공 한 명령 줄을 사용자가 입력하면 다음 명령 줄 옵션이 작동 할 것으로 예상 할 수 있습니다. 커널에 실제로 의미가있는 것은 아니지만 일반적으로 커널 명령 줄에서 삭제하면 안됩니다.

여기서 vga =는 정수 (C 표기법에서 10 진수, 8 진수 또는 16 진수) 또는 문자열 "normal"(0xFFFF 의미), "ext"(0xFFFE 의미) 또는 "ask"(0xFFFD 의미) 중 하나입니다. 이 값은 명령 행을 구문 분석하기 전에 커널이 사용하므로 vid_mode 필드에 입력해야합니다.

그리고 https://www.kernel.org/doc/Documentation/svga.txt 는 당신이 알아야 할 모든 것을 알려줄 것입니다. 내가 일반적으로 사용하는 몇 가지 해상도 예는 다음과 같습니다.

vga=0x31b --> 1280x1024x32
vga=0x34d --> 1600x900x32
vga=0x31e --> 1600x1200x32

지원되는 모드 목록을 얻으려면 다음을 사용하십시오.

vga=ask

내가 찾은 1024 × 768x24 화면의 경우 내가 사용하는 거의 모든 시스템 및 모니터에서 작동합니다 (이번은 십진수 및 16 진수).

vga=792
vga=0x318

1
이것은 기존 값인/etc/default/grubvga=792GRUB_CMDLINE_LINUX
Shashank Vyas

오늘 우분투 업데이트는 새로운 grub UEFI 부트를 설치 vga=current하고 크래시 덤프와 함께 추가 할 명령 줄 변경을 제안했습니다 . 나는 변화를 거절했지만 무슨 vga=current뜻 인지 궁금해 여기에왔다 .
WinEunuuchs2Unix

2

vga 매개 변수는 여전히 linux16 및 initrd16 명령에서 지원되므로 "linux"를 "linux16"또는 "initrd"를 "initrd16"으로 변경하면 이전 동작을 얻을 수 있습니다. 다른 변경의 원인이 무엇인지 잘 모르겠지만 충분히 효과가있었습니다. :-)


1
이것은 훌륭한 조언입니다! grub2에서 e를 눌러 편집 한 다음 Linux라고 표시된 곳으로 이동하여 16을 끝에 놓습니다. 그런 다음 줄 끝에 vga = ask를 넣을 수 있습니다. 커널에서 프레임 버퍼가 여전히 활성화되어 있다면 빠른 VGA 텍스트에서 해당 모드로 곧 전환 될 것입니다.
Alex Cannon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.