Answers:
我认为那是不可能的。启动时,BIOS / UEFI会检测驱动器,而不仅仅是内核。
不过,我要做的是指示系统在系统启动后立即将驱动器置于睡眠模式。检查https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_direct_after_boot。
就我而言:
/usr/local/lib/systemd/system/rsleephdd.service
[Unit]
Description="Ranolfi's script to sleep hard drives on boot"
[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -Y /dev/sdc
[Install]
WantedBy=multi-user.target
无论驱动器或其分区是否由fstab(或crypttab挂载)都没有关系。
(edit)严格来说,似乎有可能通过修补磁盘来使内核忽略磁盘。但是,这不会阻止驱动器唤醒-相反,我链接到的补丁程序将阻止您访问驱动器,甚至无法偶发地访问文件,也无法将驱动器放入睡觉。
hdparm -Y /dev/sdb
。如果系统访问磁盘,它将自动再次旋转。您也可以在/etc/hdparm.conf
其中定义此方法,/dev/disk/by-label/DATA4 { spindown_time = 180 }
我建议您为磁盘使用标签,因为您永远不会依赖系统首先检测到哪个磁盘。请注意,您需要更新版本的hdparm(我的是9.43)才能将带有标签的磁盘发送到睡眠状态。