當我尋找理想的檔案系統以在具有許多不同作業系統的許多電腦之間共享檔案時,我接受了這個答案並在我的 USB 隨身碟上安裝了 UDF 檔案系統。
首先,我清空了磁碟,以確保沒有殘留物來混淆正在讀取磁碟機的系統:
dd if=/dev/zero of=/dev/sdb bs=1M
udftools
然後我使用arch linux 的 AUR格式化了磁碟機:
sudo mkudffs --media-type=hd --blocksize=512 /dev/sdb
顯然,驅動器處於/dev/sdb
.
現在我的問題是,據我所知,該驅動器沒有任何傳統分區,甚至沒有分區表,因此它沒有 UUID。因此,我無法將其添加到 fstab 中,我覺得這很煩人。
我可以做什麼來解決這個問題(例如,是否有其他方法來設定預設安裝點和選項,或備用分割區選項)?
答案1
選擇至少 2K 的區塊大小(這是預設值)並添加--vid=
到您的mkudffs
參數中。 (blkid
fromutil-linux
似乎無法應付較小的區塊大小。)
$ mkudffs --media-type=hd --vid=my-drive /dev/sdj $ blkid /dev/sdj /dev/sdj:標籤=“我的驅動器”類型=“udf”
現在您可以LABEL=my-drive
在/etc/fstab
.
答案2
如果您需要blocksize=512
Windows 相容性,可以修復util-linux
該更新blkid
以識別vid
任何區塊大小上的標籤。它還沒有進入發布版本;它於 2013 年 3 月 1 日提交udf
。 -穩定分支。
答案3
確保使用 --blocksize=512 (除非您有本機 4k 磁碟)。 UDF 區塊大小必須與磁碟的邏輯(磁區)大小相匹配,即 512 位元組。較舊的 mkudfffs 版本無法偵測邏輯磁區大小並回退到值 CD/DVD 值 2048(這會為其他作業系統帶來問題,因為它們不期望硬碟上的 CD/DVD 區塊大小)。
util-linux v2.30 中的 blkid 也為 UDF 檔案系統提供了 UUID,因此只需將 util-linux 升級到新版本,然後就可以在 /etc/fstab 中使用 UUID。 UUID 是根據 UDF 磁碟區集識別碼計算得出的,根據 UDF 定義,前 16 個字元是唯一的、非平凡的、非固定的並且適合保證唯一識別碼。
另外,從 1.1 版開始,mkudffs 有選項 --uuid= 用來指定自己的 UUID。
答案4
你的發行版有/dev/disk/by-*
符號連結嗎?
其中,您可能會找到一種識別帶有 UDF 的 USB 記憶棒的方法,而這種方法不會像/dev/sd*
以前那樣變化。