WindowsLinux混合刻录之后,光盘文件不见了?
前言
随着国产化进程的推进,Windows和国产系统(Linux)之间,有了更多交集的机会,也暴露出更多的问题。。
一张新光盘,在Windows上使用时,系统会弹出对话框,让选择光盘的类型,一种是:“类似于U盘”,另一种是“用于CD/DVD播放机”,如图:
Windows上新光盘选择类型
绝大多数的人,都是默认选择了“类似于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
如图 :
修改fstab文件
保存之后,重启电脑即可读取在Linux上刻录的那些文件了:
重启之后,已能读取到后面刻录的文件
另一种情况
光盘首先在Linux上刻录,但是又在Windows上格式化成了“类似于U盘”,情况应该也和上面的差不多,解决方法应该也是同样的,我就懒得去验证了。
如何避免
ISO9660文件格式非常通用,几乎所有系统都支持良好。
因此,要避免出现这种问题,最好的方法是使用ISO9660的文件格式去刻录!
方法一:新光盘在Linux系统上先刻录一次,Windows上不要再格式化光盘。
方法二:Windows上使用第三方刻录软件刻录,格式选择为ISO9660
方法三:Windows上初始化光盘时,选择“用于CD/DVD播放机”。这个类型的文件格式是UDF1.02,统信UOS上支持得还好,一般也不出什么问题
技术之Oracle故障处理-bad block
这两天连续处理了两起生产事件,都是从应用系统故障查到数据库故障,在从数据库故障查到操作系统日志,发现是存储路径识别反复闪断,最终导致Oracle数据文件及日志文件写操作时error。
以下是本次故障处理用到脚本:
1、 查询数据文件中的坏块
select * from v$database_block_corruption;
2、确定发生坏块的数据库对象
select SEGMENT_NAME,segment_type from dba_extents where file_id=18 and 5 between block_id and block_id + blocks -1;
3、确定坏块是否有数据
select bytes from dba_free_space where file_id=18 and 5 between block_id and block_id + blocks -1;
4、通过最近的成功备份恢复指定块
run{
allocate channel t1 type 'sbt_tape';
blockrecover datafile 18 block 5;
RELEASE CHANNEL t1;
}
5、用dbv工具检查数据文件有没有其他坏块
dbv file='filename'
6、用rman工具整库校验
run{
allocate channel t1 type disk;
backup validate database;
release channel t1;
}
相关问答
电脑开不了机重装系统时出现提示 Bad block (s)encounfered on...DIY从入门到放弃:Windows和macOS到底该选谁?评论26全能表现无短板!微星泰坦18Pro2024旗舰游戏本评测评论16热门问题苹果怎么打开apk苹果怎么打开apk.....
【帮忙翻译一下,谢谢了! Badblock (s)encouteredonread-contin...[最佳回答]read应该是road,encoutered应该是encountered,翻译:路堵严重--继续往前开吗?
GHOST装系统时出现 bad block (s) encountered on read。yes后...一些用户在用ghost备份系统的时候,出现“Badblock(s)encounteredonread.Continueanyway”badblock的意思是坏区,但这不一定是坏区...
badblock (s)encounferedonread--confinveanyway是什么意思?我出现这种情况是因为光标所在的地方也是一个layout组件,那个组件只设置了横向,而没有设置竖向,所以我往下滚动的时候就出现了这个问题。所以出现这种情况很可...
刚才用GHPST装系统时出现 badblocks encounteredonread-contin...[最佳回答]出现:Badblock(s)encounteredonread-continueanyway的提示,有可能是说你的电脑硬盘出现坏区,但并不是一定指你电脑的硬盘有物理坏道,在还原系...
装系统时出现 bad block (s) encountered on read是什么意思啊...装系统时出现badblock(s)encounteredonread是什么意思啊,能弄好吗?现在桌面也进不去了,怎么处理啊举报8人讨论1.0w次围观关注问题写回答讨论回答(8)....
重装系统出现这个問題有办法修复么? bad block (s) encounfere...硬盘坏了只能换硬盘了。如果里面有重要数据,只能请专业数据恢复中心恢复。不过可能挺贵的。光驱质量或者光盘有问题换了看看用安装盘DOS里的MHDD...
3Des加密不同JDK版本,加密结果有差异 - OSCHINA - 中文开源...如果还是用SecureRandom,则每次加密的结果都会不一样,因为JAVA内部会用随机的IV来初始化Cipher对象,如示例代码,由于Cipher.getInstance("DES/C...
英语问什么要分开音节和闭音节? - 8awyLhgx6 的回答 - 懂得一般来说,单词后几个字母结构为元音字母+辅音字母+e时,元音字母发开音节,即读字母本音,而其中的e不发音,如take,blame,name,等单词中的a,此种情况称...
电脑反复蓝屏,代码whea_uncorrectable_error,请问是什么问...[回答]微软社区,我是独立顾问(IndependentAdvisor)Zhang您提供的代码与您的错误代码看起来是不符的。就您提供的错误信息来看,您可能需要考虑一下硬盘的...