장치 노드가 /dev/sda 대신 /dev/sda1이 되도록 USB 스틱을 어떻게 수정합니까?

장치 노드가 /dev/sda 대신 /dev/sda1이 되도록 USB 스틱을 어떻게 수정합니까?

fat32 형식의 USB 스틱에 대한 udev 규칙이 있습니다. 규칙에는 다음 속성이 포함되어 있습니다.

SUBSYSTEM=="block", KERNEL=="sd?1", ...

일반적으로 지금까지 테스트한 USB 스틱에서는 잘 작동합니다. 왜냐하면 대부분의 USB 스틱은 장치 노드에서 /dev/sda1또는 로 표시되기 때문입니다 /dev/sdb1.

이제 장치 노드가 있는 특정 USB가 있습니다 /dev/sda. 해당 USB 스틱에 대한 명령은 blkid다음 출력을 반환합니다.

/dev/sda: UUID="AC9E-6C58" TYPE="vfat"

일반( )에 비해 이 속성이 /dev/sda1그리워졌습니다 .PARTUUID

또한 이 명령은 sfdisk -l /dev/sda다음 출력을 반환합니다.

Disk /dev/sda: 1021 cylinders, 247 heads, 62 sectors/track
Units: cylinders of 7840768 bytes, blocks of 1024 bytes, counting from 0
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0       -       0          0    0  Empty
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

해당 USB 라인 /dev/sda1에는 0이 있습니다 . 그러나 일반 USB 플래시 드라이브에는 다음 항목이 있습니다.

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+   2703-   2704-   7835620    b  W95 FAT32
            start: (c,h,s) expected (0,1,11) found (0,0,57)
            end: (c,h,s) expected (1023,125,46) found (975,125,46)
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

기반논의하다, 이는 USB 플래시 드라이브에 파티션 테이블이 없음을 의미합니다.

udev 규칙을 변경하고 싶지 않은 경우 이 USB 드라이브를 어떻게 수정합니까? Windows 도구 또는 Gparted를 사용한 일반적인 재파티셔닝은 이 레이아웃을 변경하지 않습니다.

파티션 레이아웃을 변경할 수 없는 경우 /dev/sda 또는 /dev/sda1에서 인식되는 USB 스틱을 처리할 수 있도록 udev 규칙을 어떻게 변경합니까?

감사해요.

업데이트: 혼동을 피하기 위해 "설치"라는 용어를 "장치 노드"로 변경했습니다. 고마워요 오스틴.

답변1

USB 스틱에 저장해야 할 데이터가 없는데 데이터가 표시되면 /dev/sda루트로 다음 명령을 실행하세요.

wipefs -a /dev/sda

이렇게 하면 장치에서 FAT32 서명(및 기타 파일 시스템 서명)이 제거되어 장치가 비어 있는 것처럼 보이게 되며, 이 시점에서 장치를 다시 포맷할 때 GParted와 Windows 디스크 관리자가 모두 파티션 테이블을 생성해야 합니다.

또한 용어를 명확히 하기 위해 커널은 장치를 장치에 "마운트"하지 않고 /dev장치와 상호 작용하는 데 사용할 수 있는 장치 노드를 생성합니다(그러나 udev가 있는 경우 커널 대신 장치 노드를 생성할 수 있음). ), 그러나 Mounting은 구체적으로 장치 노드가 생성될 때 파일 시스템의 작업(보다 구체적으로 "mounting)을 의미합니다.

답변2

Windows의 또 다른 솔루션은 다음을 사용하는 것입니다 diskpart.

  1. USB 메모리 스틱 제거
  2. Windows 터미널을 실행하거나 cmdWindows 시작 검색 필드에 입력하세요.
  3. 새 DiskPart 창에 입력 diskpart하고 list disk현재 장치를 보려면 입력하세요.
  4. U 디스크를 연결하고 다시 실행하여 list diskU 디스크의 올바른 디스크 번호를 관찰하십시오.
  5. 유형 select disk=<number>. <number>재설정하려는 USB 스틱의 디스크 번호로 바꾸십시오 .
  6. 실행 clean한 다음 convert mbrUSB 드라이브에 새 파티션 테이블을 만듭니다.
  7. create partition primary명령을 실행하여 새 기본 파티션을 생성합니다.

관련 정보