SUSE Linux (openSUSE/SLES) 安裝或升級後出現開機黑屏、解析度錯誤、進不了圖形介面,通常是顯示驅動與螢幕 EDID 溝通失敗、Framebuffer 衝突或 xorg.conf 設定不當。本文提供五種由淺入深的修復方案。
kernel 行尾加入 vga=791 (1024x768x16bit) 或 vga=795 (1280x1024x16bit)。771=800x600 791=1024x768 794=1280x1024 834=1400x1050/boot/grub/menu.lst (GRUB Legacy) 或 /etc/default/grub (GRUB2) 對應啟動項加入參數。yast 啟動文字介面配置工具。reboot)。# 在 TTY2 (Ctrl+Alt+F2) 執行
init 3 # 關閉圖形介面,進入多用戶文字模式
init 5 # 重新啟動圖形介面 (對應 runlevel 5)
原理:強制重新載入 X Server 與驅動模組,可修復暫態衝突。
若使用 GRUB4DOS (如 menu.lst) 引導 SUSE:
title openSUSE
kernel (hdx,y)/vmlinuz root=/dev/sdaX vga=791
initrd (hdx,y)/initrd
boot
關鍵同方案一:在 kernel 行加入 vga=791 強制 Framebuffer 解析度。
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bakvi /etc/X11/xorg.conf,找到 Section "Monitor" 區塊:Section "Monitor"
Identifier "Monitor0"
HorizSync 31.5 - 70.0 # 水平掃描頻率範圍 (kHz)
VertRefresh 50.0 - 100.0 # 垂直刷新率範圍 (Hz)
Option "DPMS"
EndSection
init 3 && init 5 或重啟。nvidia-xconfig 重新生成 xorg.conf。Section "Device" 加入 Option "DynamicTwinView" "False"。NVIDIA-Linux-x86_64-XXX.run,確保安裝 kernel-source、kernel-syms、gcc、make。vga=791 → 能進桌面則為 Framebuffer/EDID 問題。xorg.conf 邏輯錯誤。init 3/5 重載 X Server → 修復模組載入順序問題。xorg.conf Monitor 範圍 → 解決驅動偵測頻率超標。/var/log/Xorg.0.log 中 (EE) 錯誤與 (WW) 警告訊息精準定位。SUSE 的 YaST 提供強大的文字模式硬體配置能力,是修復顯示問題的利器。結合 GRUB 參數、Runlevel 切換與 xorg.conf 精細調教,幾乎所有黑屏/解析度異常皆可在不重裝系統前提下解決。