如何避免HDD在系统启动时启动?(来自SSD的Ubuntu)


8

多亏了hdparm -B1 /dev/sdb我的硬盘,开机启动后它不再启动。但是在完成BIOS POST消息并启动Ubuntu之后,HDD会通过SATA数据电缆获得信号并旋转。

保留数据线(但仍插入SATA电源线)可使系统完全从我的SSD引导,而无需拉动HDD。

是什么导致HDD旋转?也许是Grub2?


编辑:不,似乎不是Grub2旋转驱动器。我只是设置了Grub来显示它的菜单而没有计时器。直到我按下Ubuntu标准启动选项,一切都没有发生,然后几秒钟后,驱动器旋转起来。


编辑dmesg | grep sdb

[    7.080043] ata2.00: qc timeout (cmd 0xef)
[    7.080057] ata2.00: failed to IDENTIFY (SPINUP failed, err_mask=0x4)
[    9.830035] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.836555] ata2.00: ATA-8: SAMSUNG HD105SI, 1AJ10001, max UDMA/133
[    9.836564] ata2.00: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[    9.842364] ata2.00: configured for UDMA/133
[    9.842644] scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG HD105SI  1AJ1 PQ: 0 ANSI: 5
[    9.843249] sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[    9.843270] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    9.843487] sd 1:0:0:0: [sdb] Write Protect is off
[    9.843497] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    9.843590] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.844091]  sdb:
[    9.845127] scsi 2:0:0:0: CD-ROM            ATAPI    iHDS118   5      RL0C PQ: 0 ANSI: 5
[    9.851182] sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[    9.851191] Uniform CD-ROM driver Revision: 3.20
[    9.851554] sr 2:0:0:0: Attached scsi CD-ROM sr0
[    9.851802] sr 2:0:0:0: Attached scsi generic sg2 type 5
[    9.942896]  sdb1
[    9.943773] sd 1:0:0:0: [sdb] Attached SCSI disk

您在硬盘上有什么?也许Uradadahead试图缓存微不足道的东西?您还可以为驱动器发布关联的/ etc / fstab条目吗?
M. Tibbits,

我的HDD包含pdf手册文件,StarTrek情节等数据,...无程序文件,无配置文件等。
奥利弗

1
fstab => / dev / sdb1 / media / data ext2 noatime,user,noauto 0 2
Oliver

Answers:


0

可以肯定的是,控制器扫描磁盘的内核模块会导致高清旋转。现在,如果我略有错误,并且它确实是您的硬盘驱动器模块,则可以在引导过程中阻止加载该模块。在上查看黑名单/etc/modprobe.d/


听起来很简单。我是否只需要在blacklist.conf中添加一行“ sd”?我假设还从模块sd启动的SSD怎么样?
奥利弗·

嗯,显然将sd模块列入黑名单是不可取的。我认为,唯一的希望就是您的硬盘需要特定于其型号的模块。但是它回答了“是什么导致HDD旋转?”的问题。
djeikyb 2011年

1

我想您是想说hdparm -s,而不是-B1,它要求APM兼容硬盘(这几乎意味着只有笔记本电脑的硬盘)在短时间不活动后自动待机。另外,Western Digital磁盘似乎不接受-s在待机状态下开机的命令,但背面有一个跳线可用于启用它。

内核sd(scsi磁盘)驱动程序在首次访问磁盘时启动磁盘,这是在引导过程中扫描分区表时发生的。它也将重新从默认挂起恢复后的驱动器,但你可以通过编写禁用0/sys/block/sda/device/scsi_disk/*/manage_start_stop

我通常这样做,然后hdparm -y在重启后手动挂起我不打算使用的驱动器。

我最后一个主板的BIOS根本不会检测到在待机状态下已打开电源的驱动器,但是我的新华硕沙桥式驱动器显然“很智能”,足以注意到该驱动器处于待机状态并启动。


不,我的意思是-B1。如您所描述的,-s选项仅在空闲时设置降速时间。例如-B255可以将驱动器设置为“恒定运行”,以防止旋转,旋转等问题,从而延长某些笔记本电脑的HDD寿命(即使您设置了-s计时器,afaik也会被忽略)。将0写入/ sys / block / sdb / ...就像从STR / S3恢复简历的魅力一样,谢谢!旋转驱动器将再次旋转,而旋转驱动器将在恢复时保持旋转。完善!:)
Oliver

该死的...重启后/ sys / block / sdb / ...再次显示“ 1”。因此,无论如何从STR / S3恢复,仍然可以使HDD旋转。
奥利弗

@Oliver:不,这是-S,不是-s。
psusi 2011年

哎呀!抱歉,您是对的。我使用-S设置了降速时间。我记得我曾经使用过-s ...,包括--yes-i-know-what-i-am-doing标志。但这是在使用-B1之后。-s选项似乎对我的系统没有任何进一步的影响。
奥利弗·

0

我将从dmesg开始查找sdb(1)的日志:

dmesg | grep /dev/sdb

我已经看过dmesg,但是我不知道如何解释这些行(请参见上文)。有任何想法吗?谢谢。
奥利弗·

不,对不起,没有主意。但是我不在硬盘行业,所以也许还有其他人……
用户未知

@Oliver也许将代码行粘贴paste.ubuntu.com并提供链接可能会有所帮助。
nanofarad 2012年

@ObsessiveFOSS:我认为他在他的帖子中插入了这些行。
用户未知

0

Linux将在引导时检查所有硬盘驱动器上的分区,从而读取所有已连接硬盘驱动器的分区表。仅此一项会导致您加速运行,但可能还有其他原因。

为了进行深入分析,AFAIK尿素头后端工具构建了启动期间读取的设备块的列表。您可以使用其日志来确定读取哪些硬盘块,作为确定启动原因的第一步。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.