Linux

刪除分區後分區標籤會怎樣?

  • August 23, 2011

如果我刪除一個分區,所有剩餘的分區標籤會怎樣?
例如,如果我的佈局如下所示:

/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5

如果我刪除 /dev/sda2 將 /dev/sda3、/dev/sda4 和 /dev/sda5 “轉移”他們的數字,我會得到這個:

/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4

或者“差距”會留在那里而不對標籤進行任何更改,給我這個:

/dev/sda1
/dev/sda3
/dev/sda4
/dev/sda5

傳統上,x86 硬體上的 Linux 使用MSDOS 分區表。在這種情況下,刪除/dev/sda2不會將任何編號較高的分區向下移動,因為主分區就像“插槽”:您可以按您喜歡的任何順序使用它們,刪除一個不會影響其他任何分區。

相反,如果您擁有sda{1-7}擴展sda4分區並sda{5-7}成為該擴展分區內的邏輯分區,則刪除sda6 向下移動sda7。邏輯分區在這方面只是表現不同。

較新版本的 Linux 正在切換到GPT 分區表,儘管這是一個緩慢的過程,因為此時存在阻止大規模切換的限制。

在 GPT 的情況下,您不需要使用擴展分區來在單個磁碟上獲得 4 個以上的分區,並且與 MSDOS 主分區一樣,GPT 分區號就像插槽一樣工作。您可以從範圍的中間刪除一個分區,只留下一個洞,現有的分區保留它們的編號。如果你然後創建一個新的,它會填補這個洞。

但是,您的問題是關於分區標籤的,到目前為止我所談論的都與標籤無關。在 Linux 中使用的分區標籤是文件系統的屬性,而不是分區表。它們的存在是為了防止對設備名稱的更改導致掛載文件系統出現問題。通過使用文件系統標籤,您不必擔心設備名稱的更改,因為您是按標籤而不是設備名稱安裝分區。這在設備命名方案是動態的 USB 等情況下特別有用,並且部分取決於自上次重新啟動以來之前插入的內容。

Linuxmkfs.*程序通常使用-L標誌來指定標籤。

要按標籤而不是按設備名稱掛載分區,LABEL=mypartname請在/etc/fstab. 如果您檢查您的 current /etc/fstab,您可能會發現已經有分區以這種方式掛載。為了方便起見,Linux GUI 安裝程序通常會為您執行此操作。

您也可以通過標籤以互動方式掛載文件系統,方法是將標籤與-Lto一起傳遞mount(8)

GPT 確實允許您命名一個分區,但我不知道它與上面討論的任何內容有什麼關係。

編輯:您使用 GPT 得到的與此處相關的一件事是每個分區的唯一標識符,稱為 UUID。它們的工作方式與標籤類似,但在以下幾個方面有所不同:

  1. UUID 是自動分配的偽隨機數,而不是您自己選擇的邏輯名稱。
  2. 您使用UUID 而不是標籤來-U代替分區。-L``mount(8)
  3. 您使用UUID=big-ugly-hex-number而不是LABEL=mynicelabelin /etc/fstab
  4. 它們是分區的屬性,而不是文件系統的屬性,因此只要您可以使用 GPT,它們就可以與任何文件系統一起使用。一個很好的例子是 U 盤上的 FAT32 分區:FAT32 沒有文件系統標籤,並且由於它位於 U 盤上,因此您無法可靠地預測/dev/sd*它將獲得哪個名稱。

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