Macを使用。microSDにddコマンドでイメージを書き込むばあい、アンマウントする必要があります。しろうとには、このへんが疑問であります。


アンマウントは、OSから外部記憶装置を切り離すことと理解しています。そもそも切り離してしまったら、そののち、microSDに書き込めないのではないでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2016/07/13 18:51:35

ベストアンサー

id:pyopyopyo No.3

回答回数377ベストアンサー獲得回数98

マウント=ファイルシステムに繋ぐ,という意味です
ファイルシステムはOSに内蔵されたプログラムのようなものです.
SDカードをマウントすると,ファイルシステムがSDカードを占有して,
ファイル単位でSDカードを読み書きするようになります.

一方 dd コマンドは,バイト単位で直接SDカードを読み書きするプログラムです

ファイルシステムとddコマンドで,同時にSDカードを読み書きすると
データが破損する危険性があります

そこで安全策として,dd コマンドはマウント中のディスク,つまりファイルシステムが使用中のディクスにはアクセスしないように作られています.

id:torimaki

なるほど。理解できました。ありがとうございます!

なんとなく、マウントによりSDカードに下地がつくられ、そのうえで、ddコマンドにより読み書きさせているように、おもっていました。ほぼ、逆でしたか。

2016/07/13 05:45:58
id:pyopyopyo

その通りです!

OSには,ブロックデバイス,というレイヤがあって,それが"下地"になります.
ブロックデバイスというレイヤで直接SDカードを操作するのがddコマンドです.

このブロックデバイスに,ディレクトリとかファイルという抽象化されたレイヤを与えるのがファイルシステムで,そこにSDカードを接続するのが mount です.

2016/07/13 15:54:09

その他の回答2件)

id:degucho No.1

回答回数281ベストアンサー獲得回数75

こちらのかたの説明がわかりやすいかと思いますが
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1419325084
電気的に繋がっていることととOSがファイルシステムとして認識することは別です。
Macであればディスクユーティリティでボリュームをマウント解除しても
SDカードは消えないのでわかると思います。
電気的に繋がる→/devの下に認識
マウント→/Volumesの下に認識
と考えてください

id:torimaki

たしかに、ひと(とりわけ、私には)「MacにMicroSDを差し込めば、もう、つながっているじゃないか」という感じがあります。でもMacにとっては、そんなことはなく、おそらくフォーマットして、はじめてMicroSDを認識している...んですよね?

ま、この理解が正しいことを前提にしますと、やはり、せっかく認識したものを、わざわざアンマウントする(okamotoyさんのおっしゃるところの手放なす)理由が、やはり、よく分かりません。

「電気的に繋がる→/devの下に認識」「マウント→/Volumesの下に認識」が肝のような気がしているのですが、ごめんなさい、このへんが分かりませんでした。

2016/07/12 15:32:54
id:okamotoy No.2

回答回数131ベストアンサー獲得回数15

 「マウントする」ということは「microSD」というファイルを「あるプログラム」が「占有している」ということです.
 なので「dd」は「microSD」というファイルにデータを書くことができません.
 「アンマウント」すると,「あるプログラム」が「microSD」というファイルを「手放す」ので,「dd」が「microSD」というファイルに書くことができます.
#####
 「OSが認識する」という考え方を一度忘れていただき,
   「microSD」に「あるプログラム」が書くときには「マウント」が必要
   「microSD」に「dd」というプログラムが書くときには「マウント」が不要
と考えるとよいと思います.

id:pyopyopyo No.3

回答回数377ベストアンサー獲得回数98ここでベストアンサー

マウント=ファイルシステムに繋ぐ,という意味です
ファイルシステムはOSに内蔵されたプログラムのようなものです.
SDカードをマウントすると,ファイルシステムがSDカードを占有して,
ファイル単位でSDカードを読み書きするようになります.

一方 dd コマンドは,バイト単位で直接SDカードを読み書きするプログラムです

ファイルシステムとddコマンドで,同時にSDカードを読み書きすると
データが破損する危険性があります

そこで安全策として,dd コマンドはマウント中のディスク,つまりファイルシステムが使用中のディクスにはアクセスしないように作られています.

id:torimaki

なるほど。理解できました。ありがとうございます!

なんとなく、マウントによりSDカードに下地がつくられ、そのうえで、ddコマンドにより読み書きさせているように、おもっていました。ほぼ、逆でしたか。

2016/07/13 05:45:58
id:pyopyopyo

その通りです!

OSには,ブロックデバイス,というレイヤがあって,それが"下地"になります.
ブロックデバイスというレイヤで直接SDカードを操作するのがddコマンドです.

このブロックデバイスに,ディレクトリとかファイルという抽象化されたレイヤを与えるのがファイルシステムで,そこにSDカードを接続するのが mount です.

2016/07/13 15:54:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません