意外的磁碟標籤
我有一個帶有磁碟標籤和文件系統標籤的 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/"
我猜這個驅動器以前有一個 ISO
dd
版本。標籤明確表明,超級塊中的EFI和Apple字元串也支持這一點——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。但是在普通系統上,您不想處理多個分區表,我建議您只需擦除驅動器即可擺脫所有以前的元數據。