Storage

意外的磁碟標籤

  • July 23, 2022

我有一個帶有磁碟標籤和文件系統標籤的 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/"

我猜這個驅動器以前有一個 ISOdd版本。標籤明確表明,超級塊中的EFIApple字元串也支持這一點——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

(我還使用標籤label1將分區格式化為 VFAT以獲得與您相同的設置)

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。但是在普通系統上,您不想處理多個分區表,我建議您只需擦除驅動器即可擺脫所有以前的元數據。

引用自:https://unix.stackexchange.com/questions/710981