• ベストアンサー

デュアルブートのLinuxからHDDの抹消

WindowsとLinuxをデュアルブートしています。 LinuxからWindowsのcドライブ内のファイルを復元不可能に 米国国防総省式で抹消したいのですが、その方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.5

どこまで理解していて、具体的な目的がどこにあるか? 書いておかないとおかしい回答がつくこと多いので :-) No.4はおかしいこと言っているようにも見えるけど デュアルブート構築の基本は、先にWindows導入。 C:を抹消して、改めてWindowsを入れ直して ほかの人に使わせるという作戦は… 技術的に難しいので、そこも一考の余地あると思います。 (ddを使ったMBRバックアップ等を習得すればできることだけど) 米国国防総省式の手順を理解しているなら ddコマンドを使い、手作業でそれができるし 同時にスクリプトでもできることを意味します。 でも、それは普通やらないので、専用ソフトを期待するなら そういうソフトが無いのかを訊くのが手っ取り早い。 で、通常のLinux用としては無い。あるいは無名。 ただしLinuxベースで米国国防総省式の抹消が可能な DBANがあることは既出ですね。 もっと手軽で、妥協できそうな抹消方法としては Linuxでのshredコマンド、ddでの乱数書き込み Windowsでのcipher.exeなどが知られています。 shred,cipherはパーティション単位のほか ファイル単位での抹消を行なえます。 (ただしフラグメンテーション等による散乱を取りこぼす可能性がある) で、こういった作業で重要なのが、削除すべき範囲の判断。 Linuxでは、/dev/sdaか/dev/hdaが起動デバイスになっていることが多いでしょう。 これはmountコマンドで表示される/(ルートパーティション)行から 簡単に判断ができますし、デュアルブートなら 同じドライブの違うパーティションにC:があることもわかります。 たとえばsudo fdisk -l /dev/sdaを行なえば /dev/sdaのパーティション情報がわかりますから WindowsのC:ドライブは、その中のNTFS/HPFSと表示されたところです。 最近のPCで、一般的な手順で構築したデュアルブート環境であれば /dev/sda : SATAの一つ目のHDD /dev/sda1 : WindowsのC:ドライブ /dev/sda2 : Linuxの/パーティション /dev/sda3 : Linuxのswapパーティション といった構成になっていると思います。 つまり、shred /dev/sda1でいける。 (たぶん、そのあとfdiskで/dev/sda1を削除し、再作成し、mkfs等でフォーマットすれば再利用できます) 一般的には、/dev/sda1だったりしますが… これ、PCのリカバリーシステムの都合などで 違うことがあることに先月気づきました。 まぁうちの支店長のFujitsuノートだけど C:D:がそれぞれ/dev/sda3,/dev/sda4になってる。 通常のWindowsユーザーはC:がパーティション管理上の 最初のパーティションのことだと思っていることが多いけど これまったくの勘違いで、二つめや三つ目のパーティションにあることもある。 ですから、一旦Linux上でマウントしてみて 中身を確認してから、そのパーティション番号を覚えておいて あらためてDBANのCDで起動して削除するってのが手堅い方法。 もっとも、現実的には、単純にumountしたそのパーティションを shredコマンドで抹消するだけで、実用上の問題は無いだろうと思っています。 所要時間の長さから、PCをそんな作業のために占有されるのが困るなら shredコマンドのほうが、合理的な選択肢だと思います。 まぁ、PCの性能仕様によっては、shred中に ほかの作業なんかまともにこなせないんですけどね… #具体的でない質問には、網羅的なやたら長い回答が来て、読むのが面倒くさいこともある。

phantom444
質問者

お礼

ありがとうございます

その他の回答 (4)

  • dev_null
  • ベストアンサー率67% (37/55)
回答No.4

デュアルブートのWindowsのパーテションを抹消する必要性が分かりません。 cドライブはもう二度と使用しないってことですか? 要望にあうか分かりませんが、badblocks を書き込みモードでやるくらいじゃだめですか? 米国国防総省式を調べると 3.『データ消去の確認が出来ない場合は、ドライブを破壊しなければならない』 ってことは、物理的に壊せばいいのでは?

参考URL:
http://www.linux.or.jp/JM/html/e2fsprogs/man8/badblocks.8.html
phantom444
質問者

お礼

回答ありがとうございます。 僕にはCドライブを抹消する必要性があります。 抹消したらまたOSをインストール使用と思っています。 物理的に壊したらOSがインストールできません。

  • ya9pon
  • ベストアンサー率34% (88/254)
