Обратите внимание
Пожалуйста, прокрутите вниз, чтобы получить ответ (у него мало пунктов, но он правильный). Проблема решена патчем, который будет в ядре 3.12.7 и выше; Я надеюсь, что это будет перенесено и на более ранние версии.
Мой ноутбук - Samsung Chronos серии 7. Ubuntu Gnome Remix 13.04 с обновленными драйверами Intel.
У меня проблема с внутренним SSD-накопителем (емкость 8G). Сбой с COMRESET и ошибками ввода / вывода. Я совершенно уверен, что проблема аппаратная; к сожалению, у меня не установлено Windows на ноутбуке, чтобы проверить, является ли это вопросом конфигурации SSD или чего-то еще.
Проблема в том, что udev распознает диск:
KERNEL[9.515930] add /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb (block)
ACTION=add
DEVNAME=sdb
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb
DEVTYPE=disk
MAJOR=8
MINOR=16
SEQNUM=1785
SUBSYSTEM=block
UDEV_LOG=3
, и после этого он проваливает множество проверок, задерживая загрузку, задерживая выключение и заставляя (я думаю) приостановить невозможно.
Можно ли сказать Linux полностью игнорировать что-либо в ссылке ata2? Я попытался добавить эту строку в /etc/udev/rules.d/10-local.rules
SUBSYSTEMS=="pci" DRIVERS=="ahci" KERNELS=="ata2" OPTIONS=="ignore_device"
, но это не работает.
С другой стороны, если кто-нибудь знает, как сбросить SSD, если он был оставлен в режиме «кэширования» без использования Windows ... или загрузить «живые» окна, чтобы сделать то же самое ... [ 1119]
Спасибо!
Данные добавлены:
Полная 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 ).
ДОПОЛНИТЕЛЬНАЯ МЫСЛЬ:
Может ли все это быть побочным эффектом технологии Intel Smart Response не отключаться перед установкой Linux? Если да, как я могу проверить это, кроме переустановки Windows на машине? Или это выстрел в темноте? (В биосе SSD-накопитель не показывается и в Intel SRT ничего нет).
О МАРКИРОВКЕ КАК ДУБЛИКАТ:
Я изменил название вопроса; Я не думаю, что связанный вопрос отвечает на мою проблему. Я положительно знаю , что SSD выходит из строя. Я спрашиваю, можно ли сказать ядру Linux, чтобы оно вообще не проверялось. [Тысяча сто двадцать девять]
Два решения здесь: каждый быстр для применения, хотя решает проблему только частично, другой является полным, но требует, чтобы Вы скомпилировали свое собственное ядро.
Robin H. Johnson записал, патч для драйвера ядра SATA (найдите его в сайте обмена стека Unix/Linux), который скрывает полностью диск.
Обновите 1, патч является теперь восходящим (по крайней мере, в 3.12.7 стабильных ядрах), посмотрите репозиторий мерзавца. Я попросил бэкпорт в панели запуска Ubuntu.
Обновите 2, патч находится в стандартном ядре для Надежного человека Ubuntu Thar 14.04; таким образом, теперь только следующее дополнение к параметру начальной загрузки необходимо.
После того как патч установлен, добавив
libata.force=2.00:disable
к ядру параметры начальной загрузки скроют диск от ядра Linux. Двойная проверка, чтобы число было корректно; поиск имени устройства может помочь:
(0)samsung-romano:~% dmesg | grep iSSD
[ 1.493279] ata2.00: ATA-8: SanDisk iSSD P4 8GB, SSD 9.14, max UDMA/133
[ 1.494236] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 SSD PQ: 0 ANSI: 5
Для добавления параметра ядра (бот временно и постоянно), можно проверить это Вопросы и ответы: Как я добавляю параметр начальной загрузки ядра?
По крайней мере, проблема включения приостанавливать-резюме была решена пользователем Emmanuel Unix StackExchange в https://unix.stackexchange.com/a/103742/52205. Как корень, дайте команду:
echo 1 > /sys/block/sdb/device/delete
прежде приостанавливают.
Для создания этого постоянным включите следующий файл /etc/pm/sleep.d/
и сделайте это исполняемым файлом:
-rwxr-xr-x 1 root root 204 Dec 6 16:03 99_delete_sdb
с содержанием:
#!/bin/sh
# Delete the failing disk so that it will not block suspend
case "$1" in
suspend|hibernate)
if [ -d /sys/block/sdb ]; then
echo 1 > /sys/block/sdb/device/delete
fi
;;
esac
... и теперь система приостанавливает (и резюме) правильно.
Вы можете попытаться создать правило udev со следующей информацией (вывод udevadm info -a -n /dev/sdb).
ИНФОРМАЦИЯ:
looking at parent device '/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0':
KERNELS=="1:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{rev}=="SSD "
ATTRS{type}=="0"
ATTRS{scsi_level}=="6"
ATTRS{model}=="SanDisk iSSD P4 "
ATTRS{state}=="running"
ATTRS{queue_type}=="none"
ATTRS{iodone_cnt}=="0x309"
ATTRS{iorequest_cnt}=="0x30a"
ATTRS{queue_ramp_up_period}=="120000"
ATTRS{timeout}=="30"
ATTRS{evt_media_change}=="0"
ATTRS{ioerr_cnt}=="0x1d6"
ATTRS{queue_depth}=="1"
ATTRS{vendor}=="ATA "
ATTRS{device_blocked}=="0"
ATTRS{iocounterbits}=="32"
1) Создать правило udev.
sudo nano /etc/udev/rules.d/99-hide-ssd.rules
Вы можете попробовать сопоставить клавиши "SUBSYSTEMS" и "DRIVERS" и "ATTRS {rev}" & amp; Атрибуты ATTRS {модель} , затем присвойте переменную «UDISKS» , чтобы игнорировать ее.
Содержимое файла 99-hide-ssd.rules будет следующим:
SUBSYSTEMS == "scsi", DRIVERS == "sd", ATTRS {rev} == "SSD" , ATTRS {model} == "SanDisk iSSD P4", ENV {UDISKS_IGNORE} = "1"
blockquote>Чтобы сохранить изменения в nano ... Ctrl kbd> + < kbd> O kbd>, затем Enter kbd> и, наконец, Ctrl kbd> + X kbd>.
2) Наконец, обновите правила udev:
sudo udevadm trigger
ПРИМЕЧАНИЕ: С помощью [ 1126] ENV {UDISKS_IGNORE} = "1" будет игнорировать диск для Ubuntu 12.10 & amp; 13,04.
Для Ubuntu 12.04 переменная будет ENV {UDISKS_PRESENTATION_HIDE} = "1" .Надеюсь, это поможет.
https://serverfault.com/questions/112147/tell-ubuntu-to-ignore-dead-hard-drive-during-booting предлагает частично:
от имени пользователя root откройте /etc/udev/rules.d/60-persistent-storage.rules в своем любимом текстовом редакторе.
Через несколько строк вы, вероятно, увидите строку, которая выглядит следующим образом:
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md ", GOTO =" persistent_storage_end " Добавьте« sdb * »во вторую строку, чтобы она выглядела следующим образом:
[ 118] KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md | sdb *", GOTO = "persistent_storage_end"
Сохраните, перезагрузите компьютер и, возможно, это сработает. Если нет, ну это пост-гарантия?
Если другие ваши диски не используют ahci или не SSD, вы можете удалить для них драйвер ядра.
, чтобы удалить для этого сеанса (до следующей перезагрузки), выполните:
sudo rmmod ahci
, чтобы перезагрузить его, выполните:
sudo modprobe ahci
, если вы видите, что все идет хорошо, теперь вы можете полностью отключить его (не загружайте его при следующей загрузке). откройте файл /etc/modprobe.d/blacklist.conf и добавьте следующую строку:
blacklist ahci
в черный список драйверов ssd, просто замените ahci на сд
Из того, что я знаю, нет способа удалить сообщение, кроме как удалить свой SSD.
Я пошел и записал патч ядра для Вас, который реализует способность отключить отдельный диск во время начальной загрузки, так, чтобы Вы не должны были беспокоиться отключением ее в udev или ожидании во время начальной начальной загрузки.
http://dev.gentoo.org/~robbat2/patches/3.13-libata-disable-disks-by-param.patch
Должен относиться ко многим ядрам очень легко (строка выше его была добавлена 2013-05-21/v3.10-rc1*, но может быть безопасно применена вручную без той строки).