2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Linux のデバイスファイルに無理やり書き込む

Last updated at Posted at 2017-05-17

私は /dev が苦手だ。どういう存在なのかあやふやで恐ろしい。苦手意識を克服するためにどうでも良い SD カードを壊してみる事にした。まず SD カードを挿入して unmount し、echo で無理やり書き込む。

$ umount /dev/sdb1
$ sudo sh -c 'echo "Hello World!\n" > /dev/sdb1'
$ sudo head -c 32 /dev/sdb1
Hello World!

? ??

SD カードの最初のパーティションに "Hello World!" を書き込んだり読んだりする事が出来た。次に、SD カード全体に書き込んでみる。

$ sudo sh -c 'echo "Hello World!\n" > /dev/sdb'
$ sudo head -c 32 /dev/sdb
Hello World!

????|????!

こちらも問題なく(?) 読み書きが出来た。/dev/sdb を壊すと最初のパーティション /dev/sdb1 が壊れてしまうのではないかと思ったが、まだ読めた。

$ sudo head -c 32 /dev/sdb1
Hello World!

? ??

mount を試みると、めでたく /dev/sdb1 が壊れていることが分かった。

$ sudo mount /dev/sdb1 /mnt
NTFS signature is missing.
Failed to mount '/dev/sdb1': Invalid argument
The device '/dev/sdb1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

結論: SD カードにはファイルシステムを無視してデータを読み書き出来る事が分かった。chown で所有者を変えると一般ユーザでアクセス出来るので、何かに使えるかも。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?