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

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

Linux變更磁碟標簽時必需要注意的是檔案系統,每種檔案系統用到的變更工具名稱是不同的,以下幾個常用的檔案系統:EXT2/3/4FATNTFS來介紹,不過使用前先確認檔案系統為何?

已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:~#

資料參考

更新日誌

日期 內容
2017/05/31 重新編排內容增加FAT、NTFS
2015/03/11 標題:變更Linux EXT2/EXT3/EXT4 磁碟的Label 名稱

關鍵字

  • 變更Linux EXT2/EXT3/EXT4 磁碟的Label 名稱
  • 磁碟標簽
  • change filesystem label
  • e2label mlabel ntfslabel