
Ubuntu에서는 서로 다른 블록 장치(예: 외장 하드 드라이브 및 플래시 드라이브)가 동일한 장치 파일(예: /dev/sdb1
)로 차례로 표시되더라도 자동으로 서로 다른 장착 지점(예: /media/b/mydrive
및 /media/b/myflashdrive
)에 마운트됩니다. 그것은 어떻게 달성됩니까? Ubuntu는 어떻게 각 장치의 "이름"을 알고 해당 "이름"을 사용하여 장착 지점의 이름을 지정합니까? ( /etc/fstab
이러한 플러그인 장치에는 적용되지 않습니다.)
어떻게 시뮬레이션할 수 있나요? 블록 장치를 수동으로 마운트할 때 다음을 실행합니다.
sudo mkdir /media/b/mountingpoint1
sudo mount -t ntfs /dev/sdb1 /media/b/mountingpoint1
sudo umount /media/b/mountingpoint1
sudo rmdir /media/b/mountingpoint1
장치를 분리한 다음 다른 블록 장치를 연결하면 새 장치는 다시 동일한 장치 파일로 표시되며 /dev/sdb1
위 명령은 이를 동일한 장착 지점에 마운트합니다 /media/b/mountingpoint1
. 장치마다 장착 지점의 이름을 다르게 지정하는 방법이 필요합니다.
답변1
동일한 장치 파일(예: /dev/sdb1)로 표시됩니다.
비결은 그들이~ 아니다동일한 장치 파일로 표시: 커널에서 관리하는 문자와 숫자가 포함된 기본 장치 파일 외에도 /dev/disk/by-*
파일 시스템의 볼륨 이름, 하드 드라이브의 공급업체 및 모델이 포함된 심볼릭 링크도 있습니다. 또는 장치 경로입니다.
그리고 내부에서 사용해야 하는 것은 심볼릭 링크 입니다 /etc/fstab
./dev/sdb1
답변2
(예:
/media/b/mydrive
및/media/b/myflashdrive
). 그것은 어떻게 달성됩니까? Ubuntu는 어떻게 각 장치의 "이름"을 알고 해당 "이름"을 사용하여 장착 지점의 이름을 지정합니까? (/etc/fstab
이러한 플러그인 장치에는 적용되지 않습니다.)
이동식 장치의 마운트는 UDisk에 의해 수행되며 이는 항상 (Ubuntu에서) 형식인 마운트 지점을 생성합니다 /media/<user>/<unique_id>
. 마지막 부분은 파일 시스템 레이블이거나 파일 시스템에 레이블이 없는 경우 UUID입니다. 이동식 디스크와 드라이브는 일반적으로 미리 포맷되어 있으며 파티션은 공급업체에서 라벨을 붙였습니다(예: 내 Kingston 플래시 드라이브에는 로 라벨이 붙은 VFAT 파티션이 있습니다 KINGSTON
).
를 사용하여 장치의 레이블(및 UUID)을 얻을 수 있습니다 lsblk -f
.
GUI가 아닌 수동으로 장치를 마운트하고 동일한 효과를 얻으려면 를 사용할 수 있습니다 udisksctl mount -b /dev/sdb1
.
그리고 (향후) 자동 마운트에 를 사용한다면 항상 . 대신 fstab
UUID( )를 사용해야 합니다 .UUID=
/dev/sdb1