回答No.3

Linux(UNIX)標準コマンドによるデータ抹消 http://www.cybernetic-survival.net/dd.htm によると。 # dd if=/dev/urandom of=/dev/fd0 ; dd if=/dev/urandom of=/dev/fd0 ; dd if=/dev/zero of=/dev/fd0 乱数→乱数→ゼロの書き込みであり、「NSA方式」の抹消と一応同じになる。 抹消の対象は例1、2と同じで、ゼロではなく乱数を書き込む 乱数の書き込みには、/dev/zeroに替えて/dev/uramdomを使う。 # dd if=/dev/urandom of=/dev/hda (プライマリハードディスク全体) # dd if=/dev/urandom of=/dev/hdb (セカンダリハードディスク全体) # dd if=/dev/urandom of=/dev/sda (1番目のSCSIハードディスク全体) # dd if=/dev/urandom of=/dev/sdb (2番目のSCSIハードディスク全体) # dd if=/dev/urandom of=/dev/hda1 (プライマリハードディスクの第1パーティション) # dd if=/dev/urandom of=/dev/sda1 (1番目のSCSIハードディスクの第1パーティション)

  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.2

読み方によっては File は消去するが、File system は残す とも解釈できますが、 米国国防総省式で、そういうものは知りませんが ハードディスクを完全消去する「DBAN」 http://sourceforge.jp/magazine/09/10/07/0859247 なるものは有ります。 従来の、shred、wipe は、米国国防総省式に 準拠しているかどうか解りません。 その他 Windows も含めて 参照 ファイル等を復元できないように削除するソフトウェア http://www.unixuser.org/~haruyama/security/user_security/sakuzyo_tool.html

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.1

簡単な方法としては、ddを使って 固定パターンを標準出力に出すプログラム | dd of=/dev/Windowsドライブに対応するデバイス 補数のパターンを標準出力に出すプログラム | dd of=/dev/Windowsドライブに対応するデバイス 乱数パターンを標準出力に出すプログラム | dd of=/dev/Windowsドライブに対応するデバイス ということになるかと思います。 (処理時間を短縮するために、バッファサイズを適切に設定するほうがよいかもしれません。) 問題は、パターンを出力し続けるプログラムですが、簡単にCなどで、 #include <stdio.h> main(){ while(1){ putchar(0x55); /*補数のときは0xaa*/ } } みたいなのを作って使ってもよいかと思います。

