У меня есть ноутбук Samsung (Хронос) с s7 одним жестким диском SATA на шину ata:1
, которая определяется как /dev/sda
, к 8G SSD на ata:2
, /dev/sdb
и различные другие устройства на остальной части интерфейса SATA.
Проблема в том, что диск SSD
- припаянный к основной плате (неподвижный)
- Busted (он просто дает ошибки ввода-вывода для любой операции)
- он не появляется в биосе (вероятно, потому что он сломан)
Теперь этот диск:
- задерживает загрузку на три-пять минут, пытаясь проверить неисправный диск, что раздражает;
- но самое неприятное, что система не может приостановить работу из-за
/dev/sdb
сбоя.
Обратите внимание, что я могу жить с задержкой при загрузке - меня беспокоит возобновление / приостановка.
Итак, вопрос: могу ли я сказать ядру, чтобы оно не проверяло устройство на ata: 2?
В более старом ядре (<3.0), когда я все еще мог немного покопаться в источнике, был параметр командной строки стиля, hdb=ignore
который бы сработал.
Я перепробовал все приемы , предложенные ниже с udev
и libata:force
ядром параметров, но безрезультатно. В частности, следующее не работает:
Добавление к одному из следующих
/etc/udev/rules.d/
файлов (в раннем исполнении, например,00-ignoredisk.rules
в конце99-ignoredisk.rules
или в обоих местах)SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1"
ни
KERNEL=="sdb", ENV{UDISKS_IGNORE}="1"
ни много промежуточных решений - это делает диск недоступным после загрузки, но он проверяется при загрузке и все еще проверяется при приостановке - вызывая сбой приостановки.
Редактирование системных файлов
/lib/udev/rules.d/60-persistent-storage.rules
(иudisks
,udisks2
) изменениеKERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end"
в
KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end"
опять же, это имеет некоторый эффект, маскируя диск из пространства пользователя, но диск все еще виден ядру.
Загрузка всех возможных комбинаций (ну, их много)
libata:force
параметров (найденных, например, здесь ) для отключения DMA, более низкой скорости или чего-либо другого из-за неисправного диска - не работает. Параметр используется, но диск все еще проверяется и дает сбой.Полная
udevadm info -a -n /dev/sdb
вставка на http://paste.ubuntu.com/6186145/smartctl -i /dev/sdb -T permissive
дает:root@samsung-romano:/home/romano# smartctl -i /dev/sdb -T permissive smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.8.0-31-generic] (local build) Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net Vendor: /1:0:0:0 Product: User Capacity: 600,332,565,813,390,450 bytes [600 PB] Logical block size: 774843950 bytes >> Terminate command early due to bad response to IEC mode page
что явно неправильно. тем не менее:
root@samsung-romano:/home/romano# fdisk -b 512 -C 970 -H 256 -S 63 /dev/sdb fdisk: unable to read /dev/sdb: Input/output error
(Данные SSD от http://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579 ).
/etc/fstab
? Потому что задержка при загрузке могла быть вызвана раньше ядром или udev, что, как кажется, имеет место, но позже и fsck, при чтенииfstab
.