在Ubuntu 18.04上未检测到声卡。

我的ThinkPad Yoga X1以前的声音是正常工作的。我不确定发生了什么变化,但现在它不再工作了。在Ubuntu 18.04的并行安装上,它在一段时间内仍然工作(是的,我安装了两个相同的发行版)。它在Windows 10的并行安装上仍然可以工作。
当我按下键盘上的音量按钮时,它会改变一个名为“Dummy Output”的设备的音量。 lspci命令列出了音频设备:
$ lspci | grep -A8 Audio
00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 9da3 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 9da4 (rev 11)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-LM (rev 11)
03:00.0 Non-Volatile memory controller: Micron/Crucial Technology Device 2263 (rev 03)
05:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)


但是表演找不到它
sudo aplay -l
[sudo] password for generic: 
aplay: device_list:270: no soundcards found...

$ pacmd list-sinks
1 sink(s) available.
  * index: 0
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 1000
    volume: front-left: 46332 /  71% / -9.04 dB,   front-right: 46332 /  71% / -9.04 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 344 KiB
    max rewind: 344 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 14
    properties:
        device.description = "Dummy Output"
        device.class = "abstract"
        device.icon_name = "audio-card"

我正在使用Ubuntu 18.04,并在根目录上运行ZFS。这意味着如果解决方案不起作用,我可以尝试并回滚。也就是说,我尝试了几个解决方案。
以下是一些相关链接,但没有帮助: 我尝试过的内容:
  • sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils && reboot

  • sudo apt-get install build-essential linux-headers-uname -ralsa-base alsa-firmware-loaders alsa-oss alsa-source alsa-tools alsa-tools-gui alsa-utils alsamixergui

  • 将用户generic添加到组audio

  • 上述三个步骤的结合

  • 以上步骤的变体

  • linuxuprising帖子中的两个修复方法

  • modprobe snd_hda_intel && modprobe sof_pci_dev

  • snd_hda_intel.dmic_detect=0添加到GRUB引导参数中

  • 根据此处的建议,从ppa:nilarimogard/webupd8安装一系列软件包

  • 使用dkms重新安装与alsa相关的软件包。请参阅此处

  • 根据此处的问答,重新安装pavucontrolpulseaudio

我的系统是
$ uname -r
5.3.0-51-generic

也许无关,也许有关: 我的屏幕亮度控制也消失了。之前它们曾经坏过一次,我通过在“/etc/default/grub”中向“GRUB_CMDLINE_LINUX_DEFAULT”添加“acpi_backlight=video”,然后更新grub和重新启动来修复它。但是,修复仍然有效,但问题又出现了。
如何使声音再次正常工作?
当我从Ubuntu 18.04的U盘启动时,声音确实恢复正常。
# live system version:
$ uname -a
Linux ubuntu 5.3.0-28-generic #30-18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

# aplay output on live system:
ubuntu@ubuntu:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

(在非实时系统上)当使用sudo vim <filepath>查看时,/var/log/apt/term.log/var/log/apt/history.log/var/log/dpkg.log都是空的。但是有一个文件history.log.1.gz包含了所有的历史记录。我正在审查它,但不知道要注意什么。
我已经从笔记本电脑上最旧的zfs快照启动了(并不是非常旧,因为我以前在zfs上遇到了一些问题),声音在那里也不工作。当我使用与Live USB驱动器上相同的旧内核版本5.3.0-28启动时,声音也不工作。 git diff --no-index apt_live.txt apt_tank.txt,其中文件包含了apt list --installed的相应输出,给出了太多的输出。许多版本号已经发生了变化。
我已经回顾性地添加了标签19.0420.04,因为根据来源,修复程序也适用于这些版本。

