我尝试在 Acer Aspire 3 笔记本电脑上安装 Ubuntu,但我的硬盘 (WDC WD10SPZX-21Z10T0) 直到挂起操作系统并唤醒后才被识别。这是dmesg | grep ata1
挂起前的输出:
[ 0.604968] ata1: SATA max UDMA/133 abar m2048@0x4fb13000 port 0x4fb13100 irq 125
[ 2.818041] ata1: SATA link down (SStatus 1 SControl 300)
之后
[ 123.660687] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 123.661423] ata1.00: ATA-10: WDC WD10SPZX-21Z10T0, 02.01A02, max UDMA/133
[ 123.661425] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 32), AA
[ 123.662151] ata1.00: configured for UDMA/133
当然,我可以在唤醒后安装 Ubuntu,但它不起作用(/
由于无法识别的硬盘,操作系统无法在启动时挂载分区)
我尝试在 UEFI 中切换 SATA 模式、禁用快速启动和安全启动、更新 UEFI 固件,但结果是一样的。
Linux 版本是 Ubuntu-desktop 18.04、linuxmint-20-cinnamon。
Upd1:我尝试了来自 Ubuntu 存储库和https://kernel.ubuntu.com/~kernel-ppa/mainline。
Upd2:这似乎是一个 Linux 问题,而不仅仅是 Ubuntu,因为 Fedora33-beta 也无法识别 HDD。
Upd3:Acer 支持人员回答说他们不提供操作系统安装帮助。
答案1
由于挂起后硬盘被成功识别,随后被唤醒,因此解决方法是在挂载/
文件系统之前强制挂起。使用内核参数构建CONFIG_PM_TEST_SUSPEND=y
和启动的内核test_suspend=mem
会执行此操作。
关于CONFIG_PM_TEST_SUSPEND=y
来自内核源的帮助:
此选项可让您在启动期间暂停机器,并使用 RTC 唤醒警报使其在几秒钟后唤醒。使用内核参数(如“test_suspend=mem”)启用此功能。
要在这样的笔记本电脑上安装 Linux,您需要:
- 从 live-USB 启动
- 暂停笔记本电脑并唤醒它
- 将 Linux 安装到内部驱动器上
- Chroot 进入最近安装的操作系统
- 下载内核源代码
- 使用以下命令构建并安装内核
CONFIG_PM_TEST_SUSPEND=y
- 设置
test_suspend=mem
到引导加载程序中 - 重启
有关某些步骤的更多信息
- Chroot 进入最近安装的操作系统
除了绑定挂载/dev
,,/dev/pts
并且/proc
不要/sys
忘记执行它以/run
允许从 chroot 访问互联网(如果您需要它)。
- 设置
test_suspend=mem
到引导加载程序中(如果你的引导加载程序是 grub)
要做到这一点,请打开/etc/default/grub
(当然是从 chroot 开始),找到以 开头的行GRUB_CMDLINE_LINUX_DEFAULT=
并将其替换quiet splash
为test_suspend=mem
。然后运行
update-grub