Filesystems

OpenBSD 中的快閃記憶體驅動器:“指定的設備與安裝的設備不匹配”

  • September 13, 2018

我有一台執行 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

我用Google搜尋了一下,但沒有發現任何特別有用的東西。任何人都可以對此消息有所了解嗎?

編輯:

附加資訊

# 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

好的,事實證明我錯過了真正的錯誤消息,dmesg 報告為:

Ext2 fs: unsupported inode size

當我發現這一點後,通過Google搜尋顯示 OpenBSD 4.4 中的 ext2fs 僅支持 128 位 inode 大小。我將快閃記憶體驅動器移回 Linux 機器,用 重新格式化mke2fs -I 128,瞧!現在可以使用問題中給出的 mount 命令成功地將驅動器安裝在 BSD 機器上。

您很可能呼叫了錯誤的文件系統類型。

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.

引用自:https://unix.stackexchange.com/questions/33983