意外的磁盘标签

意外的磁盘标签

我有一个带有磁盘标签和文件系统标签的 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

我猜测该驱动器之前有 ISOdd版本。标签明确表明了这一点,并且电喷苹果在超级块中找到的字符串也支持这一点——ISO 文件上有多个分区表,以允许在不同的系统上启动(这篇博文对于 Fedora ISO 镜像有一个很好的详细解释,对于 Debian 来说是类似的)。我认为格式化驱动器并没有正确擦除各种元数据的所有残留物,这就是为什么lsblk现在认为它上面有一个标签。

尝试运行wipefs /dev/sde此命令将显示元数据 (lib)blkid 在设备上看到的内容(如果存在带有标签的损坏的 iso9660,我不会感到惊讶),然后您可以选择仅删除其中一个以wipefs -o <offset>摆脱标签。如果您的分区上有一些数据,我建议您先进行备份,以防擦除不应该​​发生的情况。只需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 。但在普通系统上,您不想处理多个分区表,我建议将驱动器擦拭干净以清除以前的所有元数据。

相关内容