スキップしてメイン コンテンツに移動

HDD などストレージのデータ消去方法

ハードディスクを処分するにあたり、データの消去をする必要がある。

Windows では、コマンドラインから diskpart を実行し、
clean all を実行するとディスク上のデータは 0 を書き込まれる

[参考] diskpart によるディスク全体の消去
https://qiita.com/aoi70/items/75f61ec679c1c1b71f8e

cipher コマンドで消去する方法もあるが、
この場合は空きスペースのデータを0で書き込みしているようなので、
ディスク全体を消去はできないようである。


Unix系OSでは、shred コマンドが用意されている事がある。
# shred /dev/sdb
これを実行すると、ディスク( /dev/sdb )にランダムな数を計3回書き込みが行われる。
これは、次のコマンドを3回実行していることと同じ意味を持つ。
# dd if=/dev/random of=/dev/sdb

なお、/dev/random は /dev/urandom とほぼ同じであるが、
細かい挙動については次を参照。
[参考] /dev/random
https://ja.wikipedia.org/wiki//dev/random


Windows の方法は、Unixでは次と同じである。
# dd if=/dev/zero of=/dev/sdb


Unix系の shred コマンドは -n オプションを使えば書き込み回数を変更できる。
初期設定が3回なのは、
アメリカ国防省などが定めたデータ削除基準に準じてなのだと思われる。

[参考] データの完全消去
https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%AE%8C%E5%85%A8%E6%B6%88%E5%8E%BB

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

Perl/Tk の基本的なこと

X を利用したアプリケーションを作る方法は色々あるが、Tk を用いると簡単に出来る。 Tk - Wikipedia https://ja.wikipedia.org/wiki/Tk_(ツールキット) Tk で作るWindowをどの言語で書くかによって変わってくるが、Tcl/Tkが最も有名かもしれない。 Tcl/Tk - Wikipedia https://ja.wikipedia.org/wiki/Tcl/Tk wish (Windowing Shell) を用いてスクリプトを組むことでグラフィカルなアプリを作れる。 Tclはこのwishで使われるプログラミング言語であり、簡単に使える。かなり多くのシステムに導入されていることもあり、特に何かをインストールせずとも使うことが出来る。 このTclの部分をperlに置き換えたものがPerl/Tkである。 Perl/Tk インストール Perl/Tk は Tcl/Tk と違いデフォルトでインストールされていないことが多い。 ubuntuだと perl-tk をインストールすると使えるようになる。 # apt install perl-tk 取り敢えず作ってみる 次のようなサンプルファイル sample.pl を作る。 sample.pl use utf8; use Tk; # トップウィンドウを作る $top = MainWindow->new(); # ウィンドウ内に文字(ラベル)を表示する $label = $top->Label(-text => "ここに文字を書く")->pack(); # ウィンドウを生成する MainLoop(); ちなみに文字コードは UTF-8 になってる。 $ file sample.pl sample.pl: UTF-8 Unicode text 次のコマンドで実行する。 $ perl sample.pl 実行できる形の sample.pl Shebang を書いて実行ファイルとしても実行できる。 たぶん次のようなファイルになる。 一行目のShebangは環境によって異なるが多くのシステムは多分これで通る。 #!/usr/bin/perl use utf8; use...

vim でスペースやタブ等を可視化する

vim で編集していたらタブや改行、スペース等が見えればいいなと思ったので、見えるようにしてみた。 .vimrc に次を書き加えると表示される。 set list set listchars = tab :»-,trail:-, eol :↲,extends:»,precedes:«,nbsp:% これでだいたい表示されるが、全角スペースは表示されないので、 次も書き加えると表示される。 if has("syntax")     syntax on     " PODバグ対策     syn sync fromstart     function! ActivateInvisibleIndicator()         " 下の行の" "は全角スペース         syntax match InvisibleJISX0208Space " " display containedin=ALL         highlight InvisibleJISX0208Space term=underline ctermbg=Blue guibg=darkgray gui=underline     endfunction     augroup invisible         autocmd! invisible         autocmd BufNew,BufRead * call ActivateInvisibleIndicator()     augroup END endif [参考] Vimのタブ・空白・改行文字等をlistcharsで色変更 https:/...