Ubuntu에서는 서로 다른 블록 장치(예: 외장 하드 디스크 및 플래시 드라이브)가 동일한 장치 파일(예: )로 표시되더라도 자동으로 서로 다른 마운트 지점(예: 및 ) /dev/sdb1
에 마운트됩니다 . 이것이 어떻게 달성됩니까? Ubuntu는 어떻게 각 장치의 "이름"을 알고 해당 "이름"을 사용하여 마운트 지점의 이름을 지정합니까? ( 이러한 플러그인 장치는 포함되어 있지 않습니다.)/media/b/mydrive
/media/b/myflashdrive
/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에 의해 수행되며 UDisk는 항상 (Ubuntu에서) 형식의 마운트 지점을 생성합니다 /media/<user>/<unique_id>
. 마지막 부분은 파일 시스템 레이블이거나 파일 시스템에 레이블이 없는 경우 UUID입니다. 이동식 디스크와 드라이브는 일반적으로 미리 포맷되어 있으며 파티션에는 공급업체에서 레이블을 지정합니다(예를 들어 내 Kingston 플래시 드라이브에는 VFAT 파티션 레이블이 있습니다 KINGSTON
).
를 사용하여 장치의 태그(및 UUID)를 얻을 수 있습니다 lsblk -f
.
GUI를 통하지 않고 장치를 수동으로 설치하고 동일한 효과를 얻으려면 를 사용할 수 있습니다 udisksctl mount -b /dev/sdb1
.
(향후) 자동 마운트를 사용하는 경우 대신 fstab
항상 UUID( )를 사용해야 합니다 .UUID=
/dev/sdb1