Как избежать раскрутки жесткого диска при запуске системы? (Ubuntu от SSD)

8

Благодаря hdparm -B1 /dev/sdbмоему HDD больше не раскручивается при включении при загрузке. Но после завершения сообщений BIOS POST и запуска Ubuntu жесткий диск получает сигнал по кабелю 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
Оливер
источник
Что у тебя на HDD? Возможно, Ureadahead пытается кэшировать что-то незначительное? Не могли бы вы также опубликовать связанную запись / etc / fstab для диска?
М. Тиббитс
Мой жесткий диск содержит данные, такие как PDF-файлы руководства, эпизоды StarTrek, ... Нет программных файлов, файлов конфигурации или чего-то подобного.
Оливер
1
fstab => / dev / sdb1 / media / data ext2 noatime, пользователь, noauto 0 2
Оливер

Ответы:

0

Я уверен, что именно модуль ядра для сканирования контроллера дисков вызывает вращение вашего жесткого диска. Теперь, если я немного ошибаюсь, и это действительно модуль для вашего жесткого диска, вы можете заблокировать загрузку этого модуля во время процесса загрузки. Проверьте черные списки в /etc/modprobe.d/.

djeikyb
источник
Звучит просто. Должен ли я просто добавить строку "sd" в черный список.conf? Как насчет SSD, который, как я полагаю, также запускается с модулем sd?
Оливер
Эхх, явно занесение в черный список модуля sd нежелательно. Я думаю, что единственная надежда на это будет, если ваш жесткий диск требует модуль, специфичный для его модели. Но он отвечает на вопрос «Что заставляет HDD раскручиваться?».
djeikyb
1

Я думаю, что вы хотели сказать hdparm -s, нет -B1, который просит APM-совместимые жесткие диски (что в значительной степени означает только ноутбуки) автоматически переходить в режим ожидания после короткого периода бездействия. Кроме того, диски Western Digital, похоже, не принимают -sкоманду на включение в режиме ожидания, но на задней панели имеется перемычка, которую можно использовать для включения.

Драйвер ядра sd (scsi disk) запускает диск при первом обращении к нему, что происходит во время загрузки для сканирования таблицы разделов. Он также перезапустит диск после возобновления из режима ожидания по умолчанию, но вы можете отключить его, написав 0в /sys/block/sda/device/scsi_disk/*/manage_start_stop.

Я обычно делаю это и затем вручную hdparm -yперезагружаю диски, с которыми я не планирую использовать после перезагрузки.

Мой последний биос на материнской плате просто не обнаруживал накопители, которые включались в режиме ожидания, но мой новый песчаный мост Asus достаточно «умный», чтобы заметить, что накопитель находится в режиме ожидания, и запустить его.

psusi
источник
Нет, я имел в виду -B1. Опция -s устанавливает только время замедления в режиме ожидания, как вы описали. Например, -B255 может установить дисководы на «постоянную работу», чтобы предотвратить замедление, раскручивание и т. Д. И, таким образом, увеличить срок службы жесткого диска на некоторых ноутбуках (даже если вы установите таймер -s, это будет игнорироваться). Запись 0 в / sys / block / sdb / ... работает как прелесть в отношении резюме из STR / S3, спасибо! Привод с ускорением будет снова вращаться, а при возобновлении привод с вращением будет оставлен. Отлично! :)
Оливер
Блин ... после перезагрузки / sys / block / sdb / ... снова показывает "1". Поэтому возобновление со STR / S3 все равно позволяет HDD раскручиваться в любом случае.
Оливер
@ Оливер: нет, это -S, а не -s.
psusi
упс! Извините, вы правы. Я использовал -S, чтобы установить время ожидания. Я помню, что использовал -s ... включая флаг --yes-i-знаю-что-я-делаю. Но это было после использования -B1. Опция -s, похоже, больше не влияет на мою систему.
Оливер
0

Я бы посмотрел логи для sdb (1), начиная с dmesg:

dmesg | grep /dev/sdb
Пользователь неизвестен
источник
Я уже посмотрел на dmesg, но я не знаю, как интерпретировать строки (см. Выше). Любые идеи? Спасибо.
Оливер
Нет, извините, нет идей. Но я не занимаюсь бизнесом, поэтому, может быть, кто-то еще ...
пользователь неизвестен
@Oliver Может быть, вам поможет публикация строк на paste.ubuntu.com и предоставление ссылки.
нанофарад
@ObsessiveFOSS: я думаю, что он вставил эти строки в свой пост.
пользователь неизвестен
0

Linux будет проверять наличие разделов на всех жестких дисках при загрузке и, таким образом, будет читать таблицу разделов всех подключенных жестких дисков. Это само по себе может привести к раскрутке, но могут быть и другие причины.

Для глубокого анализа AFAIK бэкэнд-инструменты для ureadahead создают список блоков устройств, считываемых во время загрузки. Вы можете использовать его журналы, чтобы определить, какие блоки жесткого диска читаются, в качестве первого шага, чтобы определить причину вашего раскрутки.

мечтатель
источник