저는 parted를 사용하여 외장 하드 드라이브(sdc)를 ntfs로 포맷하고 기본 파티션(sdc1)을 만들었습니다. 기기를 포맷하기 전에시스템 복구 디스크dd
부팅 가능한 USB로 사용하기 위해 외장 하드 드라이브에 설치하려면 명령을 사용하십시오 . 그러나 장치를 나열할 때 lsblk -f
포맷된 장치(sdc)에 대한 이전 FSTYPE(iso9660) 및 LABEL(sysrcd-5.2.2)이 계속 표시됩니다.
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ntfs System Reserved
├─sda2 ntfs
├─sda3 ntfs
├─sda4
sdc iso9660 sysrcd-5.2.2
└─sdc1 ntfs sysrcd-5.2.2 /run/media/user/sysrcd-5.2.2
그림과 같이 lsblk -f
파티션의 FSTYPE만 sdc1
맞고, sdc1
파티션의 LABEL, sdc
블록디바이스의 FSTYPE과 LABEL은 모두 틀렸다. 노틸러스 GUI 응용 프로그램은 이전 장치 레이블(sysrcd-5.2.2)도 표시합니다.
새 파티션 테이블을 생성한 후 parted
장치를 다음과 같이 포맷하기 전에 시스템을 재부팅하라는 조언을 받았습니다.NTFS, 재부팅하는 대신 sdc를 제거하기로 결정했습니다.
- 시스템을 재부팅하지 않았고 커널이 여전히 이전 FSTYPE 및 LABEL을 사용하고 있기 때문입니까? 이전 FSTYPE 및 LABEL을 제거하려면 시스템을 재부팅해야 합니까?
- 재부팅하는 대신 외부 하드 드라이브와 함께 제공된 원래 FSTYPE 및 LABEL로 변경할 수 있도록 블록 장치의 FSTYPE 및 LABEL 이름을 수동으로 바꾸는 방법이 있습니까?
답변1
원본 게시물의 출력에 따르면 lsblk -f
설치된 SystemRescueCd의 서명이 외장 하드 드라이브에 여전히 존재하는 것으로 의심됩니다. 그래서 명령을 실행 하고 모든 파티션에 대한 정보를 wipefs /dev/sdc
인쇄했습니다 .wipefs /dev/sdc1
sdc
sdc
[root@fedora user]# wipefs /dev/sdc
DEVICE OFFSET TYPE UUID LABEL
sdc 0x8001 iso9660 sysrcd-5.2.2
sdc 0x1fe dos
[root@fedora user]# wipefs /dev/sdc1
DEVICE OFFSET TYPE UUID LABEL
sdc1 0x3 ntfs
sdc1 0x1fe dos
위의 인쇄물은 iso9660
SystemRescueCd에 의해 생성된 파티션 테이블이 여전히 존재함을 확인합니다. dos(마스터 부트 레코드) lsblk
파티션 테이블 대신 파티션 테이블의 합계를 사용합니다 . TYPE
올바른 파티션 테이블을 표시하려면 파티션 테이블을 삭제해야 합니다. 블록(디스크) 장치의 파티션 테이블 서명을 지우는 데에도 사용할 수 있지만 다른 파티션 테이블도 지울 수 있습니다.LABEL
iso9660
lsblk
iso9660
dd
dd
삭제 를 위해 특정 파티션 테이블 서명만을 대상 으로 하기 때문에 이것이 선호됩니다 wipefs
. 이 명령에 대한 옵션은 장치에서 사용 가능한 모든 서명을 지우지만 이 옵션과 함께 사용할 경우 이 명령에 대한 옵션은 특정 유형의 파티션 테이블만 지우도록 서명을 제한합니다. 다음으로 파티션 테이블을 지웁니다 . () 옵션은 블록 장치에서 파티션 테이블 서명을 지울 때 필요합니다 .dd
wipefs
-a
wipefs
-t
wipefs
-a
iso9660
-f
--force
[root@fedora user]# wipefs -a -t iso9660 -f /dev/sdc
/dev/sdc: 5 bytes were erased at offset 0x00008001 (iso9660): 43 44 30 30 31
파티션 테이블을 삭제 한 후 iso9660
파티션 테이블을 다시 확인하여 파티션 테이블이 iso9660
삭제되었는지 확인합니다.
[root@fedora user]# wipefs /dev/sdc
DEVICE OFFSET TYPE UUID LABEL
sdc 0x1fe dos
[root@fedora user]# wipefs /dev/sdc1
DEVICE OFFSET TYPE UUID LABEL
sdc1 0x3 ntfs 34435675G36Y4776
sdc1 0x1fe dos
그러나 이제 문제의 파티션 테이블이 iso9660
삭제되었으므로 이전에 사용된 파티션 테이블 레이블이 더 이상 존재하지 않으므로 파티션의 파티션이 lsblk
이제 UUID
마운트 지점 디렉터리 이름으로 사용됩니다.iso9660
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ntfs System Reserved
├─sda2 ntfs
├─sda3 ntfs
├─sda4
sdc
└─sdc1 ntfs 34435675G36Y4776 /run/media/user/34435675G36Y4776
/dev/disk/by-label
레이블이 지정된 모든 파티션을 나열하는 디렉터리에서 레이블이 지정된 볼륨(예: 파티션)을 확인할 수 있습니다 .
[root@fedora user]# ls -l /dev/disk/by-label
total 0
lrwxrwxrwx. 1 root root 10 Apr 30 19:47 'System\x20Reserved' -> ../../sda1
ntfs
이 파티션의 파일 시스템은 sda1
레이블이 있는 유일한 파티션 입니다.
ntfs
마운트 지점의 디렉터리 이름을 더 쉽게 이해할 수 있도록 sdc1
파티션의 파일 시스템 레이블을 None(빈 문자열)에서 "new label"로 변경합니다. 파일 시스템 레이블을 변경하는 명령은 파일 시스템에 따라 다릅니다.12. 파일 시스템 의 경우 ntfs
레이블 변경은 다음 명령을 사용하여 수행됩니다 ntfslabel
.
ntfslabel /dev/sdc1 "new-label"
ntfs
이제 파일 시스템의 레이블을 변경한 후 디렉터리 이름을 마운트 지점으로 lsblk
사용합니다 ."new-label"
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ntfs System Reserved
├─sda2 ntfs
├─sda3 ntfs
├─sda4
sdc
└─sdc1 ntfs new-label /run/media/user/new-label
참고: 또한 이 장치에는 sdc
더 이상 다른 모든 블록 장치(예: sda)와 같은 파일 시스템 유형 및 레이블이 없습니다. 파일 시스템은 장치가 아닌 파티션에 있으므로 파티션에만 파일 시스템 유형이 있어야 하며, 열 헤더는 LABEL
장치 레이블이 아니라 파일 시스템 레이블이기 때문에 파티션에만 레이블이 있어야 합니다.
답변2
파티션 테이블을 루트로 다시 읽어보셨나요?
partprobe /dev/sdc
답변3
lsblk
첫 번째 섹터를 먼저 검사하여 장치에 어떤 유형의 파일 시스템이 포함되어 있는지 확인하고 아무것도 발견되지 않는 경우에만 파일 시스템 수퍼 블록의 "일반적인" 위치로 이동합니다.
iso9660은 첫 번째 섹터의 데이터에서 식별할 수 있으므로 lsblk
더 이상 살펴보지 않고 여기에서 볼륨 레이블을 추출합니다.
단순히 파티션 테이블을 생성하면 첫 번째 섹터의 대부분이 그대로 유지되므로 이 내용이 표시됩니다.
예를 들어 먼저 첫 번째 섹터를 지운 dd if=/dev/zero of=/dev/sdc count=1
다음 파티션 테이블을 다시 만들어야 합니다. 이전에 만든 NTFS 파일 시스템은 동일한 매개 변수를 사용하여 다시 만들 경우 그대로 유지됩니다.