在 fstab 裡用 label 或 ufsid 標示磁碟

[華語, cmn-Hant-TW]

在 FreeBSD 下,/etc/fstab 是開機時掛載磁碟的依據,通常看到的形式會是類似這樣的

/dev/ad0s1a             /               ufs     rw              1       1

不過這樣會產一個問題,如果換了一個硬碟的位置的話很有可能 ad0 就不再是 ad0,開機時就會卡住叫你手機輸入正確的 root 檔案系統之位置,這時候 label 就派上用場了,我們可以用 glabel 幫分割區加上 label
glabel label root_fs /dev/ad0s1a
這樣就會在 /dev/label 下出現一個新的檔案叫 root_fs,然後 /etc/fstab 下就可以改成這樣寫,不用管他是 ad0 還是 ad1 或是啥的了。

/dev/label/root_fs             /               ufs     rw              1       1

這方法的問題是在於,掛載中的磁碟是不能加 label 的,要嘛就是去找張 Live CD 開機後在還沒掛載的情況下來修改,不然就要用另一個方法了。
執行 dumpfs /dev/ad0s1a | grep id 就可以看到 ad0s1a 的 ufsid 是啥,這個值應該會出現在 /dev/ufsid 裡面 (沒看到沒差),然後改 /etc/fstab

/dev/ufsid/4d6b031d6e0de88e             /               ufs     rw              1       1

這樣效果一樣,開機時就會自動去找是這個 ufsid 的磁碟了,至於 swap 的話當然不會有 ufsid 這東西,所以還是乖乖的用 label 處理吧。

註:zfs 不用這種方式掛載,用 zfs 的話可以直接忽略本篇。

Leave a Reply

Your email address will not be published. Required fields are marked *