Ideapad Z580 无法启动 3.2.0-32 以上的内核

use*_*324 1 boot kernel lenovo ideapad

我正在运行 Ubuntu 64 位 12.04.1 LTS。如果我尝试引导从 3.2.0-33 及更高版本开始的所有内核,我会看到闪烁的光标或黑屏。 这些内核的安全模式也失败。

但是,我的系统可以正常启动并在内核 3.2.0-32 以及之前的内核上正常运行。

我在其他论坛上看到其他 Z580 用户遇到同样的问题。

谢谢你。

小智 5

我在我的 Z580 上运行 64 位 Lubuntu 12.10 并设法使用这里描述的方法解决了启动问题。

我遵循的步骤是:

  1. 安装iasl

    sudo apt-get install iasl
    
    Run Code Online (Sandbox Code Playgroud)
  2. 制作了 DSDT 文件的副本。

    sudo cp /sys/firmware/acpi/tables/DSDT ~/DSDT
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 DSDT 文件反编译为 .dsl 文件

    sudo chmod +r DSDT
    iasl -d DSDT
    
    Run Code Online (Sandbox Code Playgroud)
  4. 编辑DSDT.dsl,在WAEC方法中添加一个小的sleep命令。

     Method (WAEC, 0, NotSerialized)
    {
        Name (CUNT, 0x1E)
        While (LNotEqual (^PCI0.LPCB.EC0.BYFG, Zero))
        {
            Sleep (0x05)
            Decrement (CUNT)
            If (LEqual (CUNT, Zero))
            {
                Store (Zero, ^PCI0.LPCB.EC0.BYFG)
                Store (Zero, ^PCI0.LPCB.EC0.DRFG)
                Break
            }
        }
        Sleep (50) // #### adding this line is the only change ####
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 从 DSDL.dsl 生成 .aml 文件

    iasl DSDT.dsl
    
    Run Code Online (Sandbox Code Playgroud)
  6. 复制到.aml文件到/boot目录

    mv DSDT.aml dsdt.aml
    sudo cp dsdt.aml /boot/
    
    Run Code Online (Sandbox Code Playgroud)
  7. 使用此处描述的方法将 .aml 文件添加到 grub 配置。首先下载01_acpi.txt文件。然后:

    mv 01_acpi.txt 01_acpi
    chmod +x 01_acpi
    sudo mv 01_acpi /etc/grub.d
    
    Run Code Online (Sandbox Code Playgroud)
  8. 更新了 grub 配置

    sudo update-grub2
    
    Run Code Online (Sandbox Code Playgroud)
  9. 一旦我重新启动,问题就消失了。

    sudo reboot
    
    Run Code Online (Sandbox Code Playgroud)

我当前的内核版本是 3.5.0-17-generic。不确定在较新的内核上会发生什么。