Welcome 微信登录

首页 / 操作系统 / Linux / Linux下mount FreeBSD分区

如果需要从第二块硬盘拷贝文件,该硬盘格式化为UFS 2文件系统,如何mount 由FreeBSD创建的UFS 2文件系统到Ubuntu系统上呢? UFS文件系统广泛的使用在不同的操作系统(例如:HP-UX,Sun Solaris)中,包括FreeBSD。下面的语法用于挂载mount UFS 2文件系统:mount -t ufs -o ufstype=ufs2,ro /dev/sdXY/path/to/mnt/point每个分区包含一个文件系统存在FreeBSD中,称为一个Slice。Slice是FreeBSD中的一个术语,通常称为分区。这是因为FreeBSD具有UNIX的背景,Slice是编号的,从1开始到4。因此你需要使用等同的Linux分区名称。

验证UFS分区支持

为了检查你的Linux内核是否支持UFS文件系统,你可以执行下面的命令:$ cat /proc/filesystems输出示例:nodev  sysfsnodev  rootfsnodev  bdevnodev  procnodev  cpusetnodev  binfmt_miscnodev  debugfsnodev  securityfsnodev  sockfsnodev  usbfsnodev  pipefsnodev  anon_inodefsnodev  futexfsnodev  tmpfsnodev  inotifyfsnodev  eventpollfsnodev  devpts       ext2nodev  ramfsnodev  hugetlbfs       iso9660nodev  mqueue       ext3nodev  rpc_pipefsnodev  autofs     第一行的关键字nodev含义是文件系统不需要挂载一个块设备,这是为什么也称为虚拟文件系统的原因。支持也被编译到内核中或者作为一个单独的模块。     检查是否安装ufs驱动的方法:方法1:# cat /proc/filesystems | grep ufs方法2:ls -l /lib/modules/`uname -r`/kernel/fs/ufs/ufs.ko     第1中方法无输出且第2种方法文件不存在表示UFS驱动没有编译到内核或作为模块安装。

安装UFS驱动

root@ubuntu:~# modprobe ufsroot@ubuntu:~# cat /proc/filesystems| grep ufs     ufs# modinfo ufsfilename:      /lib/modules/3.11.0-14-generic/kernel/fs/ufs/ufs.kolicense:        GPLalias:          fs-ufssrcversion:   961388D4E5A5AA94C372D19depends:       intree:       Yvermagic:     3.11.0-14-generic SMP mod_unloadmodversionsroot@ubuntu:~# uname -r3.11.0-14-genericroot@ubuntu:~# ll/lib/modules/3.11.0-14-generic/kernel/fs/ufs/ufs.ko# lsmod | grep ufs# grep BSD_DISKLABEL /boot/config-`uname -r`CONFIG_BSD_DISKLABEL=y# grep UFS /boot/config-`uname-r`CONFIG_UFS_FS=m# dmesg |grep bsdmount -t ufs -oufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...

