挂载Linux文件系统


9

我想从运行Raspbian / noobs的Raspberry Pi读取包含文件系统和操作系统的SD卡。 我已经安装了ext2fuse(在Mac El Capitan 10.11.6上):

$ brew update
$ brew tap caskroom/cask
$ brew cask install osxfuse
$ sudo shutdown -r now
$ brew install ext2fuse
$ sudo shutdown -r now

现在,当我插入SD卡(上面装有Raspbian linux操作系统)时,我得到以下信息:

$ diskutil list
/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *8.0 GB     disk2
   1:             Windows_FAT_16 RECOVERY                1.2 GB     disk2s1
   2:                      Linux                         33.6 MB    disk2s5
   3:             Windows_FAT_32 boot                    66.1 MB    disk2s6
   4:                      Linux                         6.8 GB     disk2s7

但是调用以下命令会导致装入空目录:

$ sudo /usr/local/opt/ext2fuse/bin/ext2fuse /dev/disk2s7 /sd
$ cd /sd
$ ls
.
$ sudo /usr/local/opt/ext2fuse/bin/ext2fuse /dev/disk2 /sd2
/dev/disk2 is to be mounted at /sd2
fuse-ext2fs: Resource busy while trying to open /dev/disk2

另外,我不知道如何卸载它们。以前,我通过单击finder中“启动”或“恢复”安装的分区旁边的弹出图标来使用“全部弹出”选项。调用以下命令无效:

$ diskutil unmount /sd
(null) was already unmounted
$ sudo umount /sd
umount(/sd): Resource busy -- try 'diskutil unmount'
$ rmdir /sd
rmdir: sd: Resource busy
$ sudo mkdir /sd
mkdir: /sd: File exists
$ diskutil umount force /sd
Unmount failed for /sd

** 编辑 **不知道我做了什么,但是现在可以了sudo rmdir /sd,它们已被删除。


您可以尝试一下sudo mkdir /sdsudo /usr/local/opt/ext2fuse/bin/ext2fuse /dev/disk2s7 /sd然后diskutil umount force /sd报告结果吗?
real_human_bean

您想读/写ext2 / 3文件系统吗?
Sairam

@jorvi目前还没有SD卡,但sudo mkdir /sd=> mkdir: /sd: File existsdiskutil umount force /sd=> Unmount failed for /sd
AJP

只需读取ext2 / 3文件系统就可以了(尽管显然写入将是额外的收获,但目前甚至无法读取)@Sairam
AJP

@AJP,如果您遵循的步骤已过时,知道您要解决的问题将很有用。看来现在有答案了。
Sairam

Answers:


1
  • 使用删除ext2fuse brew uninstall ext2fuse
  • 从git主页下载fuse-ext2,并将其解压缩到您的下载文件夹中
  • 请遵循以下指示:

    brew install m4
    brew install e2fsprogs automake autoconf libtool
    cd ~/Downloads/fuse-ext2-master
    ./autogen.sh
    CFLAGS="-idirafter/$(brew --prefix e2fsprogs)/include -idirafter/usr/local/include/osxfuse" LDFLAGS="-L$(brew --prefix e2fsprogs)/lib" ./configure
    make 
    sudo make install
    
  • 挂载分区,例如disk2s7:

    sudo fuse-ext2 /dev/disk2s7 /sd -o allow_other,force,rw+
    

在虚拟的10.11.6 El Capitan机器上经过测试和验证!


本来希望使用brew,但是当回到Wifi时会尝试一下。
AJP

1
这很好。您也知道如何卸载吗?(以及感谢您弄清楚如何卸下其他驱动器的感谢)
AJP

安装了fuse-ext2后,我总是使用上下文菜单>弹出“卷名”来卸载卷。sudo umount diskXsY也可以(使用正确的X和Y)。“其他”驱动器是什么意思?
klanomath

ls /sd*=> /sd: \n\n/sd2: \n\n/sd3: \n\n/sd4: \n(其他来自先前的尝试)和 diskutil umount force /sd=> Unmount failed for /sd。重新启动没有任何作用,当我回来时它们就在那里。(我还悬赏,以防万一它过期了,我不得不重新发行。不知道它是如何工作的,到目前为止,您还希望获得出色的建议,不要让您输掉。)
AJP

@AJP您可以卸载安装点(/ sd *)!您应该能够通过输入以下内容来获得挂载点和卷名称mount,然后使用sudo umount [force] /mountpoint/vol_name(例如sudo umount /Volumes/SDData
klanomath
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.