前言
随着国产化进程的推进,Windows和国产系统(Linux)之间,有了更多交集的机会,也暴露出更多的问题。。
一张新光盘,在Windows上使用时,系统会弹出对话框,让选择光盘的类型,一种是:“类似于U盘”,另一种是“用于CD/DVD播放机”,如图:
绝大多数的人,都是默认选择了“类似于U盘”。只在Windows上使用时,这无疑是最好的选择!但是当这张光盘要和Linux交互使用时,问题就来了。。
本文使用的Linux操作系统:统信UOS
需要特别说明的一点:这并不是统信UOS的问题,而是大多数Linux都这样!本文所讲的问题,包括:ubuntu、debian等国际知名Linux系统也是如此!
故障现象
光盘在Windows上初始化为“类似于U盘”,然后在Linux上重新刻录了一次,这时可能所有的文件都看不到了!无论是在Linux上,还是在Windows上!
就像这样:
统信UOS
Windows
问题原因
造成这个问题的原因可能是这样:光盘在Windows上被初始化成“类似于U盘”时,使用的是UDF2.01版本的文件格式,Linux对UDF1.02以后的版本支持本身不够完善,并不支持追加刻录!因此刻录之后,造成UDF那部分的数据不可读!而Linux上刻录,使用的是ISO9660文件格式。在Linux上刻录了一次之后,光盘同时拥有了UDF和ISO9660这两种不同的文件格式!
在Linux上,系统读取了光盘头部信息,认为光盘是UDF格式,因此使用UDF格式的方式加载它,但是UDF部分的数据已经损坏,因此读取不出来,而后面ISO9660部分的数据,使用读取UDF的方式去读取,显示是读取不到的!
Windows上也是同样的道理!
这样的光盘,在统信UOS上是挂载不起来的:
手动挂载,提示错误(wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error):
Linux上的解决方法
前面讲了,UDF部分的数据可能已经损坏,因此那部分数据可能别报什么希望了。。
统信UOS上的操作:
打开终端,输入命令(需要先打开开发者模式):
sudo deepin-editor /etc/fstab
在fstab文件末尾,添加一句:
/dev/sr0 /media/cdrom udf,iso9660 user,noauto 0 0
如图 :
保存之后,重启电脑即可读取在Linux上刻录的那些文件了:
另一种情况
光盘首先在Linux上刻录,但是又在Windows上格式化成了“类似于U盘”,情况应该也和上面的差不多,解决方法应该也是同样的,我就懒得去验证了。
如何避免?
ISO9660文件格式非常通用,几乎所有系统都支持良好。
因此,要避免出现这种问题,最好的方法是使用ISO9660的文件格式去刻录!
方法一:新光盘在Linux系统上先刻录一次,Windows上不要再格式化光盘。
方法二:Windows上使用第三方刻录软件刻录,格式选择为ISO9660
方法三:Windows上初始化光盘时,选择“用于CD/DVD播放机”。这个类型的格式是UDF1.02,统信UOS上支持得还好,一般也不出什么问题