내 /etc/fstab
에는 다음이 포함됩니다.
# / was on /dev/sda1 during installation UUID=77d8da74-a690-481a-86d5-9beab5a8e842 / ext4 errors=remount-ro 0 1
이 시스템에는 다른 디스크가 여러 개 있으며 모든 디스크가 올바른 위치에 마운트되지는 않습니다 (예 : / dev / sda1 및 / dev / sdb1이 때때로 반전 됨).
어떻게 할 수 있습니까? 내 시스템의 모든 디스크에 대한 UUID가 표시됩니까? 이 시스템에서 세 번째 디스크의 UUID를 볼 수 있습니까?
댓글
- @setzamora 대답이 더 좋습니다. 수락 된 답변을 변경하세요.
답변
/dev/disk/by-uuid
각 드라이브의 UUID를 /dev
의 항목에 매핑하는 심볼릭 링크입니다 (예 : /dev/sda1
)
댓글
- ‘ LVM 파티션에서는 읽을 수 없습니다.
- LVM은 이미 긴 UUID와 유사한 식별자를 사용합니다 (하지만 LVM과 함께 파일 시스템 UUID를 사용하는 유일한 이유는 LVM이 이미 LV를 사람에게 친숙한 이름으로 매핑하기 때문에 일종의 자동화를위한 통합 인터페이스 때문이라고 생각합니다.
-
ls -lha /dev/disk/by-uuid
- 참고 용으로 결과가 변경되었으며
blkid
와는 달라서 우승 ‘ 부팅에 적합하지 않음 : i.imgur.com/ocgoi3g.png - 나는 자주 특히 blkid가 SU 권한을 필요로하기 때문에이 접근 방식입니다. 그러나
안타깝게도 정보가 훨씬 적고 경우에 따라 문제가 발생할 수 있습니다. 나를 위해 이것은 다른 파티션이 uuid를 공유하기 때문에 RAID 및 btrfs 볼륨으로 작업하고 있었지만 심볼릭 링크에는 각 UUID에 대해 하나의 항목 만 있습니다 …
Answer
blkid
라는 도구가 있습니다 (루트로 사용하거나 sudo
와 함께 사용). ,
# blkid /dev/sda1 /dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"
자세한 내용은 이 링크 를 확인하세요.
댓글
- 사소한 댓글입니다.
disk
그룹의 회원 인 것 같습니다. ; 전체 수퍼 유저 권한이 필요하지 않습니다. - UUID 만 만 원하는 경우 (예 : 스크립트에서 구문 분석)
blkid /dev/sda1 -s UUID -o value
. - 빠른 설명 : 내 배포판 (Debian 8)에서 UUID와 ” PARTUUID “, 다소 혼란 스럽습니다. 하나의 값만 제공하는 {lsblk} 명령을 사용했습니다.
- 모든 드라이브를 나열하기 위해
blkid /dev/sd*
를 선호하지만 많은 시간이 소요됩니다. 뱉어내는 정보는 일반적으로 필요한 드라이브를 찾는 데 충분합니다. 🙂 - GPT 파티션 디스크의 PARTUUID는 파티션의 파일 시스템이 아니라 파티션의 GPT UUID입니다. 파일 시스템이 아직 생성되지 않은 경우 유용 할 수 있습니다. MBR 파티션 디스크에서 PARTUUID는 실제 UUID가 아니라 단순히 MBR의 Windows 디스크 서명 + 대시 + 파티션 번호입니다.
답변
사용하기 가장 좋은 명령은 lsblk -f
입니다. 동일한 드라이브에서 LVM, crypto_LUKS 또는 여러 볼륨 그룹을 사용하는 경우 모든 장치 및 파티션, 마운트 방법 (해당하는 경우) 및 장치의 트리 구조를 나열합니다.
댓글
- 가장 철저하고 진정한 원 스톱 방법입니다.
- 추가 : sudo를 넣어야했습니다. 그렇지 않으면 파티션의 UUID를 가져올 수없고 열이 비어 있습니다.
-
df --output=source MYFILE | tail -n1 | xargs lsblk -o uuid
답변
특정 디스크 장치의 UUID
만 가져 오려면 (예 : 스크립트) 다음을 사용할 수 있습니다.
sudo blkid -s UUID -o value /dev/sdXY
여기서 /dev/sdXY
는 기기의 이름입니다.
댓글
- 이 댓글이 ‘ 인기 댓글이 아닌 이유를 잘 모르겠습니다.
답변
저에게 적합합니다.
ls -la /dev/disk/by-uuid
파티션의 유형을 확인하려면 다음을 사용하십시오.
df -Th
그러면 ext3 또는 ext2가 있는지 표시됩니다. 오늘은 포맷 된 ext2 파티션이 있고 ext3로 인해 마운트가 실패했다고 생각했기 때문에 도움이되었습니다.
댓글
- 당신 항상
mount -t auto /dev/sda1 /media/sda1
를 시도 할 수 있습니다.
Answer
lsblk -o +uuid,name
-o
(--output
)에 추가 할 수 있습니다.
lsblk --help
또한이 작업을 수행합니다.
# blkid
댓글
- Isn ‘ t
name
가 기본적으로 인쇄됩니까? - 그렇습니다. 교육 목적으로 만 추가했습니다 (원하는 필드를 구분하려면 쉼표 추가)
답변
이전 여러 기기 또는 UUID가 동일한 기기에서는 답변이 작동하지 않습니다.
다음을 시도해보세요.
sudo blkid /dev/sd*
댓글
- 정말? 가장 많이 득표 한 답변이 작동하지 않습니까?
- UUID (Universally Unique Identifier)는 항상 고유해야합니다. UUID의 전체 목적은 보편적으로 고유 한 것입니다. 그렇지 않은 경우 ‘ 문제가 있습니다. 복제 된 VM에서 복제 된 UUID (최소한 네트워크 장치 용)를 보았습니다.
-
dd
명령을 사용하여 파티션을 복제하면 복사본에 동일한 uuid와 네, 그게 문제입니다. 여기에있는 다른 답변은 ‘이를 표시하지 않습니다.
답변
다음 명령 줄을 사용하여 UUID와 파티션 매핑을 볼 수 있습니다.
ls /dev/disk/by-uuid -lt lrwxrwxrwx 1 root root 10 Sep 1 18:51 57eacf4e-1940-436e-b945-85f8d4833aa5 -> ../../sda2 lrwxrwxrwx 1 root root 10 Sep 1 18:51 656f4cae-8527-43a0-a80f-00ac82818744 -> ../../sda1 lrwxrwxrwx 1 root root 9 Sep 1 18:51 d627595d-4060-440e-8380-a1fe9f3f2a81 -> ../../md0 lrwxrwxrwx 1 root root 10 Sep 1 18:51 0dfd6dfe-1852-460d-852c-676a5b9035ed -> ../../sda4 lrwxrwxrwx 1 root root 10 Sep 1 18:51 b1ddf850-8f81-429f-a653-38ae4a4ebb6f -> ../../sda3 lrwxrwxrwx 1 root root 9 Sep 1 18:51 b4b729f7-5699-411c-8f5a-424bbc7c89fc -> ../../sdb
설명
- sda의 uuid를 볼 수있는 이유
- 파티션 당 파일 시스템에 대해 하나의 UUID가 있습니다. sda에는 4 개의 파티션이 있으므로 4 개의 UUID가 있습니다. wiki.debian.org/Part-UUID
답변
당신과 같은 문제가 있습니다 : 재부팅 후 /dev/sd**
의 커널로 이름 변경 :
물론
는 LABEL 또는 UUID에 의해 참조되므로 기본적으로 문제가 없습니다. 위의 모든 명령 인 blkid 또는 lsblk는 이런 종류의 정보를 제공합니다.
하지만 문제는 현재 부팅 된 시스템 지점에서 RAW 모드로 파티션을 사용할 때 제 경우처럼 시작됩니다. 보기 : 예 : 파티션이 원시 장치로 사용되어 VirtualBox 용 가상 디스크를 만들거나 (따라서이 파티션에 대한 참조는 /dev/sdf3
와 같음) 파티션이 사용됩니다. 원시 장치로 iSCSI 용 LUN을 만들기 위해 (따라서이 파티션에 대한 참조는 다음과 같습니다. /dev/sdc6
)
그래서 이제 boot에서 예를 들어 rc .local, 신뢰할 수있는 방식으로 전용 RAW 파티션의 /dev/sdXX
장치를 찾고 일부 파일을 조정해야합니다.
예 1
이 원시 디스크에 대한 VirtualBox 디스크 * .vmk 설명 (다음과 같은 부분) :
\# Extent description RW 488397167 FLAT "/dev/sdXX" 0
그런 다음 VirtualBox 서비스를 다시 시작합니다.
EXAMP LE 2
tgtd 구성에서 대상 : target0이 빌드시 /dev/sdd6
에 연결되었습니다. 재부팅 후 동일한 파티션 이름이 /deb/sdc6
로 변경됩니다. 이는 이동식 디스크, USB 또는 eSATA에서 발생합니다! 그렇다면 새 장치를 자동으로 찾는 방법은 무엇입니까? 다시 /etc/rc.d/rc.local
이 경우 새로운 장치 이름이 무엇인지 찾기 위해 신뢰할 수있는 방법이 필요합니다. GPT 파티션은 GPT 테이블에 작성된 모든 GPT 파티션에 대해 고유 한 GUID를 제공합니다.
gdisk는이 정보를 나열 모드로 제공하지 않고 대화 형 모드에서만 i 명령으로 제공합니다. 다행히도 blkid가 그렇게합니다!
따라서 GUID에 연결된 장치 인 /dev/sdXX
인 모든 디스크를 확인하려면 셸 스크립트를 작성해야합니다. 파티션 생성시 발견되었습니다.
예 : search_device_by_partUUID.sh :
\#!/bin/bash PART_UUID=$1 if [ "$PART_UUID" = "" ] then echo "Syntax: $0 <a valid partition UUID>" exit 3 fi lsblk | grep "^sd" | awk "{print $1}" | while read DISK_DEVICE do INFO=`blkid /dev/${DISK_DEVICE}* | grep "PARTUUID=\"$PART_UUID\"" ` if [ "$INFO" != "" ] then echo INFO : "$INFO" BLK_DEVICE=`echo "$INFO" | awk "{print $1}"` echo $BLK_DEVICE > /dev/shm/blkdevice echo -n "BLK_DEVICE : " ; cat /dev/shm/blkdevice fi done
그런 다음 /dev/shm/blkdevice
, rc.local 스크립트에 있습니다.
답변
하드 디스크 파티션의 uuid를 보려면 Linux CD로 시스템을 부팅하고 내 컴퓨터 마운트로 이동하여보고 싶은 파티션을 클릭합니다. Linux 파티션의 uuid 번호가 표시됩니다.
Linux CD 부팅 후 Linux 디스크 유틸리티를 실행하여 디스크 uuid를 볼 수도 있습니다.
설명
- 내용 ‘의 ” 내 컴퓨터 마운트 “? 그리고 ‘의 ” Linux 디스크 유틸리티 “는 gnome-disk-utility처럼 들립니다. aka Disks?
Answer
이러한 경우 / dev / disk / by-partuuid를 확인해야합니다. 각 드라이브의 PARTUUID를 / dev / sdb1 등의 항목에 매핑하는 심볼릭 링크가 있습니다.