使用UDF作为跨平台共用分区以及LVM笔记

windows和linux(甚至还有mac os)dual boot的情况下,共享多媒体文件的磁盘分区用什么文件系统比较好呢?

NTFS的话,即便使用了ntfs-3g,linux环境中CPU占用依然很高。MacOS的支持更差。

exFAT的话,三星因为不小心泄漏出来而开源的linux内核模块驱动性能也不错,工作也比较稳定,不过每次升级内核都需要重新编译,有点麻烦。好在MacOS的支持很不错。

UDF虽然主要用在光盘上,但是其实因为可擦写光盘的存在,它也是一个很不错的可读写的文件系统,windows、Linux和MacOS的支持都相当不错,个人比较推荐。

 

假设想给/dev/sdb2这个分区格式化成UDF,linux下可以用udftools软件包中的工具来创建:

首先fdisk /dev/sdb,用t命令把该分区的partition id设置为06(FAT16),很莫名其妙,但是windows只认这个;

然后mkudffs --media-type=hd --blocksize=512 /dev/sdb2来格式化该分区即可。

 

相比较其他文件系统,UDF特殊之处在于,其他文件系统一般用mbr或者gpt把整块磁盘分区然后给分区做文件系统,而UDF常年混战在光盘界,更习惯把整块盘格式成UDF,而没有分区的概念。所以微软的FAT16 partition id也算不上不遵守标准,因为标准中没规定UDF对应的partition id应该是什么。

 

另外说一下lvm,lvm不兼容windows,不过如果硬盘比较多想合并起来用,使用它非常方便,例如以下我们把/dev/sdb2 /dev/sdc1 /dev/sdc3合并成一个logic volume。

首先lvm的概念上,physical volumne对应硬盘实体分区(pvdisplay列出当前的设置),volume group是由pv组成的(vgdisplay列出所有),每个vg则可以划分出一个或多个logic volume(lvdisplay可以查询)。

# 先给每个分区创建出pv

pvcreate /dev/sdb2

pvcreate /dev/sdc1

pvcreate /dev/sdc2

# 然后把pv组合成vg

vgcreate mygroup /dev/sdb2 /dev/sdc1 /dev/sdc2

# 最后从vg中创建lv

lvcreate -L 80G mygroup -n mylv

然后/dev/mygroup/mylv就是一个80G的blockdevice,可以格式化并且使用了。

除了这种合并得到更大空间的优点,lvm在extend和shrink尺寸的时候比传统的分区更方便和安全(传统的方法大概只能用fdisk删除然后小心地新建,而lvm有专门的工具,调整之前能够检查可行性)。

 

你可能感兴趣的:(ntfs,udf,lvm,exFat)