挂载UFS硬盘

     依赖于你的FreeBSD的分区类型是UFS1还是UFS2,你需要引用不同的挂载选项。UFS1使用ufstype=44bsd,UFS2使用ufstype=ufs2.      为了发现FFS分区所对应的设备,运行:# fdisk -l# sfdisk -l   Disk /dev/hda: 155061 cylinders, 16 heads,63 sectors/trackWarning: extended partition does not startat a cylinder boundary.DOS and Linux will interpret the contentsdifferently.Units = cylinders of 516096 bytes, blocksof 1024 bytes, counting from 0 Device Boot Start   End #cyls   #blocks Id  System/dev/hda1  *      0+  34536- 34537-  17406396    7 HPFS/NTFS             end: (c,h,s) expected(1023,15,63) found (1023,254,63)/dev/hda2      34536+ 134767- 100231-  50516392+  f  W95 Ext"d (LBA)             start: (c,h,s) expected(1023,15,63) found (1023,255,63)             end: (c,h,s) expected(1023,15,63) found (1023,254,63)/dev/hda3   134767+144935-  10169- 5124735  a5  FreeBSD             start:(c,h,s) expected (1023,15,63) found (1023,255,63)             end: (c,h,s) expected (1023,15,63)found (1023,254,63)/dev/hda4    144935+ 155060 10126- 5103189  a9  NetBSD              start: (c,h,s) expected (1023,15,63) found (1023,255,63)             end:(c,h,s) expected (1023,15,63) found (1023,80,63)/dev/hda5      34536+ 102366-  67830- 34186288+  83  Linux             start: (c,h,s) expected(1023,15,63) found (0,1,1)             end: (c,h,s) expected(1023,15,63) found (1023,254,63)/dev/hda6   102366+ 104294    1929-   971901 82  Linux swap / Solaris             start: (c,h,s) expected(1023,15,63) found (0,1,1)             end: (c,h,s) expected(1023,15,63) found (120,254,63)/dev/hda7   104295+ 134767-  30473- 15358108+  83  Linux             start: (c,h,s) expected(1023,15,63) found (0,1,1)             end: (c,h,s) expected(1023,15,63) found (1023,254,63)/dev/hda8   134767+143910- 9143- 4608000/dev/hda9   143910+144935- 1026-    516735/dev/hda10   144935+ 154078- 9143    4608072/dev/hda11   154078+ 155060   983-    495117/dev/hda12       0+ 34536-  34537-  17406396/dev/hda13   34536+ 102366-  67830- 34186288+/dev/hda14    102366+ 104294    1929-   971901/dev/hda15    104295+ 144935-  40641- 20482843+     因此,对于FreeBSD(FFSv2),/dev/hda3等价于/dev/ad0s3     NetBSD(FFSv1),/dev/hda4等价于/dev/wd0c。     但是这些设备是整个BSD的Slice(BOIS分区),不是BSD分区。     通过仔细检查sfdisk的输出结果,我们发现/dev/hda3包含/dev/hda8和/dev/hda9,/dev/hda4包含/dev/hda10和/dev/hda11。     我们可以推出,对于FreeBSD/dev/hda8等价于/dev/ad0s3a(FreeBSD的根分区),/dev/hda9等价于/dev/ad0s3b(FreeBSD的Swap分区)。     对于NetBSD,/dev/had10等价于/dev/wd0a(NetBSD根分区),/dev/hda11等价于/dev/wd0b(NetBSD的Swap分区)。     因此FreeBSD的根分区位于/dev/hda8,首先创建一个目录用于mountFFS分区,然后挂载它。# mkdir/mnt/freebsd# mount -t ufs-o ro,ufstype=ufs2 /dev/hda8 /mnt/freebsd/NetBSD的根分区位于/dev/hda10上,首先创建一个挂载FFS分区的目录,然后挂载它。# mkdir/mnt/netbsd# mount -t ufs-o ro,ufstype=44bsd /dev/hda10 /mnt/netbsd/让我们浏览挂载的目录:# ls /mnt/*bsd/mnt/freebsd:bin  cdrom COPYRIGHT  dist    etc lib      media proc    root  sys usrboot compat  dev        entropy home  libexec  mnt   rescue  sbin  tmp var/mnt/netbsd:altroot etc                gnome-screensave.core  mnt      root  varbin     GENERIC           kern                 netbsd sbinboot    GENERIC-DIAGNOSTIC  lib                  onetbsd standCUSTOM  GENERIC-LAPTOP      libdata                proc   tmpdev     GENERIC-NOACPI      libexec                rescue usr更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-11/109569p2.htm
  • 1
  • 2
  • 下一页
Linux系统入门学习:改变libvirt VM镜像的默认位置SUSE 11中安装GCC开发环境相关资讯      Linux下mount  FreeBSD分区  本文评论 查看全部评论 (0)
表情: 姓名: 字数