関連するQ&A

  • LINUXのデュアルブート

    Linux9およびFedoraCore4のデュアルブート環境を作りたいのですが、 WindowsとLinuxのデュアルブートの記事は検索できたのですが、 詳細な記事を確認できませんでした。これは可能なのでしょうか? また、可能であるならば、Windowsとのデュアルブートより設定は 難しいのでしょうか?Windowsとのデュアルブートはギリギリ頑張ればできそうですが、それ以上の難易度であれば、もう少し学習してからとりかかりたいと考えております。識者の方がいらっしゃいましたら教えて下さい。

  • Linux同士でデュアルブートは可能なの?

    WindowsとLinuxでデュアルブートはよく聞きますが、 ディストリビューションの違うLinux2台で、デュアルブートって 可能なのでしょうか? 具体的には、SuseとFedoraを考えています。 GRUBについてまだまだ勉強中なのですが、実際にはLinux同士で 1台のPCを共存させることは可能なのでしょうか?

  • LinuxとWindowsのデュアルブートで

    最近のLinuxはみなGRUBでWindowsとデュアルブートするようになっているみたいですが、こないだDebianをインストールした際、ダウンロードの最後の方でGRUBの設定みたいなのがあったのですが、そこで「他のOSがインストールされてます...。」とか何とかの表示が出ていて、これで自動的にLinuxとWindowsがデュアルブートできるようになるんだろうと思っていたらLinuxしか立ち上がりませんでした。 GRUB関係のファイルを設定すればいいのでしょうが、どのファイルをどのように書き換えればいいのでしょうか。 また、このへんのことは書いてある本によっても違いますし、ディストリビューションによっても異なるようですが。 何か基本になるファイルはあるんでしょうか。 ubuntuの時は、何もしなくてもそのままでデュアルブートできるようになったのですが。 昔、Slackwareをしていたことがあるのですが、そのころはLiloで簡単にできていたのですが。 GRUBの設定がよくわかりません。 WindowsがインストールされているところにLinuxをインストールする場合の設定方法が知りたいです。 よろしくお願いします。 

  • WindowsとLinuxのデュアルブートについて

    現在Windows10を使ってます Cドライブとは物理的に別のドライブにLinuxを入れたいのですがそこで質問があります Macでデュアルブートする時のように普段使用のWindowsを起動する時は何もせず起動させ、たまに使うLinuxを使うときだけ何かのボタンを押して起動選択画面を選んでから別OSを起動させるようなことは出来ますでしょうか? できれば初心者におすすめのLinuxも合わせて教えてください 目的はPythonとCを勉強したいというだけでWindowsでも出来ると言えばできる話ですが友人に進められたのでLinuxの勉強がてら入れてみたいと思ってます よろしお願いします

  • Linuxとのデュアルブート

    現在使用中のWindowsXPをOSとして使用しているPCにLinux(Fedoraあたり)をデュアルインストールして、Linuxのサーバに関するスキル取得を目指しているのですが、現在使用しているPCは、ハードディスクにリカバリ用のパーティション(イメージファイルがあるようです)があって、Windows上からは、Cドライブ1つしか見えてません。EASEUS Partition Manager Home などを利用して空きパーティションを作れば、現状XPがインストールされた状態から、Linuxをインストール可能なのでしょうか?空きパーティションを作ってから再度XPをインストールしなければいけないのでしょうか?それか、パーティション分割後は、イメージファイルの復元はできないのでしょうか?Linuxをインストールする際の注意点等ご存知の方がおられましたら助言のほどよろしくお願いします。

  • Linuxのデュアルブート

    Linuxのデュアルブートを考えています。 はじめからあったHDDにWindowsを内臓HDDを追加してそのHDDにLinuxをインストールしようとしました。初期画面でWindowsとLinuxの選択がうまく行きません。 どのようにすればいいのでしょうか??

  • デュアルブートとパーティションについて

    HD40GBにWindows xp と RedHat Linux 8.0をデュアルブートさせようと思います。そこで以下のように割り当てようと思っています。 ●Windows xp  ・Cドライブ → 15GB(NTFS形式)  ・Dドライブ → 20GB(FAT32形式→Linux側から見れるようにしたいため) ●RedHat Linux 8.0 → 5GB Windows xpのリカバリーCDを入れて、パーティションを切ろうとしたのですが、未使用の領域に8MB残ってしまいます。どうせなら、完璧に割り当てたいのですが、どのような方法でパーティションを切り、デュアルブートさせればよいでしょうか? 初期状態はWindows xpがCドライブのみに40GB入っていました。 今は、パーティションを切るのを試していて、何も入っていません。 もう一度初期状態に戻し、そこからパーティションを切る準備に入ったほうがいいのか、何も入っていない状態からパーティションを切る準備に入った方がいいのでしょうか? また、Linuxのfdiskコマンドを使えば無駄な領域を残さずパーティションを切れると聞いた事があるのですが、デュアルブートさせるときは、windowsからインストールしなければならないと本に書いてあったので、困っています。 いろいろ混乱しているので、質問が多く整理しきれていませんが、教えたいただける方どうかよろしくお願いします。

  • デュアルブート

    今現在PCの方にTurbolinuxが入っているのですが、Windows7のベータ版とデュアルブートして見たいと思いました。 そこでデュアルブートの方法を調べたのですが、ほとんどの記事がWindowsベースのデュアルブートのものです。 Linuxベースのデュアルブートはできるのでしょうか? 回答よろしくお願いします。

  • Linuxのデュアルブート

    windows7の搭載のPCにDebianをインストールしデュアルブートできるようにしようと思ったのですが、起動時のOSの選択項目にwindows7がなく、windowsにアクセスできなくなってしまいました。Debianを起動し確認するとC:ドライブのデータはすべて残っているようなのですが、どうしたらまた、windowsを使うことができるでしょうか?

  • デュアルブートしない

    HDDを2台にしてCドライブにXP,DドライブにWindows7を入れてデュアルブートにしていました。 それで今回、Cドライブの調子があまりに良くなかったのでXPの再インストールをしました。 そうしたら今までPCを立ち上げた時にどちらを起動するか選択できていたのに、そのままXPが起動してデュアルブート出来なくなりました。 この場合、どのようにしたら以前のようにデュアルブート出来るようになるでしょうか? すみませんが、どなたかご回答お願いいたします。