Linux 變更磁碟標簽、磁碟名稱 (label)

Linux變更磁碟標簽時必需要注意的是檔案系統,每種檔案系統用到的變更工具名稱是不同的,以下幾個常用的檔案系統:EXT2/3/4、FAT、NTFS來介紹,不過使用前先確認檔案系統為何?
已mount
df
在終端機下執行df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
df -T | awk '{print $1,$2,$NF}' | grep "^/dev"`
/dev/sda1 ext4 /
mount
使用mount列出已mount的磁碟並配合grep過濾內容,終端機下執行mount | grep "^/dev"
mount | grep "^/dev"
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/docker/devicemapper type ext4 (rw,relatime,data=ordered
未mount
lsblk
在終端機下執行sudo lsblk -f
lsblk -f
sda
├─sda1 ext4 d8223078-0def-4914-b5ef-21258619e690 /
├─sda2
└─sda5 swap 4eda73c4-393b-4038-8d2f-1001c84141c5 [SWAP]
sdb
├─sdb1 ntfs 系統保留 0006F1BA06F1B130
└─sdb2 ntfs SYSC 2C96F5C696F59116
sdc
└─sdc1 ntfs T16G-NTFS 231B14DE2178C2F2
blkid
執行sudo blkid
/dev/sdb1: LABEL="M-gM-3M-;M-gM-5M-1M-dM-?M-^]M-gM-^UM-^Y" UUID="0006F1BA06F1B130" TYPE="ntfs" PARTUUID="57910ec1-01"
/dev/sdb2: LABEL="SYSC" UUID="2C96F5C696F59116" TYPE="ntfs" PARTUUID="57910ec1-02"
/dev/sda1: UUID="d8223078-0def-4914-b5ef-21258619e690" TYPE="ext4" PARTUUID="5e3451d5-01"
/dev/sda5: UUID="4eda73c4-393b-4038-8d2f-1001c84141c5" TYPE="swap" PARTUUID="5e3451d5-05"
/dev/loop0: UUID="7bf296ce-23bc-403c-870b-5d977be1ffa9" TYPE="xfs"
/dev/mapper/docker-8:1-4063885-pool: UUID="7bf296ce-23bc-403c-870b-5d977be1ffa9" TYPE="xfs"
/dev/sdc1: LABEL="T16G-NTFS" UUID="231B14DE2178C2F2" TYPE="ntfs" PTTYPE="dos" PARTUUID="c3072e18-01"
file
使用file -sL /dev/sd*,配上萬用字元可以查看所有/dev/sd開頭的磁碟
file -sL /dev/sd*
sudo file -sL /dev/sd*
/dev/sda: DOS/MBR boot sector
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=d8223078-0def-4914-b5ef-21258619e690 (needs journal recovery) (extents) (large files) (huge files)
/dev/sda2: DOS/MBR boot sector; partition 1 : ID=0x82, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 63, 19604340 sectors, extended partition table (last)
/dev/sda5: Linux/i386 swap file (new style), version 1 (4K pages), size 2450541 pages, no label, UUID=4eda73c4-393b-4038-8d2f-1001c84141c5
/dev/sdb: DOS/MBR boot sector MS-MBR Windows 7 english at offset 0x163 "Invalid partition table" at offset 0x17b "Error loading operating system" at offset 0x19a "Missing operating system", disk signature 0x57910ec1; partition 1 : ID=0x7, active, start-CHS (0x0,32,33), end-CHS (0x3f,221,30), startsector 2048, 1024000 sectors; partition 2 : ID=0x7, start-CHS (0x3f,221,31), end-CHS (0x3ff,254,63), startsector 1026048, 249038848 sectors
/dev/sdb1: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 2048, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors/track 63, sectors 1023999, $MFT start cluster 42666, $MFTMirror start cluster 2, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 06f1ba06f1b130
/dev/sdb2: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 1026048, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors/track 63, sectors 249038847, $MFT start cluster 786432, $MFTMirror start cluster 2, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 02c96f5c696f59116
/dev/sdc: DOS/MBR boot sector MS-MBR XP english at offset 0x12c "Invalid partition table" at offset 0x144 "Error loading operating system" at offset 0x163 "Missing operating system", disk signature 0xc3072e18; partition 1 : ID=0x7, start-CHS (0x0,32,33), end-CHS (0x3ff,254,63), startsector 2048, 30849024 sectors
/dev/sdc1: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 32, heads 64, hidden sectors 2048, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors/track 32, sectors 30849023, $MFT start cluster 4, $MFTMirror start cluster 1928063, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 0231b14de2178c2f2
再依照你的檔案系統選擇對應的工具程式來修改標簽名稱。
EXT2/3/4
指令
e2label指令只能變更EXT檔案系統的磁碟(EXT2/EXT3/EXT4),其他檔案系統是無法變更的。
查詢磁碟名稱
sudo e2label 磁碟代號(/dev/sdx)
變更磁碟名稱
sudo e2label 磁碟代號(/dev/sdx) 磁碟名稱
名稱長度限制
Label長度限制為16個字元(英文字母),如果你變更的Label長度超過16字元時e2label會印出警告訊息保留前16字元的內容。
root@Unix-242:~# sudo e2label /dev/sdd1 DUS2N-12345678901239
Warning: label too long, truncating.
root@Unix-242:~# sudo e2label /dev/sdd1
DUS2N-1234567890
root@Unix-242:~#
範例
root@Unix-242:~# sudo e2label /dev/sdd1
DUS2N
root@Unix-242:~#
將DUS2N變更DUS2N-1後:
root@Unix-242:~# sudo e2label /dev/sdd1 DUS2N-1
root@Unix-242:~# sudo e2label /dev/sdd1
DUS2N-1
root@Unix-242:~#
FAT
FAT檔案系統變更磁碟標簽名稱需要使用到mlabel指令,它是屬於mtools的一部分,使用前必需要先安裝mtools工具。
安裝mtools
sudo pacman -S mtools
Ubuntu/Debian/mnt
sudo apt install mtools
mlabel必需使用root權限,使用前加上sudo或是使用root權限執行,而且要在root權限加入一個大寫英文字母環境變數MTOOLS_SKIP_CHECK值為1:
export MTOOLS_SKIP_CHECK=1
或是加小寫字母變數值mtools_skip_check=1在檔案/root/.mtoolsrc之中:
echo "mtools_skip_check=1" > ~/.mtoolsrc
讓mtools不檢查磁軌數量,直接執行命令。
更方便一點則是在sudo輸入執行時的參數值:
sudo MTOOLS_SKIP_CHECK=1 mlabel
之後範例介紹會使用此方式。
查詢磁碟名稱
sudo MTOOLS_SKIP_CHECK=1 mlabel -i 磁碟代號(/dev/sdx) -s
變更磁碟名稱
sudo MTOOLS_SKIP_CHECK=1 mlabel -i 磁碟代號(/dev/sdx) ::磁碟標簽名稱
名稱長度限制
Label長度限制為11個字元(英文字母),如果你變更的Label長度超過11字元時會警告。
root@Unix-242:~# sudo MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdd1 ::DUS2N-12345678901239
New label too long
root@Unix-242:~#
範例
root@Unix-242:~# sudo MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdd1 -s
DUS2N
root@Unix-242:~#
將DUS2N變更DUS2N-1後:
root@Unix-242:~# sudo MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdd1 ::DUS2N-1
root@Unix-242:~# sudo MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdd1 -s
DUS2N-1
root@Unix-242:~#
NTFS
NTFS檔案系統變更磁碟標簽名稱需要使用到ntfslabel指令,它是屬於ntfs-3g的一部分,使用前必需要先安裝ntfs-3g工具。
安裝ntfs-3g
sudo pacman -S extra/ntfs-3g
Ubuntu/Debian/mnt
sudo apt install ntfs-3g
查詢磁碟名稱
sudo ntfslabel 磁碟代號(/dev/sdx)
變更磁碟名稱
sudo ntfslabel 磁碟代號(/dev/sdx) 磁碟標簽名稱
名稱長度限制
Label長度限制為128個Unicode字元,如果你變更的Label長度超過時會印出警告訊息並保留前128個Unicode字元的內容
範例
root@Unix-242:~# sudo ntfslabel /dev/sdd1
DUS2N
root@Unix-242:~#
將DUS2N變更DUS2N-1後:
root@Unix-242:~# sudo ntfslabel /dev/sdd1 DUS2N-1
root@Unix-242:~# sudo ntfslabel /dev/sdd1
DUS2N-1
root@Unix-242:~#
資料參考
- 改變檔案系統標簽
- e2label
- RenameUSBDrive
- 7 Ways to Determine the File System Type in Linux (Ext2, Ext3 or Ext4)
更新日誌
| 日期 | 內容 |
|---|---|
| 2017/05/31 | 重新編排內容增加FAT、NTFS |
| 2015/03/11 | 標題:變更Linux EXT2/EXT3/EXT4 磁碟的Label 名稱 |
關鍵字
- 變更Linux EXT2/EXT3/EXT4 磁碟的Label 名稱
- 磁碟標簽
- change filesystem label
- e2label mlabel ntfslabel