Как сопоставить ata4.00 с соответствующим / dev / sdB или фактическим физическим диском?

В драйвере wl есть ошибка. Вы можете попробовать этот исправленный пакет, который решает проблему. Или вы можете попробовать драйвер b43.

Просто скачайте свой файл architechture bug или i386 и установите его с помощью software-center или gdebi или sudo dpkg -i PACKAGE_PATH. Если вы получаете ошибку зависимостей do sudo apt-get install -f ИЛИ вы можете сначала установить dkms, что необходимо.

i386

4
задан 5 October 2011 в 12:14

9 ответов

Вы должны получить дополнительную информацию от dmesg:
dmesg | grep ata
Что-то вроде:
[    2.345126] ata2.00: ATA-8: WDC WD20EARX-00PASB0, 51.0AB51, max UDMA/133
Это будет мой жесткий диск Wester Digital.
Вы должны получить дополнительную информацию от dmesg:
dmesg | grep ata
Что-то вроде:
[    2.345126] ata2.00: ATA-8: WDC WD20EARX-00PASB0, 51.0AB51, max UDMA/133
Это будет мой жесткий диск Wester Digital.
[!d6 ]

Вы должны получить дополнительную информацию от dmesg:

FAIL=ata1
, а затем запустить:
echo "$FAIL -> $(ls -l /sys/block/ | grep $(grep "^$(echo $FAIL | cut -c 4-)" /sys/class/scsi_host/host*/unique_id | sed "s/.*\(host[0-9]\{1,\}\).*/\1/") | awk '{print $8}')"

Что-то вроде:

ata1 -> sda
5
ответ дан 25 May 2018 в 18:27
  • Вы должны получить дополнительную информацию от dmesg:
    dmesg | grep ata
    
    Что-то вроде:
    [    2.345126] ata2.00: ATA-8: WDC WD20EARX-00PASB0, 51.0AB51, max UDMA/133
    
    Это был бы мой жесткий диск Wester Digital.

  • Вот путь, если у вас несколько дисков одной модели (если выше не поможет): Найти сопоставление с хоста SCSI с ata * ID:
    $ egrep "^[0-9]{1,}" /sys/class/scsi_host/host*/unique_id
    /sys/class/scsi_host/host0/unique_id:1
    /sys/class/scsi_host/host1/unique_id:2
    /sys/class/scsi_host/host2/unique_id:3
    /sys/class/scsi_host/host3/unique_id:4
    
    Найти сопоставление с хоста SCSI с идентификатором sd *:
    $ ls -l /sys/block/sd*
    ... /sys/block/sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
    ... /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
    
    Теперь вы можете связать эти два результата с помощью идентификатора хоста *. Так что если в этом случае у меня возникают проблемы с ata2, я бы поискал unique_id 2 → host1, а затем какой sd * был host1 → sdb.

  • Я также попытался придумать один лайнер. Не знаю, насколько это здорово. Сначала вам нужно установить ata * в качестве переменной:
    FAIL=ata1
    
    , затем запустить:
    echo "$FAIL -> $(ls -l /sys/block/ | grep $(grep "^$(echo $FAIL | cut -c 4-)" /sys/class/scsi_host/host*/unique_id | sed "s/.*\(host[0-9]\{1,\}\).*/\1/") | awk '{print $8}')"
    
    , который должен возвращать что-то вроде:
    ata1 -> sda
    
5
ответ дан 2 August 2018 в 02:54
  • Вы должны получить дополнительную информацию от dmesg:
    dmesg | grep ata
    
    Что-то вроде:
    [    2.345126] ata2.00: ATA-8: WDC WD20EARX-00PASB0, 51.0AB51, max UDMA/133
    
    Это был бы мой жесткий диск Wester Digital.

  • Вот путь, если у вас несколько дисков одной модели (если выше не поможет): Найти сопоставление с хоста SCSI с ata * ID:
    $ egrep "^[0-9]{1,}" /sys/class/scsi_host/host*/unique_id
    /sys/class/scsi_host/host0/unique_id:1
    /sys/class/scsi_host/host1/unique_id:2
    /sys/class/scsi_host/host2/unique_id:3
    /sys/class/scsi_host/host3/unique_id:4
    
    Найти сопоставление с хоста SCSI с идентификатором sd *:
    $ ls -l /sys/block/sd*
    ... /sys/block/sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
    ... /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sdb
    
    Теперь вы можете связать эти два результата с помощью идентификатора хоста *. Так что если в этом случае у меня возникают проблемы с ata2, я бы поискал unique_id 2 → host1, а затем какой sd * был host1 → sdb.

  • Я также попытался придумать один лайнер. Не знаю, насколько это здорово. Сначала вам нужно установить ata * в качестве переменной:
    FAIL=ata1
    
    , затем запустить:
    echo "$FAIL -> $(ls -l /sys/block/ | grep $(grep "^$(echo $FAIL | cut -c 4-)" /sys/class/scsi_host/host*/unique_id | sed "s/.*\(host[0-9]\{1,\}\).*/\1/") | awk '{print $8}')"
    
    , который должен возвращать что-то вроде:
    ata1 -> sda
    
