Linux下CF卡只读挂载时如何删除QNX4格式的文件?

Linux下CF卡只读挂载时如何删除QNX4格式的文件?

最近,DMA我们实验室的设备坏了,怀疑问题出在QNX4格式的CF卡上。我想删除名为“calforce.dat”的文件并通过校准设备重新创建它。

我将 CF 卡安装到我的设备中并得到以下结果:

famer@iphyer:~$ sudo mount -t qnx4 /dev/sdb1 /mnt/
[sudo] password for famer: 
mount: warning: /mnt/ seems to be mounted read-only.
famer@iphyer:~$ cd /mnt
famer@iphyer:/mnt$ ls
bin           calfreq.dat  dma           dmasav.dat  fit2.dat      qgui
caldyn.dat    calraw.dat   dma21cfr.dat  dmausr.dat  lib           sbin
calfgen.dat   calres.dat   dmaclamp.dat  etc         license.dat   test_enu.str
calfgres.dat  calrpt.txt   dmaid.dat     exit_case   loader        usr
calforce.dat  devi-ads     dmamfg.dat    fit1.dat    loader_image

我想删除“calforce.dat”文件,但只读系统拒绝了所有诸如写入和删除之类的命令。

命令如下:

famer@iphyer:/mnt$ sudo mount -o remount,rw /dev/sdb1
[sudo] password for famer: 
mount: warning: /mnt seems to be mounted read-only.

不要给出任何结果。

我该如何解决?

或者,我可以将 CF 卡中的文件复制到新的 CF 卡上吗?新卡需要格式化才能使用吗?我可以简单地使用GPart或fdisk之类的东西来实现它吗?

=================================================== ======================== 下面是我按照 Gilles 的建议,下面是我插入 CF 卡后的内核日志。

Dec 15 12:51:13 MG kernel: [ 1477.242018] usb 1-1.1: new high-speed USB device number 3 using ehci-pci
Dec 15 12:51:13 MG kernel: [ 1477.349093] usb 1-1.1: New USB device found, idVendor=0bda, idProduct=0158
Dec 15 12:51:13 MG kernel: [ 1477.349099] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 15 12:51:13 MG kernel: [ 1477.349102] usb 1-1.1: Product: USB2.0-CRW
Dec 15 12:51:13 MG kernel: [ 1477.349105] usb 1-1.1: Manufacturer: Generic
Dec 15 12:51:13 MG kernel: [ 1477.349107] usb 1-1.1: SerialNumber: 20060413092100000
Dec 15 12:51:14 MG kernel: [ 1477.787682] usbcore: registered new interface driver usb-storage
Dec 15 12:51:14 MG kernel: [ 1477.816933] ums-realtek 1-1.1:1.0: USB Mass Storage device detected
Dec 15 12:51:14 MG kernel: [ 1477.818979] scsi6 : usb-storage 1-1.1:1.0
Dec 15 12:51:14 MG kernel: [ 1477.819043] usbcore: registered new interface driver ums-realtek
Dec 15 12:51:15 MG kernel: [ 1478.830020] scsi 6:0:0:0: Direct-Access     Generic- Multi-Card       1.00 PQ: 0 ANSI: 0 CCS
Dec 15 12:51:15 MG kernel: [ 1478.831859] sd 6:0:0:0: Attached scsi generic sg2 type 0
Dec 15 12:51:16 MG kernel: [ 1479.669070] sd 6:0:0:0: [sdb] 264096 512-byte logical blocks: (135 MB/128 MiB)
Dec 15 12:51:16 MG kernel: [ 1479.670566] sd 6:0:0:0: [sdb] Write Protect is off
Dec 15 12:51:16 MG kernel: [ 1479.670572] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
Dec 15 12:51:16 MG kernel: [ 1479.672012] sd 6:0:0:0: [sdb] No Caching mode page found
Dec 15 12:51:16 MG kernel: [ 1479.672016] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Dec 15 12:51:16 MG kernel: [ 1479.678399] sd 6:0:0:0: [sdb] No Caching mode page found
Dec 15 12:51:16 MG kernel: [ 1479.678404] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Dec 15 12:51:16 MG kernel: [ 1479.679767]  sdb: sdb1
Dec 15 12:51:16 MG kernel: [ 1479.683276] sd 6:0:0:0: [sdb] No Caching mode page found
Dec 15 12:51:16 MG kernel: [ 1479.683290] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Dec 15 12:51:16 MG kernel: [ 1479.683292] sd 6:0:0:0: [sdb] Attached SCSI removable disk
Dec 15 12:52:17 MG kernel: [ 1541.078472] QNX4 filesystem 0.2.3 registered.

有帮助吗?

答案1

从 Linux 3.18 开始,QNX4 文件系统驱动程序仅支持读取。 (来源:来源)。 QNX6 也是如此。

有一个具有部分读写支持的备用驱动程序,但是已经好几年没有维护了;您可能必须运行较旧的内核或调整代码以在最新的内核上编译它。

或者,QNX 支持读取 ext2 文件系统(我不确定 ext4),因此您可以尝试制作格式化为 ext2 的 CF 卡的副本。不过,您的设备可能支持也可能不支持。

或者,在虚拟机中运行QNX来更新CF卡内容。

相关内容