PCI ID 찾기 - 다음과 같은 문자열 [10de:1c81]

PCI ID 찾기 - 다음과 같은 문자열 [10de:1c81]

KVM을 사용하여 Linux에서 PCI GPU 패스스루 설정을 스크립트하려고 합니다. 다음을 통해 pci 장치 ID를 찾아야 합니다.

root@kvmatrix:~# lspci -nn | grep VGA | grep NVIDIA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050] [10de:1c81] (rev a1)

이 부분만 생성하기 위해 다른 "grep"을 추가하고 싶습니다.

10de:1c81

답변1

어떤 유형의 장비를 구입하고 싶은지 알고 있으면 해당 장비를 사용하는 것이 더 쉬울 수 있습니다. 이 경우 "VGA Controller"는 클래스이므로 다음에 대한 정보만 제공한다는 것을 0300알 수 있습니다 .lspci

$ lspci -nd::0300|egrep -o "[[:xdigit:]]{4}:[[:xdigit:]]{4}"

이는 egrep검색이므로 을 사용할 수도 있습니다 grep -E. 단 하나의 항목만 일치하므로 xxxx:xxxx( x16진수), 그것이 제가 일치한 것입니다.

일치할 수 있는 카드가 여러 개 있고 nVidia 카드만 원하는 경우 lspci -nd10de::0300해당 공급업체로만 제한할 수 있습니다.

답변2

이 시도:

lspci -nn  | grep -oP 'VGA.*NVIDIA.*\[\K[\w:]+'

-P또는 더 이식성이 뛰어남(일부 오래된 Linux 운영 체제에는 스위치가 없음 )

lspci -nn  | perl -lne 'print $& if /VGA.*NVIDIA.*\[\K[\w:]+/'

산출:

10de:1c81

라이브 데모오른쪽에 설명이 있어요

답변3

사용discover:하드웨어 감지 유틸리티

discover --vendor-id --model-id pci | grep NVIDIA | uniq | awk '{print $1":"$2}'

예제 출력:

10de:1c81

관련 정보