OpenBSD 中的闪存驱动器:“指定的设备与已安装的设备不匹配”

OpenBSD 中的闪存驱动器:“指定的设备与已安装的设备不匹配”

我有一台运行 OpenBSD 4.4 的小型服务器。我正在尝试插入 16GB USB 闪存驱动器来移动一些文件。我遵循了磁盘设置文档,并找到所需分区的标签和文件系统。但是当尝试安装分区时,我得到以下信息:

# mount -t ext2fs /dev/sd1i /mnt/flash 
mount_ext2fs: /dev/sd1i on /mnt/flash: specified device does not match mounted device

我用谷歌搜索了一下,但没有发现什么特别有帮助的。谁能解释一下这条消息?

编辑:

附加信息

# disklabel sd1
disklabel: warning, DOS partition table with no valid OpenBSD partition
# /dev/rsd1c:
type: SCSI
disk: SCSI disk
label: SanDisk Ultra 
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 1946
total sectors: 31266816
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

16 partitions:
#                size           offset  fstype [fsize bsize  cpg]
  c:         31266816                0  unused      0     0      
  i:         31262427               63  ext2fs

答案1

好吧,事实证明我错过了真正的错误消息,dmesg 报告为:

Ext2 fs: unsupported inode size

当我发现这一点后,谷歌搜索显示 OpenBSD 4.4 中的 ext2fs 仅支持 128 位 inode 大小。我将闪存驱动器移回 Linux 计算机,mke2fs -I 128并使用 重新格式化,瞧!现在可以使用问题中给出的安装命令将驱动器成功安装在 BSD 计算机上。

答案2

您很可能调用了错误的文件系统类型。

ext2fs 通常是 Linux 特定的,大多数驱动器都使用 FAT,我会尝试使用 fat32,这样应该可以为您安装它。

您可以使用 fdisk 来判断分区是什么:(假设 /dev/sd1i 是您的设备)

#fdisk -l /dev/sd1i

从:http://en.wikipedia.org/wiki/USB_flash_drive

Most flash drives ship preformatted with the FAT12, FAT16 or FAT32 file systems. The ubiquity of this file system allows the drive to be accessed on virtually any host device with USB support. Also, standard FAT maintenance utilities (e.g. ScanDisk) can be used to repair or retrieve corrupted data. However, because a flash drive appears as a USB-connected hard drive to the host system, the drive can be reformatted to any file system supported by the host operating system.

相关内容