所以我有一个 HDD,我通过 USB 将其与适配器连接到我的 Ubuntu 笔记本电脑。连接时会发出声音,但磁盘不会自动安装。
执行后fdisk -l
我得到以下结果:
Disk /dev/sdb: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Disk model: HD161HJ
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 4 312581807 312581804 149,1G a5 FreeBSD
所以它是一个 FreeBSD 文件系统。尝试通过执行挂载它mount /dev/sdb1 /mnt/disk
,会出现错误:
mount: /dev/dvd: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.
有没有办法解决这个问题并将文件读/写到该硬盘,没有将其格式化为另一个文件系统?
答案1
如果我尝试在 Linux 主机上挂载 FreeBSD 文件系统,我会看到与您报告的相同错误:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0p3, missing codepage or helper program, or other error.
我们可以通过查看内核日志来获取有关该错误的更多详细信息:
$ dmesg | tail
[...]
[1767775.494027] ufs: You didn't specify the type of your ufs filesystem
mount -t ufs -o ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
所以看起来 Linux 不会挂载 UFS 文件系统,除非我们指定该ufstype
选项。查看mount
手册页,看起来最有可能的选项是ufs2
:
ufs2 Used in FreeBSD 5.x supported as read-write.
其他一切似乎都较旧(例如,44bsd
)或不合适(错误的操作系统)。
如果我运行:
mount -t ufs -o ufstype=ufs2 /dev/sdb1 /mnt
它有效......主要是:
$ dmesg | tail
[...]
Aug 23 10:01:09 madhatter kernel: ufs: ufs was compiled with read-only support, can't be mounted as read-write
因此,根据您的发行版,您可能有也可能没有写可用的支持。