你没有告诉我们你用的是什么型号的声卡。这个设备的制造商有没有为Linux开发驱动程序?你还说你想让它再次工作。自上次工作以来有什么变化吗? - Nmath
@Nmath我不知道发生了什么变化。我想现在声明一下,它仍然在并行安装上工作,该安装也是Ubuntu 18.04,但与此同时,在那里它也停止工作了(我刚刚再次验证过)。在并行安装的Windows系统上,它可以正常工作,并显示为“扬声器(Realtek(R)音频)”。 - lucidbrot
有什么好办法可以获取关于制造商的信息,以帮助你回答问题?Windows上的设备管理器显示了“Intel(R) Display Audio”,“Intel Smart Sound Technology (Intel SST)”和“Realtek (R) Audio”。Ubuntu上的设置只显示了“Dummy Output”,lspci在我的问题中已经粘贴了。 - lucidbrot
我在硬件详情上找到了这个网站。它列出了“Intel Cannon Point-LP High Definition Audio Controller (8086:9dc8)”和“Intel Unknown”。 - lucidbrot
1试着弄清楚发生了什么变化。检查你的apt日志,看看是否有与声音相关的最近更新。还要检查最后一次内核更新是什么时候。你经常更新系统吗?你也可以从一个liveUSB启动,确保设备在Ubuntu上工作,并且可以用它来比较已安装系统的工作配置。 - Nmath
@Nmath谢谢你的建议。首先最容易检查的是:它在我随手放着的活动USB上运行正常。它有一个稍旧的内核版本,所以并不是完全相同的发布版本。 - lucidbrot
在某些情况下,Windows的“快速启动”功能可能会导致这样的问题:请在Windows电源选项中禁用它。 - laugeo
@laugeo谢谢你,但是"快速启动"在我安装Ubuntu之前就已经被禁用了。我刚刚验证过:它还是关闭状态。 - lucidbrot
@Nmath谢谢你的帮助。我现在找到了一个解决方案。看起来是内核的一个bug。 - lucidbrot
2个回答

此答案修复了声音,但破坏了亮度控制。
出于文档目的,我将其保留在这里,希望以后找到更好的解决办法时能够重新审查它。

请考虑这个跟进答案


[Edit: March 2020] 在 Ubuntu 19.10 上运行的 Linux 5.3.0-41 版本和可能更新的版本中,存在一个内核回归问题,导致出现了一个新的"虚拟输出"问题。
[...]
在 5.3.0-41 和 -42 内核中存在一个回归问题(感谢 JustNiz 的提醒),导致 Ubuntu 19.10 和 18.04 出现了一个新的"虚拟输出"问题。关于此错误的解释可参考此错误报告,所以我不会详细说明,而是直接告诉您如何修复它。
[[Edit] 看起来对于一些 Ubuntu 20.04 用户也可能发生这种情况。 来源:linuxuprising

 

sudo gedit /etc/modprobe.d/alsa-base.conf  

Add the following line to the end of this file:

options snd-hda-intel dmic_detect=0

Save and close the file and reboot your system. You should have the audio back.

Source: itsfoss

我之前已经尝试过这个方法,但没有成功。第二次尝试时,我不仅按照上述方法操作,还遵循了Adam的建议,在重新启动后运行了pulseaudio --start命令。请注意,可能需要几秒钟才能开始听到声音。
因为可能只有Adam的建议是重要的,所以我又删除了options snd-hda-intel dmic_detect=0这一行,并重新启动。结果声音再次无法工作。于是我又编辑了这一行并重新启动了一次。这次声音可以正常工作,而不需要运行pulseaudio --start命令。
我不太明白其中的原理,但这似乎是解决方法。如果事实证明每次启动都需要运行pulseaudio --start命令,我会将该命令添加到我的.profile.bashrc文件中。不过在多次重新启动测试后,我相当确定实际上并不需要pulseaudio --start命令,只需等待一段时间即可。大约一分钟左右。
关于我问题中的“可能相关”部分,
我的屏幕亮度控制也消失了。之前曾经出现过故障,我通过在/etc/default/grub中添加acpi_backlight=video到GRUB_CMDLINE_LINUX_DEFAULT,并更新grub和重新启动来修复。但是这个修复方法仍然有效,但问题又再次出现了。
在我注意到音量键现在可以工作并发出声音后,我按下了一个亮度键。结果它们不再起作用了。我将尝试链接到我引用文章中的解决方法,并在我知道是否成功后编辑我的回答。
关于开机后延迟直到声音正常工作的问题: 也许与此有关。
$ dmesg[   44.945151] Bluetooth: RFCOMM ver 1.11
[   45.576833] rfkill: input handler disabled
[   84.861079] snd_hda_intel 0000:00:1f.3: couldn't bind with audio component
[   84.885411] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[   84.885414] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   84.885416] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   84.885418] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   84.885419] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   84.885421] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
[   84.933958] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec
[   84.934160] hdaudio hdaudioC0D2: Unable to bind the codec
[   84.934845] input: HDA Intel PCH Headset Jack as /devices/pci0000:00/0000:00:1f.3/sound/card0/input25
[   84.934904] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26
[   84.934952] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27

