はじめに
Raspberry Pi(Raspbian)のmicroSD内のファイルをPC/Macにコピーしたいことがあると思います。
scpやUSBメモリ経由という手もありますが、ファイルサイズが大きいと時間がかかる&少々手間なので、microSDのext4パーティションに直接ファイルアクセスできるツールを調べました。
前提条件
- Raspbianのイメージを直接書き込んだmicroSDであること
- NOOBSは試してないのでわからない…
Windowsの場合
ext4パーティションにアクセスできるツールは複数あります。
しかし、Windowsの仕様(SD規格に準拠し、SDカードのパーティションは一つだけ認識)の影響なのか、実際に使えたのは下記の二つでした。
※PC内蔵のSDスロットでは無く、USB接続のカードリーダー経由であれば、Ext2FsdでもOKかも
-
Paragon ExtFS for Windows
- マウントしてExplorerからアクセスできる
-
Linux Reader for Windows
- ExplorerライクなUIでアクセスできる
- D&Dではファイルコピーできず、「Save」で保存する必要あり
Macの場合
FUSE for macOS(osxfuse)とext4fuseでext4パーティションをマウントできます。
osxfuseはbrewだとインストールに失敗(osxfuseのバージョンが古い?)したので、dmgからインストール後にext4fuseをインストールします。
$ brew tap homebrew/fuse
$ brew install ext4fuse
次にmicroSDをMacに接続して、デバイス名を調べます。
$ df
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk1 234573824 195229280 38832544 84% 1554478 4293412801 0% /
devfs 740 740 0 100% 1280 0 100% /dev
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
/dev/disk3s1 128912 80528 48384 63% 512 0 100% /Volumes/boot
この場合、microSDのデバイス名は/dev/disk3
です。
Raspbianのイメージを直接書き込んだmicroSDであれば、パーティション2がext4なパーティションなので、
$ sudo ext4fuse -o allow_other /dev/disk3s2 /mnt
でマウントできます。
※-o allow_other
を付けないと、root権限でしかアクセスできません
参考情報
osx で ext4 をread/write でマウントする。
OSX 10.10.1 Yosemite で Fuse でext4使おうとしたら fuse インストール出来ない