Я попытался установить Ubuntu на ноутбук Acer Aspire 3, но мой жесткий диск (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 после пробуждения, но он не работает (ОС не может смонтировать раздел /
во время загрузки, потому что неопознанного жесткого диска)
Я пытался переключить режим SATA в UEFI, отключить быструю и безопасную загрузку, обновить прошивку 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 ответила, что не помогает с установкой ОС.
Поскольку жесткий диск успешно распознается после приостановки и последующего пробуждения, обходным путем является для принудительной приостановки перед монтированием файловой системы /
.Это делает ядро, собранное с CONFIG_PM_TEST_SUSPEND=y
и загруженное с параметром ядра test_suspend=mem
.
О CONFIG_PM_TEST_SUSPEND=y
из справки по исходным кодам ядра:
Эта опция позволит вам приостановить работу компьютера во время загрузки и активировать его через несколько секунд с помощью сигнала пробуждения RTC. Включите это с помощью параметра ядра, такого как «test_suspend=mem».
Чтобы установить Linux на такой ноутбук, вам необходимо:
CONFIG_PM_TEST_SUSPEND=y
test_suspend=mem
в загрузчикПодробнее о некоторых шагах
За исключением привязки монтирования /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