敬启者,同样的修复方法也适用于从18.04升级到20.04时遇到的相同问题。 - Calimero

我的第一次尝试是这个答案,它修复了声音问题,但破坏了亮度控制。
后来我注意到与我的不同的grub引导菜单结合使用时出现了奇怪的行为,并开始撰写一个新的问题。在撰写那个问题的过程中,我进行了更多的测试,直到它变成了一篇博客文章,而不仅仅是一个问题,因为它还包含了对隐含问题的几个答案。
你会在下面的水平线下找到它。
简而言之, 移除nomodesetacpi_backlight=video对我起了作用。声音和亮度控制现在都正常工作了 - 可能以牺牲休眠功能为代价。 很多开源驱动程序已经移除了对非内核模式设置的支持,所以在这些情况下,当你使用nomodeset时,你最终会回到非常基本的VESA未加速驱动程序。这对性能和功能来说是一个很大的损失。 来源QA

测试的长篇写作

这是对最初提出的问题Ubuntu 18.04上未检测到声卡的新视角。事情变得更加奇怪了。但为了让你理解我的彻底困惑,你需要一些前提:

我有三个分区,每个分区上都安装了Ubuntu 18.04。最终,我会摆脱其中两个分区,它们分别是EXT 4ZFS未加密ZFS加密。每个分区都有不同的背景,这样我就知道我登录到哪个分区了。

我还在两个地方安装了grub。可能是因为我没有为EXT4系统设置单独的引导分区。所以我有`/dev/nvme0n1p8/boot`,也有`/dev/nvme0n1p5(引导分区)`。两者都包含内核和initrd `5.3.0-51-generic`。`p5`还包含`5.3.0-53-generic`,而`p8/boot`还包含`53.0-28-generic`和一些旧的`4-15-0-101-generic`。不过,我甚至不确定这些引导分区是否很重要。
为了区分这两个grub,我在`p5`上添加了一个主题。
当我启动笔记本电脑时,它会引导到`p5`上的grub GUI。它在正确列出多个zfs分区方面存在一些问题,所以我做了一个自定义条目,但这对此处也无关紧要。
要打开`p8`上的grub GUI,我按下Esc键进入grub终端,然后输入以下内容。
set prefix=(hd0,gpt8)

当我从引导grub启动时,亮度键和声音出现故障。
当我从引导grub启动时,它们可以完美地工作。
我确保在两种情况下使用相同的内核和系统。实际上,我已经尝试过多次,希望这可能是由于某些内核引导参数所致。

问题不仅局限于三个Ubuntu安装之一。我可以引导其中任何一个,以使声音正常工作或者不工作,这取决于我使用的grub。

问题不仅局限于一个内核版本。我可以从5153引导到任何分区,声音可以工作或者不工作,这取决于我使用的grub。

问题不是由于同一版本的不同内核映像引起的。我可以从p8 grub引导,内核位于p5分区,并且声音会正常工作。

测试

暂时只考虑简单的ext4分区。加密的zfs分区行为相同(未加密的zfs分区我还没有检查)。