5
ответ дан 13 August 2018 в 12:34

На некоторых моих серверах у меня есть два или более устройства на одном scsi_host. Я не знаю, правильно ли это, но я предположил, что он может быть отстранен от цели и работает для меня:

ls -l /sys/block/sd*
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sda -> ../devices/pci0000:00/0000:00:01.0/0000:01:00.0/host3/target3:0:0/3:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/host6/target6:0:0/6:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdc -> ../devices/pci0000:00/0000:00:1f.2/host7/target7:0:0/7:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdd -> ../devices/pci0000:00/0000:00:1f.2/host8/target8:0:0/8:0:0:0/block/sdd
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sde -> ../devices/pci0000:00/0000:00:1f.2/host9/target9:0:0/9:0:0:0/block/sde
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdf -> ../devices/pci0000:00/0000:00:1f.2/host10/target10:0:0/10:0:0:0/block/sdf
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdg -> ../devices/pci0000:00/0000:00:1f.2/host11/target11:0:0/11:0:0:0/block/sdg
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdh -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:0/13:0:0:0/block/sdh
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdi -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:1/13:0:1:0/block/sdi

Простой сценарий bash:

#!/bin/bash

#inspired by http://askubuntu.com/questions/64351/how-to-match-ata4-00-to-the-apropriate-dev-sdx-or-actual-physical-disk

for d in /sys/block/sd*
do
  s=`basename $d`
  h=`ls -l $d | egrep -o "host[0-9]+"`
  t=`ls -l $d | egrep -o "target[0-9:]*"`
  a2=`echo $t | egrep -o "[0-9]:[0-9]$" | sed 's/://'`
  a=`cat /sys/class/scsi_host/$h/unique_id`
  echo "$s -> ata$a.$a2"
done

и его вывод:

sda -> ata4.00
sdb -> ata7.00
sdc -> ata8.00
sdd -> ata9.00
sde -> ata10.00
sdf -> ata11.00
sdg -> ata12.00
sdh -> ata14.00
sdi -> ata14.01
4
ответ дан 25 May 2018 в 18:27

Слишком поздно, но ради других читателей ... Мне пришлось ответить на ваш другой вопрос: «Теперь мне интересно, какой диск заменить».

Флаг ошибки МККК почти всегда связанный с плохим кабелем SATA, это легко заменить / проверить. Немного возможно поднять флаг МККК, если питание на привод неисправно.

То, что точно, является то, что нет никаких доказательств чего-то неладного с приводом! Замените кабель SATA.

0
ответ дан 25 May 2018 в 18:27

Слишком поздно, но ради других читателей ... Мне пришлось ответить на ваш другой вопрос: «Теперь мне интересно, какой диск заменить».

Флаг ошибки МККК почти всегда связанный с плохим кабелем SATA, это легко заменить / проверить. Немного возможно поднять флаг МККК, если питание на привод неисправно.

Что, правда, есть, что нет никаких доказательств чего-то неладного с приводом! Замените кабель SATA.

0
ответ дан 2 August 2018 в 02:54

Слишком поздно, но ради других читателей ... Мне пришлось ответить на ваш другой вопрос: «Теперь мне интересно, какой диск заменить».

Флаг ошибки МККК почти всегда связанный с плохим кабелем SATA, это легко заменить / проверить. Немного возможно поднять флаг МККК, если питание на привод неисправно.

Что, правда, есть, что нет никаких доказательств чего-то неладного с приводом! Замените кабель SATA.

