Как я могу сказать, что ядро ​​linux полностью игнорирует диск, как будто он даже не подключен?

lsblk -f

Дает вам файловую систему любых подключенных устройств, независимо от того, установлены они или нет.

Он также дает вам другую полезную информацию для создания необходимой строки для вашего файла fstab, такого как UUID .

1
задан 13 April 2017 в 15:23

5 ответов

Вы можете попытаться создать правило udev со следующей информацией (вывод информации udevadm -a -n /dev/sdb).

INFO:

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"

INFO: Создайте правило udev.

sudo nano /etc/udev/rules.d/99-hide-ssd.rules

Вы можете попробовать совместить клавиши «SUBSYSTEMS» и «DRIVERS» и «ATTRS { rev} "& amp; ATTRS {model}, затем назначьте переменную «UDISKS», чтобы игнорировать ее.

Содержимое файла 99-hide-ssd.rules будет:

SUBSYSTEMS == " scsi ", DRIVERS ==" sd ", ATTRS {rev} ==" SSD ", ATTRS {model} ==" SanDisk iSSD P4 ", ENV {UDISKS_IGNORE} =" 1 "

Чтобы сохранить изменения в nano ... Ctrl + O, затем Enter и, наконец, Ctrl + X.

«SUBSYSTEMS» Наконец, обновите правила udev с помощью:

sudo nano /etc/udev/rules.d/99-hide-ssd.rules

ПРИМЕЧАНИЕ. При использовании «ДРАЙВЕРЫ» он будет игнорировать диск для Ubuntu 12.10 & amp; 13,04. Для Ubuntu 12.04 переменной будет ENV {UDISKS_PRESENTATION_HIDE} = "1".

Надеюсь, это поможет.

4
ответ дан 24 May 2018 в 17:21
  • 1
    Пробовал, все еще sdb обнаруживается при загрузке (и задерживает его). Я думаю, должен быть какой-то параметр параметров строки ядра, но я ничего не смог найти ... вздох. Спасибо, в любом случае. – Rmano 4 October 2013 в 03:44
  • 2
    @Rmano ... Если вы попытаетесь сопоставить только ключ ядра ?. правило будет KERNEL == "sdb", ENV {UDISKS_IGNORE} = "1" ..., чтобы узнать, обнаружен ли диск в udev. – Roman Raguet 4 October 2013 в 06:26
  • 3
    Я знаю, что было много времени назад. но эта проблема все еще не отвечает ... ни один из предложений не работал. Все равно спасибо. – Rmano 7 November 2013 в 23:30

https://serverfault.com/questions/112147/tell-ubuntu-to-ignore-dead-hard-drive-during-booting предлагает частично:

Как root, откройте / etc /udev/rules.d/60-persistent-storage.rules с вашим любимым текстовым редактором.

Несколько строк вниз, вы, вероятно, увидите строку, которая выглядит так:

[d5 ] пропустить правила для неуместных блочных устройств

/etc/udev/rules.d/60-persistent-storage.rules Добавить «sdb *» во вторую строку, так что выглядит например:

KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md | sdb *", GOTO = "persistent_storage_end"

Сохраните, перезагрузитесь и, возможно, это сработает. Если нет, то это такая послегарантийная гарантия?

2
ответ дан 24 May 2018 в 17:21
  • 1
    Пробовал, не повезло. Все еще есть диск sdb, все еще блокирующий приостановку. Когда-то существовала опция командной строки sdb = ignore kernel ... И, к сожалению, да, это послегарантийное обслуживание. – Rmano 10 October 2013 в 03:06
  • 2
    Кстати, у меня не было этого файла, поэтому я добавил его ... – Rmano 10 October 2013 в 03:08

Из того, что я знаю, нет способа удалить сообщение, кроме удаления SSD.

1
ответ дан 24 May 2018 в 17:21
  • 1
    К сожалению, SSD (для чего я знаю) припаян к материнской плате. Это всего лишь чип 8G. – Rmano 3 October 2013 в 05:14
  • 2
    Вырезать один из светодиодов на чипе, предпочтительнее найти линию +5V и разрезать это с помощью X-Acto? – K7AAY 11 October 2013 в 03:57
  • 3
    ... если бы я только знал, какой чип есть, и где он. Тогда я боюсь, что это может создать еще больше проблем (неуправляемое три состояния ...). – Rmano 11 October 2013 в 20:24

Если ваши другие диски не используют ahci или не являются SSD, вы можете удалить драйвер ядра для них.

, чтобы удалить для этого сеанса (до следующей перезагрузки), запустите:

sudo rmmod ahci

, чтобы перезагрузить его, запустите:

sudo modprobe ahci

, если вы видите, что все идет хорошо, теперь вы можете полностью отключить его (не загружать следующие ботинки). откройте файл /etc/modprobe.d/blacklist.conf и добавьте следующую строку:

blacklist ahci 

в черный список ssd-драйверов, просто замените /etc/modprobe.d/blacklist.conf с sd

1
ответ дан 24 May 2018 в 17:21
  • 1
    Это оставит мне систему без диска ... главный диск находится на ata1, сбой ssd на ata2. Отключение режима ahci в BIOS делает систему не загружаемой ... – Rmano 11 October 2013 в 06:52

Я пошел и написал для вас патч ядра, который реализует возможность отключения одного диска во время загрузки, так что вам не нужно беспокоиться об отключении его в udev или ожидании во время начальной загрузки.

http://dev.gentoo.org/~robbat2/patches/3.13-libata-disable-disks-by-param.patch

Очень легко применимо ко многим ядрам (строка над ним было добавлено 2013-05-21 / v3.10-rc1 *, но можно безопасно применять вручную без этой строки).

1
ответ дан 24 May 2018 в 17:21

Другие вопросы по тегам:

Похожие вопросы: