¿Cómo evitar que el HDD gire al inicio del sistema? (Ubuntu desde SSD)

8

Gracias a hdparm -B1 /dev/sdbmi HDD ya no gira cuando se enciende en el arranque. Pero después de completar los mensajes POST del BIOS e iniciar Ubuntu, el HDD recibe una señal a través del cable de datos SATA y gira.

Al dejar el cable de datos (pero aún con el cable de alimentación SATA enchufado), el sistema se inicia completamente desde mi SSD sin activar el HDD.

¿Qué causa que el HDD gire? Tal vez Grub2?


Editar: no, no parece ser Grub2 lo que hace girar el disco. Acabo de configurar Grub para mostrar su menú sin temporizador. Nada sucede hasta que presiono la opción de arranque estándar de Ubuntu, luego, unos segundos más tarde, la unidad gira.


Editar 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
Oliver
fuente
¿Qué tienes en el disco duro? ¿Quizás ureadahead está tratando de almacenar algo insignificante? ¿Podría también publicar sus entradas / etc / fstab asociadas para la unidad?
M. Tibbits
Mi HDD contiene datos como archivos manuales en PDF, episodios de StarTrek, ... Sin archivos de programa, sin archivos de configuración o algo así.
Oliver
1
fstab => / dev / sdb1 / media / data ext2 noatime, user, noauto 0 2
Oliver

Respuestas:

0

Estoy bastante seguro de que es el módulo del kernel para el escaneo del controlador en busca de discos lo que hace que su hd gire. Ahora, si estoy un poco equivocado, y realmente es un módulo para su disco duro, podría bloquear la carga de ese módulo durante el proceso de arranque. Echa un vistazo a las listas negras en /etc/modprobe.d/.

djeikyb
fuente
Suena fácil. ¿Debo agregar una línea "sd" en blacklist.conf? ¿Qué tal el SSD que supongo también se inicia con el módulo sd?
Oliver
Eheh, obviamente poner en la lista negra el módulo SD no es deseable. Creo que la única esperanza sería que su disco duro requiriera un módulo específico para su modelo. Pero responde a la pregunta "¿Qué causa que el HDD gire?".
djeikyb
1

Creo que querías decir hdparm -s, no -B1, lo que le pide a los discos duros compatibles con APM (lo que significa prácticamente solo los portátiles) que se pongan en espera automáticamente después de un corto período de inactividad. Además, los discos Western Digital no parecen aceptar el -scomando de encendido en modo de espera, pero tienen un puente en la parte posterior que puede usar para habilitarlo.

El controlador kernel sd (disco scsi) inicia el disco la primera vez que se accede a él, lo que ocurre durante el arranque para escanear la tabla de particiones. También reiniciará la unidad después de reanudar la suspensión de forma predeterminada, pero puede deshabilitarla escribiendo 0en /sys/block/sda/device/scsi_disk/*/manage_start_stop.

Normalmente hago esto y luego suspendo manualmente las unidades que no planeo usar hdparm -ydespués de un reinicio.

Mi última BIOS de la placa base simplemente no detectaría las unidades que se encendieron en modo de espera, pero mi nuevo puente de arena Asus es aparentemente lo suficientemente "inteligente" como para darse cuenta de que la unidad está en modo de espera y arrancarla.

psusi
fuente
No, quise decir -B1. La opción -s establece solo el tiempo de inactividad cuando está inactivo como lo describió. Por ejemplo, -B255 puede configurar las unidades en "funcionamiento constante" para evitar que bajen, giren, ... y así aumentar la vida útil del HDD en algunas computadoras portátiles (incluso si configura un temporizador -s, esto se ignorará). Escribir 0 en / sys / block / sdb / ... funciona de maravilla con respecto al currículum de STR / S3, ¡gracias! Una unidad girada volverá a girar y una unidad girada se dejará girada al reanudar. ¡Perfecto! :)
Oliver
Maldición ... después de reiniciar / sys / block / sdb / ... muestra "1" nuevamente. Por lo tanto, reanudar desde STR / S3 todavía permite que el HDD gire en cualquier caso.
Oliver
@Oliver: no, eso es -S, no -s.
psusi
¡Uy! Perdón, tienes razón. Solía ​​-S para establecer un tiempo de spindown. Recuerdo que usé -s ... incluyendo la bandera --yes-i-know-what-i-am-doing. Pero eso fue después de usar -B1. La opción -s no parecía tener ningún efecto adicional en mi sistema.
Oliver
0

Buscaría los registros para sdb (1), comenzando con dmesg:

dmesg | grep /dev/sdb
usuario desconocido
fuente
Ya miré en dmesg, pero no sé cómo interpretar las líneas (ver arriba). ¿Algunas ideas? Gracias.
Oliver
No, lo siento, no tengo ideas. Pero no estoy en el negocio de discos duros, así que tal vez alguien más ...
usuario desconocido
@Oliver Tal vez publicar las líneas en paste.ubuntu.com y dar un enlace podría ayudar.
nanofarad
@ObsessiveFOSS: Creo que insertó esas líneas en su publicación.
usuario desconocido
0

Linux buscará particiones en todos los discos duros durante el arranque y, por lo tanto, leerá la tabla de particiones de todos los discos duros conectados. Esto por sí solo causaría su spin-up, pero puede haber causas adicionales.

Para un análisis en profundidad, AFAIK las herramientas de back-end para ureadahead construyen una lista de bloques de dispositivos leídos durante el arranque. Puede usar sus registros para determinar qué bloques de disco duro se leen, como primer paso para determinar la causa de sus revoluciones.

Soñador
fuente