為什麼 lsblk 顯示已格式化設備的舊 FSTYPE 和 LABEL?
我使用 parted 將外部硬碟驅動器 (sdc) 格式化為 ntfs,創建了一個主分區 (sdc1)。在格式化設備之前,使用命令將SystemRescueCd安裝在外部硬碟驅動器上
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
只有分區的FSTYPEsdc1
是正確的,sdc1
分區LABEL、sdc
塊設備FSTYPE和LABEL是錯誤的。nautilus GUI 應用程序還顯示舊設備標籤 (sysrcd-5.2.2)。創建新分區表後,
parted
建議我在將設備格式化為ntfs之前重新啟動系統,但我決定解除安裝 sdc 而不是重新啟動。
- 會不會是因為我沒有重啟系統,核心還在使用舊的 FSTYPE 和 LABEL?我是否必須重新啟動系統才能擺脫舊的 FSTYPE 和 LABEL?
- 作為重新啟動的替代方法,有沒有辦法手動重命名塊設備的 FSTYPE 和 LABEL,以便我可以將它們更改為外部硬碟驅動器隨附的原始 FSTYPE 和 LABEL?
從原始文章的輸出中
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 創建的分區表仍然存在。lsblk
正在使用分區表的TYPE
andLABEL
而iso9660
不是dos(主引導記錄)分區表。要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
從無(空字元串)更改為“新標籤”。更改文件系統標籤的命令取決於文件系統1 2。對於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
是文件系統標籤而不是設備標籤。