我在一台计算机上安装了 Debian。我刚刚更换了主板和CPU。还有显卡,因为我用的是板载显卡。我保留了我的旧硬盘。现在机器启动良好,grub 启动良好,initrd 启动良好并要求我输入密码(因为我的磁盘是 LUKS 加密的),但是当它通常更改为帧缓冲区时,监视器会变黑,仅此而已。我猜硬件没有问题 - 我在它上面启动了 knoppix 并且运行良好。我想问题可能是我的 initrd 不包含我的新显卡的驱动程序 - 这可能是问题所在吗?如果是这样,我该怎么办?在屏幕变成空白之前我在屏幕上看到的最后内容是:
INIT: version 2.88 booting
[info] using makefile-style concurrent (...)
[ ok ] Starting the hotplug events (...)
[ ok ] Synthesizing th initial (...)
[....] Waiting for /dev/to be fully (...)
mmio address 0xfec000f0 already in use
有人建议我将这些参数传递给内核:
nofb vga=normal
因此,在 grub 中,我选择了用于启动的条目,按下“e”对其进行编辑,我发现了一行以linux vmlinuz-3.2.0-3-686-pae 根=(...)最后我输入“nofb vga=normal”。然后我按F10启动,但没有帮助。
输出hwinfo--gfxcard命令是:
29: PCI 105.0: 0300 VGA compatible controller (VGA)
[Created at pci.318]
UDI: /org/freedesktop/Hal/devices/pci_1002_9616
Unique ID: ul7N.IXqEFkX9ypD
Parent ID: vSkL.2yY_xudKZ6E
SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:05.0
SysFS BusID: 0000:01:05.0
Hardware Class: graphics card
Model: "ATI VGA compatible controller"
Vendor: pci 0x1002 "ATI Technologies Inc"
Device: pci 0x9616.
SubVendor: pci 0x1462 "Micro-Star International Co., Ltd."
SubDevice: pci 0x7641.
Driver: "radeon"
Driver Modules: "drm"
Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
I/O Ports: 0xd000-0xdfff (rw)
Memory Range: 0xfebe0000-0xfebeffff (rw,non-prefetchable)
Memory Range: 0xfea00000-0xfeafffff (rw,non-prefetchable)
IRQ: 18 (16597 events)
I/O Ports: 0x3c0-0x3df (rw)
Module Alias: "pci:v00001002d00009616sv00001462sd00007641bc03sc00i00"
Driver Info #0:
Driver Status: radeon is active
Driver Activation Cmd: "modprobe radeon"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #9 (PCI bridge)
Primary display adapter: #29
输出hwinfo--帧缓冲区命令是:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.NSbTZunW9ID
Hardware Class: framebuffer
Model: "(C) 1988-2005, ATI Technologies Inc. RS880"
Vendor: "(C) 1988-2005, ATI Technologies Inc. "
Device: "RS880"
SubVendor: "ATI ATOMBIOS"
SubDevice:.
Revision: "01.00"
Memory Size: 16 MB
Memory Range: 0xd0000000-0xd0ffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
(...)
Config Status: cfg=new, avail=yes, need=no, active=unknown
答案1
您可以尝试在 grub 中传递内核选项来引导
"vga=normal"
或者
"nofb"
这将禁用 frambuffer 的使用。
为了识别您的显卡,您可以使用硬件信息
hwinfo --gfxcard
也许这也有帮助:
hwinfo --framebuffer
答案2
看来您initrd
没有合适的模块来驱动您的新主板。
也许你可以
- 使用 debian 启动
rescue
(在安装程序磁盘/密钥上)并要求在您的root
分区中有一个 shell 终端。如果这有效,请跳过以下内容,直到重建initrd
和grub
别的:
- 使用实时 USB 密钥(或 CDRom)启动
- 运行根终端
- 将您真正的/(和/boot)挂载在/mnt
(此示例假设/
是 onsda5
和/boot
on sda1
)
# mount /dev/sda5 /mnt
# mount /dev/sda1 /mnt/boot
将伪文件系统绑定到 /mnt
# for bnd in proc sys dev{,/pts};do mount --bind /$bnd /mnt/$bnd;done
- 在系统级别运行 shell:
和:
# chroot /mnt
- 重建
initrd
并grub
:
经过:
# update-initramfs -k all -u
也许跟随是没有用的,但是
# update-grub
比,
# exit
- 停止绑定挂载
简单地:
# umount /mnt/{proc,sys,dev{/pts,},boot,}
- 并重新启动。
希望这能完成这项工作。
# reboot
答案3
我尝试执行 update-initramfs,但没有帮助。然后我在硬盘上启动了 debianrescue live cd 并安装了最新版本的内核(使用 apt-get install)。这很有帮助——现在我的电脑可以正常启动了。
谢谢大家的建议!