USB 외장하드를 설치하려고 합니다. 특히 USB 키입니다. 그러나 udev
드라이브의 파티션은 표시되지 않습니다.
나는 기본 커널, 즉 4.19.0-6-amd64
.
fdisk
보고서
root@orwell:/mnt# fdisk -l /dev/sdh
Disk /dev/sdh: 1.9 GiB, 2001076224 bytes, 3908352 sectors
Disk model: Cruzer Blade
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x03b1e8fa
Device Boot Start End Sectors Size Id Type
/dev/sdh1 2048 3908351 3906304 1.9G b W95 FAT32
하지만 파티션을 마운트하려고 하면
root@orwell:/mnt# mount -t vfat /dev/sdh1 joseph
mount: /mnt/joseph: special device /dev/sdh1 does not exist.
이는 그다지 관련성이 없을 수 있지만 파티션에도 UUID가 없는 것으로 보입니다. 적어도 장치는 blkid
.
journalctl
장치가 연결되면 다음 로그가 표시됩니다.
Nov 06 19:01:09 orwell kernel: usb 1-1: new high-speed USB device number 6 using ehci-pci
Nov 06 19:01:09 orwell kernel: usb 1-1: New USB device found, idVendor=0781, idProduct=5567, bcdDevice= 1.00
Nov 06 19:01:09 orwell kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 06 19:01:09 orwell kernel: usb 1-1: Product: Cruzer Blade
Nov 06 19:01:09 orwell kernel: usb 1-1: Manufacturer: SanDisk
Nov 06 19:01:09 orwell kernel: usb 1-1: SerialNumber: 20063486020EF1B285D3
Nov 06 19:01:09 orwell kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Nov 06 19:01:09 orwell kernel: scsi host11: usb-storage 1-1:1.0
Nov 06 19:01:09 orwell mtp-probe[30090]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1"
Nov 06 19:01:09 orwell mtp-probe[30090]: bus: 1, device: 6 was not an MTP device
Nov 06 19:01:10 orwell mtp-probe[30094]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1"
Nov 06 19:01:10 orwell mtp-probe[30094]: bus: 1, device: 6 was not an MTP device
Nov 06 19:01:10 orwell kernel: scsi 11:0:0:0: Direct-Access SanDisk Cruzer Blade 1.01 PQ: 0 ANSI: 2
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: Attached scsi generic sg9 type 0
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: [sdh] 3908352 512-byte logical blocks: (2.00 GB/1.86 GiB)
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: [sdh] Write Protect is off
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: [sdh] Mode Sense: 03 00 00 00
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: [sdh] No Caching mode page found
Nov 06 19:01:10 orwell kernel: sd 11:0:0:0: [sdh] Assuming drive cache: write through
Nov 06 19:01:11 orwell kernel: sd 11:0:0:0: [sdh] Attached SCSI removable disk
Nov 06 19:01:11 orwell systemd[1]: Starting [email protected]...
Nov 06 19:01:11 orwell usbmount[30113]: loaded usbmount configurations
Nov 06 19:01:11 orwell usbmount[30114]: usbmount is disabled, see /etc/usbmount/usbmount.conf
Nov 06 19:01:11 orwell systemd[1]: Started [email protected].
Nov 06 19:01:11 orwell audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=usbmount@dev-sdh comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
답변1
어떤 이유로 Linux 커널은 파티션 테이블을 인식하지 못하므로 파티션 테이블이 있어야 한다는 것을 알지 못합니다 sdh1
. (DOS 파티션 테이블을 지원하지 않는 커널을 컴파일하는 것과 같은) 이상한 일을 하지 않는 한, 이것은 . 아마도 파티션 테이블 형식이 커널이 기대하는 것과 정확히 일치하지 않는다는 의미일 것입니다( fdisk
파티션 테이블 구문 분석의 다른 구현이므로 fdisk가 이를 사용할 수 있는 이유일 것입니다). (etc.)를 사용하여 파티션 테이블을 다시 작성하면 fdisk
문제가 해결될 수 있습니다.
그러나 테이블을 다시 쓰지 않고(예: 디스크를 수정하지 않고) 파티션을 마운트하려는 경우 다음 명령을 사용하여 파티션 세부 정보를 커널에 수동으로 제공할 수 있습니다 addpart
.
addpart /dev/sdh 1 2048 3906304
# ^ ^ ^
# partition#────┘ | \
# start sector length (sectors) ← both from fdisk -l output
실행한 후(그리고 udev를 잠시 기다린 후) 하나가 있어야 하며 /dev/sdh1
계속해서 설치할 수 있습니다.