필수 HDD 장치 목록(내 OS HDD 제외)

필수 HDD 장치 목록(내 OS HDD 제외)

내 시스템에 연결된 OS 실행 장치를 제외한 전체 HDD 장치를 나열하고 싶습니다. 저는 인터넷 검색을 많이 했고 Linux 명령줄에서 더 많은 명령을 실행했습니다. 그러나 올바른 출력을 게이트할 수 없습니다.

하나의 명령으로 내 OS 장치를 포함한 모든 장치를 제공할 수 있습니다.

fdisk -l 2>/dev/null | grep "Disk \/" | grep -v "\/dev\/md" | awk '{print $2}' | sed -e 's/://g'

산출:

/dev/sda
/dev/sdb
/dev/sdc

"OS HDD"란 파일 시스템 파티션을 보유하는 하드 드라이브를 의미합니다 /.

답변1

df /루트 파일 시스템이 상주하는 블록 장치를 표시합니다. 다음과 같이 구문 분석할 수 있습니다.

root_device=$(df -P / | awk 'NR!=1 {print $1}')

LVM 또는 RAID 없이 PC 파티셔닝을 사용하는 경우 루트 장치는 /dev/hdZ9또는 /dev/sdZ9where Z는 디스크를 지정하는 소문자이고 는 9파티션을 지정하는 숫자입니다. 다음과 같이 디스크 부분을 추출할 수 있습니다.

root_disk=${root_device#[0-9]}; root_disk=${root_disk#[0-9]}

디스크 및 기타 블록 장치의 전체 목록은 에서 찾을 수 있습니다 /sys/block.

RAID, LVM 등을 사용하면 매우 복잡해질 수 있습니다. 프로그램이 무엇을 하든, 생각하지 못한 하드웨어 구성에서는 작동하지 않을 것입니다. 따라서 철저한 오류 검사를 구현해야 합니다.

관련 정보