0
ответ дан 4 August 2018 в 18:43

На некоторых моих серверах у меня есть два или более устройства на одном scsi_host. Я не знаю, правильно ли это, но я предположил, что он может быть удален от цели, и он работает для меня:

ls -l /sys/block/sd*
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sda -> ../devices/pci0000:00/0000:00:01.0/0000:01:00.0/host3/target3:0:0/3:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/host6/target6:0:0/6:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdc -> ../devices/pci0000:00/0000:00:1f.2/host7/target7:0:0/7:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdd -> ../devices/pci0000:00/0000:00:1f.2/host8/target8:0:0/8:0:0:0/block/sdd
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sde -> ../devices/pci0000:00/0000:00:1f.2/host9/target9:0:0/9:0:0:0/block/sde
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdf -> ../devices/pci0000:00/0000:00:1f.2/host10/target10:0:0/10:0:0:0/block/sdf
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdg -> ../devices/pci0000:00/0000:00:1f.2/host11/target11:0:0/11:0:0:0/block/sdg
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdh -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:0/13:0:0:0/block/sdh
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdi -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:1/13:0:1:0/block/sdi

Простой сценарий bash:

#!/bin/bash

#inspired by http://askubuntu.com/questions/64351/how-to-match-ata4-00-to-the-apropriate-dev-sdx-or-actual-physical-disk

for d in /sys/block/sd*
do
  s=`basename $d`
  h=`ls -l $d | egrep -o "host[0-9]+"`
  t=`ls -l $d | egrep -o "target[0-9:]*"`
  a2=`echo $t | egrep -o "[0-9]:[0-9]$" | sed 's/://'`
  a=`cat /sys/class/scsi_host/$h/unique_id`
  echo "$s -> ata$a.$a2"
done

и его вывод:

sda -> ata4.00
sdb -> ata7.00
sdc -> ata8.00
sdd -> ata9.00
sde -> ata10.00
sdf -> ata11.00
sdg -> ata12.00
sdh -> ata14.00
sdi -> ata14.01
4
ответ дан 4 August 2018 в 18:43

На некоторых моих серверах у меня есть два или более устройства на одном scsi_host. Я не знаю, правильно ли это, но я предположил, что он может быть удален от цели, и он работает для меня:

ls -l /sys/block/sd*
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sda -> ../devices/pci0000:00/0000:00:01.0/0000:01:00.0/host3/target3:0:0/3:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdb -> ../devices/pci0000:00/0000:00:1f.2/host6/target6:0:0/6:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdc -> ../devices/pci0000:00/0000:00:1f.2/host7/target7:0:0/7:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdd -> ../devices/pci0000:00/0000:00:1f.2/host8/target8:0:0/8:0:0:0/block/sdd
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sde -> ../devices/pci0000:00/0000:00:1f.2/host9/target9:0:0/9:0:0:0/block/sde
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdf -> ../devices/pci0000:00/0000:00:1f.2/host10/target10:0:0/10:0:0:0/block/sdf
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdg -> ../devices/pci0000:00/0000:00:1f.2/host11/target11:0:0/11:0:0:0/block/sdg
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdh -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:0/13:0:0:0/block/sdh
lrwxrwxrwx 1 root root 0 2012-02-08 08:15 /sys/block/sdi -> ../devices/pci0000:00/0000:00:1c.4/0000:04:00.0/host13/target13:0:1/13:0:1:0/block/sdi

Простой сценарий bash:

#!/bin/bash

#inspired by http://askubuntu.com/questions/64351/how-to-match-ata4-00-to-the-apropriate-dev-sdx-or-actual-physical-disk

for d in /sys/block/sd*
do
  s=`basename $d`
  h=`ls -l $d | egrep -o "host[0-9]+"`
  t=`ls -l $d | egrep -o "target[0-9:]*"`
  a2=`echo $t | egrep -o "[0-9]:[0-9]$" | sed 's/://'`
  a=`cat /sys/class/scsi_host/$h/unique_id`
  echo "$s -> ata$a.$a2"
done

и его вывод:

sda -> ata4.00
sdb -> ata7.00
sdc -> ata8.00
sdd -> ata9.00
sde -> ata10.00
sdf -> ata11.00
sdg -> ata12.00
sdh -> ata14.00
sdi -> ata14.01
4
ответ дан 13 August 2018 в 12:34

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

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