我一直使用 hdparm 来从 usb 启动实时 debian 或 ubuntu,效果很好。即使设备冻结,计算机睡眠也能正常工作,因为操作系统是从 usb 加载的。
但是,如果我使用 pxe grub 启动 ubuntu 或 debian,并且需要挂起计算机,该怎么办?屏幕不会重新亮起。我还没有找到其他不挂起计算机即可解冻硬盘的方法。我推测屏幕不会重新亮起是因为它正在从 RAM 运行。pxe 服务器将 filesystem.squashfs 复制到 RAM 中。
有人成功使用过 hdparm 吗?当操作系统在 RAM 中或者 pxe 启动时,可以通过暂停来解冻硬盘吗?
答案1
听起来 BIOS 在通过 PXE 启动时并未完全设置。ACPI(提供暂停/恢复 + 热键...)必须部分工作,因为您能够暂停,但当要求恢复时,它决定不运行视频卡的选项 rom,即使它已经到了这一步。
要确认系统正在恢复但没有视频,请设置串行控制台(或仅使用 ssh)并重试。如果系统确实恢复,您可以启动 X windows,它将“软启动”视频卡,也许会恢复视频。
如果没有串行控制台,则内核或 BIOS 已损坏。为了帮助隔离,请安装“fwts”并运行挂起/恢复测试。fwts 使用平台提供的警报计时器触发自身在 N 秒后恢复。如果它无法做到这一点,则您需要解决深层次的平台问题。
如果它可以做到这一点,您仍然需要解决深层次的平台问题,因为这意味着键盘发送的中断将进入幻想世界,而不是让 ACPI 完成其工作。但是,您可以利用 fwts 解冻驱动器,编写脚本,然后在完成后关机。
回到 SSD 冻结问题。如果您可以卸载/重新加载模块,这将强制重置 HBA 上的链接。不太令人满意的方法包括使用 sysfs 删除驱动器,然后重新扫描总线。我不认为这会执行链接重置。您可能能够使用 sg_reset 来重击驱动器,我只会重置整个总线。
有时,带有托架级电源控制的硬盘笼是无可替代的。