GRUB2 및 커널 vga= 매개변수

GRUB2 및 커널 vga= 매개변수

문서에 따르면 vga=커널 매개변수는 GRUB2부터 더 이상 사용되지 않습니다. 일부 최신 커널이 일부 어댑터에서 더 이상 이를 지원하지 않는 것 같다는 사실은 제가 가지고 있는 그래픽 카드가 7~8년이 되었기 때문에 별로 중요하지 않습니다.

이제 문제는 기본 80x25 문자 대신 80x50과 같은 더 높은 해상도의 텍스트 모드를 사용하고 싶다는 것입니다. 분명히 이 카드(ATI Rage XL)에서는 모든 그래픽(VBE/VESA) 모드가 불가능합니다. 사용 가능한 모드 목록만 0통과됩니다 6. 하지만 6모양이 좋지 않아서 이 카드 (80x50) 80x60를 사용하고 싶습니다 .1

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

커널 명령줄에서 모드를 설정하면 안 되는 경우 어떻게 모드를 설정합니까?그리고GRUB_GFXMODE(사전 로드된 모듈이 있든 없든 vbe) 사용할 때마다 실패합니까 GRUB_GFXPAYLOAD_LINUX=keep? 오류는 다음과 같습니다. 이 컴퓨터에 있는 카드에 대한 잘못된 그래픽 모드이기 때문에 화면이 계속 비어 있습니다.

내 생각에는 nomodeset그것이 여전히 커널에 전달되지만 부트로더는 여전히 그래픽 모드를 설정해야 한다는 것입니다. 커널 매개변수 이외의 옵션은 표시되지 않습니다 vga=.

노트:vbetestGRUB2 콘솔의 및 명령은 videotest화면을 비우고 비디오 입력이 없다고 주장한 후 절전 모드로 전환합니다. 위의 모드 외에 사용 가능한 모드도 표시 vbeinfo되지만 videoinfo, 어디에서 설정해야 하는지는 언급하지 않습니다. 또한 vga=1( 없이 ) 커널 명령줄에 전달되면 nomodeset더 이상 사용되지 않는다는 매우 간단한 경고가 표시되지만 너무 길어서 완전히 읽을 수 없으며 출력이 dmesg.

답변1

grub2에서 더 이상 사용되지 않을 수도 있지만 여전히 작동해야 하며 계속 작동해야 합니다. Debian wheezy 및 rhel7.3과 함께 grub2를 사용하면 저에게 효과적입니다(2017년 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 화면의 경우 제가 사용한 거의 모든 시스템과 모니터(이번에는 10진수와 16진수)에서 작동하는 것으로 나타났습니다.

vga=792
vga=0x318

답변2

linux16 및 initrd16 명령은 여전히 ​​vga 매개변수를 지원하므로 "linux"를 "linux16"으로 변경하거나 "initrd"를 "initrd16"으로 변경하면 이전 동작을 얻을 수 있습니다. 이로 인해 어떤 다른 변화가 발생할지는 잘 모르겠지만 나에게는 잘 작동합니다. :-)

관련 정보