首先,我尝试了几种启动参数的组合,但我认为以下三个测试应该足以回答这个问题。 table image

  • 第一列("entry")要么是old,表示使用位于p8上的ext4-menuentry和grub,要么是new1,表示使用位于p5上的ext4-menuentry和grub。
  • 通过编辑menuentry将kernel partition设置为8,在以linux开头的行之前插入set root=(hd0,gpt8),并在内核和initrd的路径前加上/boot
    类似地,通过插入set root=(hd0,gpt5)并从内核和initrd路径中删除前缀/boot,将kernel partition设置为5
  • ]kernel version, sound works?[之间(不包括)的任何列都是关于相应内核引导参数的存在。这些参数是至少在一个grub menuentry中设置的参数,但如您在表中所见,即使没有这些参数,行为也保持不变。

我还测试了是否存在 quiet splash 会有任何效果,但似乎也没有。

为了确保启动参数不会产生任何影响,我尝试直接从 grub 终端启动。

set prefix=(hd0,gpt8)/boot/grub
set root=(hd0,gpt5)
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic
boot

声音和亮度键的工作方式如下。
set prefix=(hd0,gpt5)/grub
set root=(hd0,gpt5)
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic
boot

声音和亮度键也是这样工作的!(此时意外)
set prefix=(hd0,gpt8)/boot/grub
normal
# select menuentry and press E to edit it so that it looks as follows:
setparams 'Ubuntu'
set root=(hd0,gpt5)
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic
# CTRL+X to boot that 

声音和亮度键也是以这种方式工作的(从grub启动时就预期如此,p8)。
set prefix=(hd0,gpt5)/grub
normal
# select menuentry and press E to edit it so that it looks as follows:
setparams 'Ubuntu'
set root=(hd0,gpt5)
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic
# CTRL+X to boot that 

声音和亮度键 仍然 按照这种方式工作!(出乎意料!)。 如果我不打开grub终端,直接进行编辑入口,行为也相同。所以normal命令没有什么魔法。
此外,不写set root=(hd0,gpt5)似乎也没问题。

当我在grub GUI上运行生成的入口p5时,亮度和声音无法工作。因此,我现在将尝试从头构建该入口。(准备大量输入)

setparams 'Ubuntu'
recordfail
load_video
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

声音和亮度键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
insmod gzio
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

声音和亮度键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

启动进入紧急模式,显示“无法挂载 /boot/efi”(错误的文件系统类型、错误的选项、/dev/nvme0n1p2 上的坏超级块...)
所以我再次删除 gfxmode $linux_gfx_mode 并继续:
setparams 'Ubuntu'
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

声音和亮度键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

声音和亮度键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8
initrd /initrd.img-5.3.0-53-generic

我已经再次插入了gfxmode $linux_gfx_mode,它仍然可以正常启动,并且声音和亮度调节键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8 ro nomodeset
initrd /initrd.img-5.3.0-53-generic

屏幕亮度和声音都不再工作了!
再次强调,没有使用nomodeset
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8 ro
initrd /initrd.img-5.3.0-53-generic

音量和亮度键仍然有效。
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8 ro acpi_backlight=video
initrd /initrd.img-5.3.0-53-generic

声音和亮度键仍然有效。值得注意的是,我一开始只有acpi_backlight=video,因为亮度键无法使用。而且我有nomodeset(目前似乎是罪魁祸首),因为它修复了休眠问题。也许nomodeset破坏了我的亮度键和声音,然后我尝试使用acpi_backlight=video来修复?所以再次包括nomodeset
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8 ro nomodeset acpi_backlight=video
initrd /initrd.img-5.3.0-53-generic

声音和亮度现在都不工作了,所以我不清楚为什么上次使用acpi_backlight=video修复亮度的方法对我有效。我在5月9日应用了这个方法,而nomodeset已经在3月份就存在了...也许我在某个时候删除并重新添加了它,但没有意识到它对亮度键产生的影响。
我宁愿只有一个问题,也不想同时出现两个问题,所以我再次删除nomodeset acpi_backlight=video并添加最后一个参数。
setparams 'Ubuntu'
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  81e29369-ff69-4424-858c-3489283588d7
else
  search --no-floppy --fs-uuid --set=root 81e29369-ff69-4424-858c-3489283588d7
fi
linux /vmlinuz-5.3.0-53-generic root=/dev/nvme0n1p8 ro resume=UUID=1ba104f0-35be-42f7-bf71-65e43f6fbcc3
initrd /initrd.img-5.3.0-53-generic

预料之中,声音和亮度又恢复正常了。我现在还没有测试休眠功能。我猜它要么是因为联想最近的BIOS和固件更新而能够工作,要么仍然无法像我在问题中描述的那样工作。但这将是一个不同的问题,留待以后解决。
现在剩下的问题是:为什么在旧的引导加载程序中似乎可以工作呢? 嗯...事实证明,在我的大多数测试中并没有修改"nomodeset"。但在上面表格中可以看到的一个测试中,使用了p5引导加载程序、内核51来自p8,没有使用acpi_backlightnomodeset时,声音无法工作。 我现在无法再重现这个问题了。也许我在记录笔记时犯了错误。