1

У нас есть компьютер с несколькими загрузочными дисками, каждый из которых содержит одно и то же программное обеспечение. Выбор загрузочного диска осуществляется с помощью многопозиционного переключателя на передней панели. Если выбран диск 1, диск на порте SATA 0 загружается. Если выбран диск 2, диск на порте SATA 1 загружается. И т.п.

Диспетчер дисков на RH может показать, к какому порту SATA подключены жесткие диски. Это графический интерфейс поверх чего-то, и это то, что я хочу.

Как я могу получить эту информацию в командной строке? Я подключаюсь по ssh-соединению и хотел бы узнать, к чему подключен загрузочный диск. Где хранится эта информация?

Спасибо!

1 ответ1

0

Сопоставление номеров портов с устройствами

Я нашел этот вопрос, потому что пытался понять то же самое. Вот что я понял; он должен работать в bash или zsh:

for i in /dev/disk/by-path/*;do [[ ! "$i" =~ '-part[0-9]+$' ]] && echo "Port $(basename "$i"|grep -Po '(?<=ata-)[0-9]+'): $(readlink -f "$i")";done

Вывод должен выглядеть примерно так:

Port 1: /dev/sda
Port 2: /dev/sdb
Port 3: /dev/sdc

Эти номера портов ДОЛЖНЫ соответствовать номерам, напечатанным на вашей материнской плате, хотя это предполагает, что поставщик вашей материнской платы был достаточно внимателен, чтобы сопоставить числа, напечатанные на плате, с номерами портов в микросхеме контроллера SATA. По крайней мере, пути к устройствам остаются стабильными, поэтому, если вы установите соответствие между указанными номерами портов и номерами на панели, оно никогда не изменится.

Этот фрагмент перебирает каталог /dev/disk/by-path . Он пропускает файлы, оканчивающиеся на -part<number> как это всего лишь разделы, и извлекает номер порта из -ata<number> в конце оставшихся имен файлов. Эти файлы являются символическими ссылками на традиционные узлы /dev/sdX , которые он получает, используя readlink -f .

Если у вас несколько контроллеров SATA, вы получите несколько устройств для одного и того же номера порта, потому что у каждого контроллера есть свой порт 1, порт 2 и т.д. Итак, просто запустите ls -l /dev/disk/by-path и разобрать это вручную.

Выяснить, какое устройство является вашим загрузочным устройством

Чтобы выяснить, какое устройство является вашим загрузочным устройством, запустите mount | grep ' on / ' | cut -f 1 -d ' ' . Это показывает устройство, установленное в / .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .