디스크 레이블과 파일 시스템 레이블이 있는 USB가 있습니다. 디스크 라벨을 변경하는 방법을 알고 싶습니다.
디스크 레이블이 없다는 내용을 어디에서나 읽었습니다. 저도 그렇게 생각했는데 그런 게 있는 것 같아요.
이 태그는 어디에 저장되며 어떻게 변경합니까?
#↳ lsblk -o name,mountpoint,label
sda
├─sda1 / debian-root
├─sda3 /home home
└─sda4 [SWAP]
sdd
└─sdd2 /media/user1/extra extra
sde Debian 8.10.0 amd64 1
└─sde1 /media/user1/label1 label1
#↳ ll /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 Jul 23 10:32 label1 -> ../../sde1
lrwxrwxrwx 1 root root 10 Jul 16 14:43 debian-root -> ../../sda1
lrwxrwxrwx 1 root root 9 Jul 23 10:32 'Debian\x208.10.0\x20amd64\x201' -> ../../sde
lrwxrwxrwx 1 root root 10 Jul 22 11:44 extra -> ../../sdd2
lrwxrwxrwx 1 root root 10 Jul 16 14:43 home -> ../../sda3
#↳ /sbin/fdisk -l /dev/sde
Disk /dev/sde: 14.9 GiB, 16025387008 bytes, 31299584 sectors
Disk model: STORE N GO
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: 0x4f71a989
Device Boot Start End Sectors Size Id Type
/dev/sde1 2048 31299583 31297536 14.9G c W95 FAT32 (LBA)
#↳ strings /dev/sde | head -n 7
EFI PART
Apple
Apple_partition_map
Apple_HFS
CD001
Debian 8.10.0 amd64 1
XORRISO-1.4.6 2016.09.16.133001, LIBISOBURN-1.4.6, LIBISOFS-1.4.6, LIBBURN-1.4.6
업데이트: 분할된 테이블이 여러 개 있나요? 그리고 이 문제를 처리하는 규칙은 무엇입니까?
#↳ /sbin/wipefs /dev/sde
DEVICE OFFSET TYPE UUID LABEL
sde 0x8001 iso9660 2017-12-09-22-16-00-00 Debian 8.10.0 amd64 1
sde 0x1fe dos
sde 0x200 gpt
#↳ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
답변1
드라이브의 이전 ISO 버전이 있었던 것 같습니다 dd
. 라벨에는 이를 명확하게 표시하고 있으며,EFI그리고사과이는 슈퍼블록에 있는 문자열에서도 지원됩니다. ISO 파일에는 다양한 시스템에서 부팅할 수 있도록 여러 파티션 테이블이 있습니다(이 블로그 게시물Fedora ISO 이미지에 대한 자세한 설명이 있으며 Debian의 경우에도 비슷합니다. 드라이브를 적절하게 포맷해도 다양한 메타데이터의 남은 부분이 모두 지워졌다고 생각하지 않습니다. 그래서 lsblk
이제 드라이브에 레이블이 붙은 것 같습니다.
이 명령을 실행하려고 시도하면 장치에서 메타데이터(lib)blkid가 보는 것이 표시됩니다(태그가 있는 손상된 iso9660이 있어도 놀라지 않을 것입니다). 그 중 하나만 제거 wipefs /dev/sde
하도록 선택할 수 있습니다. wipefs -o <offset>
태그. 파티션에 데이터가 있는 경우 삭제가 발생하면 안 되는 경우에 대비해 먼저 백업을 만드는 것이 좋습니다. 처음 몇 개의 섹터에 0을 추가하는 것만으로 dd
도 문제가 해결됩니다(그러나 이로 인해 FAT 파일 시스템도 손상됩니다).
나는 Debian 8 ISO를 가지고 놀았고 iso9660을 삭제하지 않고 의도적으로 기존 파티션 테이블을 삭제하면 동일한 결과를 얻습니다.
$ lsblk /dev/loop0 -o+FSTYPE,LABEL
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS FSTYPE LABEL
loop0 7:0 0 163M 0 loop iso9660 Debian 8.10.0 arm64 1
└─loop0p1 259:4 0 162M 0 part vfat label1
label1
(또한 파티션을 레이블이 있는 VFAT로 포맷했습니다.태그 1당신과 같은 설정을 얻으려면)
wipefs
원본 iso9660 및 새로 생성된 파티션 테이블을 보고합니다 .
$ sudo wipefs /dev/loop0
DEVICE OFFSET TYPE UUID LABEL
loop0 0x8001 iso9660 2017-12-10-00-50-50-00 Debian 8.10.0 arm64 1
loop0 0x1fe dos
fdisk에게 기존 형식을 삭제하지 말라고 명시적으로 지시해야 했습니다. --wipe never
기본 동작은 새 파티션 테이블을 생성할 때 모든 것을 삭제하는 것이므로 귀하의 경우에 정확히 무슨 일이 일어나고 있는지는 모르겠지만 안전하게 말할 수 있다고 생각합니다. iso9660 형식은 디스크에서 삭제되지 않습니다. 레이블은 실제로 iso9660 파일 시스템 레이블입니다.
파티션 테이블이 여러 개 있나요? 그리고 이 문제를 처리하는 규칙은 무엇입니까?
네 당신이 그랬어요. DOS 파티션 테이블이 처음이기 때문에 승리했습니다. fdisk --type gpt
DOS 파티션 테이블을 무시하고 나중에 오프셋에서 GPT에 액세스할 수 있도록 하는 GPT를 사용할 수 있습니다 . 그러나 여러 파티션 테이블을 처리하고 싶지 않은 일반 시스템에서는 드라이브를 깨끗하게 닦아 이전 메타데이터를 모두 지우는 것이 좋습니다.