Scankeylx - プロダクトキー検索ツール on Linux

Copyright (C) [2005/10]-[2015/12] by Akinori Furuta.


ご利用ありがとうございます [Down Load]

名前の通りプロダクトキーをハードディスクから検索します。パーティション削除、 軽いフォーマット、システムファイル喪失、不良セクタ発生など Windows が起動しなくなってしまった状態でもかなりの 確率でキーを探します。

インストールまたはリカバリー途中でキーを紛失したことに気付いた場合に役立つかもしれません。なるべくなら、プロダクト ID (数字と 3 文字程度の英文字で構成された 20 桁の ID)を控えておくと、たくさん見つかった 25 桁のプロダクトキーのどれが正しのか判断が付きやすくなります。

Ubuntu の live mode を実行環境にしています。Ubuntu の動作環境に準じ、次に示す様にいくつかの条件をさらに必要とします。

本リリース 1512a は KNOPPIX で実行する方法をサポートしていません。KNOPPIX で実行する必要がある場合は、旧リリース KNOPPIX 対応版 scankeylx r1208a を使用してください。


目次

添付文書


手っ取り早く使いたい

Ubuntu を起動する方法によって次の表に示した手順を選択してください。検索しようとする PC で可能であれば上から順にお勧めする方法です。

Ubuntu 起動方法手順へのリンク
USB メモリすぐ後に続く手順に進みます
DVD-R と起動用 USB メモリ併用DVD-R (光学メディア) と起動用 USB メモリを併用して Ubuntu を起動し scankeylx を使用する
起動用 DVD-R (光学メディア) と起動用 USB メモリを併用します。USB メモリから起動できず、光学メディアから起動できる場合にお勧めする方法です。途中から USB メモリを使った起動に切り替わります。Ubuntu 12.04, 14.04 を使用します。
CD-RCD-R (光学メディア) から Ubuntu を起動して scankeylx を使用する
起動用 CD-R (光学メディア) と scankeylx だけを格納した USB メモリを使用します。古い PC で Ubuntu 10.04, 10.10 を使用するのが適している場合にお勧めです。

ここからの説明は Ubuntu 14.04 i386 PC 向けの最新版を起動可能な USB メモリを作成し、そこに scankeylx の必要ファイルを置く方法で利用する手順です。2Gbyte 以上の USB メモリ、または USB カード・リーダーと 2Gbyte 以上の SD Card の様なメディアを用意してください。

注意: この手順の通り進めると用意した USB メモリまたはメディアに保存されたファイルは全て消去されます。

ノート: 画像は開発中のものを使用しています。詳細な意匠、数値、文書が違っている場合が有ります。

1.

Ubuntu の web サイトにアクセスして Ubuntu をダウンロードします

[Windowsで操作] Ubuntu をダウンロードします。ダウンロード画面にある Choose your flavour という選択項目は "32-bit -- for machines with less than 2GB RAM" を選択してください。

2.

Universal USB Installer サイトにアクセスしてダウンロードします

[Windowsで操作] Universal USB Installer (UUI) をダウンロードします。広告欄のダウンロードボタンを押さない様に注意してください。 ダウンロードしたファイルは直接実行できる EXE ファイルになっています。展開は不要です。

ノート: サイトのデザインは良く変わります。上の画像は参考として見てください。
ダウンロードがすぐに始まらない場合が有ります。 タウンロードするファイルの検査に時間が 30 秒から 1 分程掛かることがあります。
MD5 sum を検査するツール(FCIV)がMicrosoft より提供されていますMD5 sum を検査するツールのページを日本語に機械翻訳したページ

3.

Universal USB Installer を起動して Ubuntu を USB メモリにインストールします

ノート: DVD-R (光学メディア)から起動する場合も Ubuntu を起動可能な USB メモリを併用します。このまま続けてください。

注意: この操作を始める前に、PC に接続している 使用していない外付けハードディスク、携帯電話、デジタルカメラ、 音楽プレイヤーなどは外しておいてください。接続したままだと誤操作で内容を消してしまう可能性も有ります。

[Windowsで操作] ダウンロードしたフォルダーを開いて、 "Universal-USB-Installer" をクリックまたはダブルクリックして起動します。

ノート: Internet Explorer で後からダウンロードしたフォルダーを開くにはメニューバーより ツール(T) (表示されていない場合は [ALT] + [T] を押す)→ ダウンロードの表示(N) をクリックしてください。ダウンロードの履歴が表示されます。ここで ファイルを開く あるいは 場所 の列にある項目をクリックしてください。

[Windowsで操作] 次の様なセキュリティ警告がでたら、 実行 をクリックして先に進みます。

[Windowsで操作] Agree をクリックして先に進みます。

[Windowsで操作] Step 1 の個所をクリックして "Ubuntu" を選択します。

[Windowsで操作] Step 2Browse クリックします。

[Windowsで操作] ダウンロードした Ubuntu desktop の "ISO ファイル" を選択して 開く ボタンをクリックします。

[Windowsで操作] Step 3: Select your USB Flash Driver Letter Only の下に有るプルダウンをクリックします。

[Windowsで操作] Ubuntu を起動する USB memory として使用するドライブを選択します。USB memory の容量を確認して Ubuntu 起動のために使用するか確認してください。

[Windowsで操作] We will format X:\Drive as FAT32 にチェックを付けて、Step4: Set a Persistent file size for storing changes (Optional). は 512MB~600MB にして下さい。[←] [→] キーで微調整できます。Create をクリックして先に進みます。

[Windowsで操作] 最終確認のダイアログです。フォーマットされて消されても良いドライブか確認して はい をクリックしてください。ここで いいえ をクリックすれば USB memory の内容は消さずに Universal USB Installer を終了します。

[Windowsで操作] 処理経過表示です。特に操作をする必要は有りません。処理終了まで Close ボタンは灰色のままです。

[Windowsで操作] 処理経過表示です。特に操作をする必要は有りません。

[Windowsで操作] 処理は全て終了し Close ボタンが押せるようになります。 Close ボタンをクリックして終了します。

続けてこの USB memory に scankeylx を実行するのに必要なファイルをコピーします。

4.

scankeylx をダウンロードして USB メモリのルート・フォルダに展開します

[Windows で操作] scankeylx_r1512a.zip をダウンロードします。

[Windows で操作] ダウンロードした zip ファイルを右クリックします。

[Windows で操作] すべて展開 をクリックします。

[Windows で操作] 参照(R)... をクリックします。

[Windows で操作] Ubuntu をインストールした USB メモリを見つけてクリックし、 OK ボタンを押します。

[Windows で操作] 展開(E) をクリックして zip ファイルの中身を USB メモリ上に展開します。

展開後の USB メモリの内容は次の様になります。下の画像は開発中に撮ったものです。最新のファイル構成はscankeylx 展開内容を参照してください。

DVD-R (光学メディア) に Ubuntu を書き込んで起動する場合はこのリンク先の手順に進んでください。

以上で Windows で行う操作は終了です。

5.

プロダクトキーを検索しようとする PC で Ubuntu を USB メモリから起動します

作成した Ubuntu 起動 USB メモリを PC に接続してください。

電源 ON または再起動操作をします。

USB メモリより起動する様に BIOS を設定・確認します。お使いの機種のマニュアルを参考にして設定してください。多くの PC では [F2] または [Delete] キーで設定画面が現れます。[F8][F11][F12] いずれかのキーを押して起動するデバイスを選択できる機種もあります。

ノート: 起動するデバイスを選択する画面で同じ USB メモリが 2 つ見える場合が有ります。その場合、UEFI, BIOS, USB のいづれかが選択肢の表示に付加されていることが多いです。UEFI が付いていない選択肢を選んで起動してください。

6.

Ubuntu をインストールしないで「お試し」で起動します

ノート: [↑] [↓] キーを連打しながら起動すると次の様な画面になります。使いやすい言語を [↑] [↓] キーで選び [Enter] キーを押してください。英語キーボードを使用している場合は、English のまま進めて下さい。

言語選択の後、次の手順に示す画面になります。起動が早くなります。

次の様な Installer boot menu 画面が現れたら "Try Ubuntu without installing" ("インストールせずにUbuntuを試してみる(T)") をカーソルキーで選択し [Enter] キーを押して次に進みます。現れない場合はこの画面は飛ばされて、先に進んでいると思われるので、次の手順に進んで下さい。

USB メモリにインストールする Ubuntu の種類によって、次の様な Try Ubuntu (Ubuntu を試す)、Install Ubuntu (Ubuntu をインストールする) を選択する画面が現れます。左側の言語選択から下の方にある 日本語 をクリックして、Ubuntu を試す をクリックしてください。この画面が現れず、デスクトップ画面表示まで進む場合も有ります。

ノート: 英語キーボードを使用している場合は、言語は英語のまま進めてください。英語を選択した場合は、この手順書の意味を適宜読み替えて操作してください。

問題と解決: 環境によっては次の様にログイン画面になる場合が有ります。Ubuntu のバージョンによっては Username: ubuntu、Password: 入力なし でデスクトップ画面になります。それでもログインできない場合は、ログインできる様に修復作業を始めてください

問題と解決: 環境によっては画面が真っ暗になるか、映像信号が途絶えてしまう場合が有ります。画面が出る様に起動パラメータを修正し、再起動して下さい。

7.

Terminal ウインドウを開き、そこから startscankey を起動します

デスクトップ画面が利用可能になります。初めに次の様なショートカット早見表が現れる場合があります。早見表は特に気にせず操作を進めてください。

左上の Ubuntu アイコン をクリックします。テキスト入力部分に term と入力します。アイコンがいくつか現れるので "Terminal" と書かれたアイコンをクリックしてください。

問題と解決: term と入力している最中の応答が悪く、1 文字の入力に対して 0.5 秒以上後に反応する場合は、古い Ubuntu を利用してください。14.04.x よりは 12.04.x の方が早いです。古い方が検索速度が 1.5 ~ 2 倍以上早い場合が有ります。

次の画面の様な Terminal ウインドウ が開きます。少し後で操作します。

"Home Folder" アイコンをクリックします。このアイコンは「引き出し」を模した絵または「書類フォルダー」を模した絵になっています。ファイル一覧ウインドウが開きます。

開いたウインドウの左側欄に有る"File System" (または "Computer") をクリックします。

"cdrom" フォルダーをダブル・クリックします。

"startscankey"ファイルを Terminal ウインドウ へドラッグ&ドロップします。

Terminal ウインドウ 内にドロップすると、次の様にキーボードから入力した様に文字列が表示されます。Terminal ウインドウ をクリックして [Enter] キーを押してください。 scankeylx が起動します。
次は Terminal ウインドウ に入力する文字列です。ドラッグ & ドロップを使わない場合はコピー & ペーストの雛型として利用できます。

'/cdrom/startscankey'


8.

検索対象のドライブを選び検索を始めます

scankeylx ウインドウDrive をクリックして、検索したいドライブを選択します。 OK ボタンをクリックして検索を開始します。

9.

検索終了まで待ちます。終了したら scankeylx を閉じます

検索を終了すると進捗表示が 100.00% になるので Exit ボタンをクリックして scankeylx を終了します。

本当に終了するかダイアログが表示されるので、 Yes をクリックして終了します。

9(補).

[中断方法] 検索途中で中断する

Cancel ボタンを押してください。ダイアログが現れるので、中断する場合は Yes 、続行する場合は No をクリックしてください。

10.

検索結果を整理する操作です。reportlog を起動します。必須ではありませんが結果が読みやすくなります

ノート: 解析済みの古いログファイルはコピーを作ったら削除しておいた方が解析が早くなります。

scankeylx タイトルが付いたファイル一覧ウインドウを見つけてクリックしてください。最前面に表示されます。 "reportlog" アイコンをダブルクリックしてください。

ノート: scankeylx タイトルがついたファイル一覧ウインドウが見つからない場合は、下に示す様な画面左側のフォルダーアイコンを見つけて、クリックします。
または
ファイル一覧ウインドウが現れるので、ウインドウ左欄にある File System (または Computer ) → ウインドウ中心欄の中から "tmp" フォルダ → "scankeylx" フォルダの順にクリックまたはダブル・クリックで開いて下さい。

問題と解決: 次の様なテキストエディタウインドウが開いてしまう場合は、Terminal ウインドウ を開いて reportlog を起動します

次の様に実行方法を選択するダイアログが表示されます。 Run in Terminal をクリックしてください。

ほんの一瞬程度から 1 時間程度掛かります。処理が始まると、次の様な進捗状況を表示するウインドウが現れます。(処理時間が短い場合は黒い影の様な表示が一瞬現れるだけです)。自動的にウインドウは消えます。解析結果各ファイルの詳細はこのリンク先を参照してください

解析結果は scan_xxxxxx_yyyyyy.dir に格納されます。解析結果各ファイルの詳細はこのリンク先を参照してください

11.

Ubuntu をシャットダウンします

画面の右上隅の 歯車マークShut down... の順にクリックします。

次に示すいずれかに近いダイアログが表示されます。Shut down 電源 On/Off ボタンをクリックして Ubuntu を終了します。終了操作をした後、DVD-R (光学メディア)から起動した場合はこのリンク先の手順に進んでください。


12.

電源が自動的に切れます。検索結果は USB メモリに格納されています。起動に使用した USB メモリを抜いて下さい

問題と解決: 電源が自動的に切れない場合は、30 秒ほど待ってみてから、電源ボタン長押しなどをして電源を強制的に切ってください。


実行環境

実行環境はおおよその目安は Windows XP Professional 以降の Windows が動作する条件と一致します。 全ての条件を満たせない環境でも CPU とメモリだけは条件を満たすようにしてください。

項目 必要能力の説明
PC 仕様

PC/AT 互換機 (目安として Windows XP かそれ以降の OS に対応している)


PC/AT 互換機で Windows XP 以降の Windows に対応している PC 構成であれば Ubuntu 12.04 i386 または Ubuntu 14.04 i386 を実行できると考えられます。よく使われていた CPU、チップセットの PC の方がより望ましいと思われます。
Ubuntu を起動できない場合は、特殊な拡張カードを出来るだけ外してみてください。

実行 OS

Ubuntu 12.04 i386 live CD/DVD または Ubuntu 14.04 i386 live DVD を USB メモリか DVD-R の様なメディアにインストールしたもの


Pentium 4 や Athlon XP を含みより古いプロセッサで実行する場合は Ubuntu 12.04 を推奨します。

検索対象 OS

Windows 95, 95 の各種 OSR, 98, 98SE, Me, NT 4.0, 2000, Xp, Vista, 7, 8, 8.1, 10


Windows 2000 Server, Windows XP MCE キーを検索できる様です。

プロセッサ

Pentium III または Athlon 1GHz 以上 の能力をもつプロセッサを推奨


最低でも Pentium Pro と互換性があるプロセッサ(代表例として Pentium II, 初代 Celeron 以降) を 使用してください。Ububtu の仕様に由来します。

注意: VIA C3, C7 プロセッサは動作対象外とします。

次の表は HDD の外周部を検索していて、キーと思われるパターンが 10 秒に 1 個程度見つかる程度の状況における検索速度の目安です。HDD の転送能力、チップセット、拡張カード(HDD, VGA)、バスの能力に依存してこれより遅くなる場合があります。HDD の内周部の読み出し速度は外周部に比べて半分以下になる場合も有ります。

プロセッサ検索速度(Mbytes/sec)
AMD Athlon XP 2500+85 - 90
Intel Pentium 4 2.0GHz 65 - 70
メモリ

512 MiByte 以上


メモリ量が 1 GiByte 未満かつビデオメモリとメインメモリを共有している場合、ビデオメモリに配分するメモリ量を減らしてください。可能であれば BIOS セットアップメニューでビデオメモリ量を調整してください。512 MiByte 未満の場合、検索が出来なくなります。

画面解像度

Ubuntu で対応し、1024x768 65536 色以上


3D アクセラレータ機能の有無、サポートレベルは不問です。

検索対象ドライブ

パラレル ATA, シリアル ATA, SCSI, USB 接続のハードディスク


PATA(IDE), SATA 接続であれば普通に検索できるはずです。 Linux で対応していないコントローラーでは検索できませんが、希少だと思われます。UBS 3.0 (Super Speed) 接続のハードディスクを検索したい場合は、なるべく新しい Ubuntu 14.04 を使用してください。

注意: 暗号化されているディスクは検索できません。

USB ポート

「USB 1.1/2.0/3.0 何れかの仕様であること」、できれば「BIOS(UEFI) 設定で USB メモリ起動ができること」


BIOS 設定で USB メモリのことを USB HDD と表現している場合も有ります。安定性を重視し、なるべく USB 1.1/2.0 ポートを使用してください。USB 3.0 仕様の Super Speed の早さは必須ではありません。

光学ドライブ

USB メモリで起動できない場合の代りの手段として、DVD または CD メディアより起動できること


USB メモリから PC を起動できない場合、DVD または CD メディアを読み取り、起動できる光学ドライブが必要になります。PC に内蔵している必要はありません。USB 接続の光学ドライブから起動できる構成でも利用可能です。読み取り可能なメディアにより使用する Ubuntu を選んでください。

読み取り可能なメディアUbuntu リリース
CD Ubuntu 12.04.x を使用して下さい。
DVD Ubuntu 12.04.x か Ubuntu 14.04.x を利用できます。
マウス

最低限 2 ボタンの PS2 マウス


3 ボタン(ホイールの部分がボタンになっているものも含みます)あるとさらに使いやすくなります。 PS2/USB どちらでも利用可能です。

ネットワーク

有線 LAN 接続 または 無線 LAN 接続


必須ではありません。「Ubuntu を試用」できない場合に、追加ソフトウエアをインストールする時に使用します。イーサーネットケーブルを使用した有線 LAN 接続をお勧めします。オンボード(PC の背面や側面の接続端子)に接続する形態をお勧めします。USB-Ether 経由や無線 LAN 接続の場合、接続設定が難しい場合が有ります。

Ubuntu リリースと scankeylx 動作状況

Ubuntu 14.04 i386 を USB memory boot で使用することを推奨します。次の表は手元で確認した ubuntu の動作状況です。全て 32bit (intel x86 または i386 アーキテクチャ) バージョンです。

Ubuntu Release推奨度詳細
10.04 desktop 推奨しません。scankeylx 実行途中で強制終了してしまう現象を確認しています。 Socket7 インターフェースの Pentium、あるいは、これより古い CPU を搭載している古い PC で使用する場合に使ってください。 操作手順は省略します。

ノート: Ubuntu 10.04 はプロセッサに PAE 機能が無くても起動する Linux です。 PAE 機能は Pentium Pro より導入されました。

12.04.1 日本語 remix desktop

12.04 の初版のままなので 2012/04 以降の新しい PC では起動できないか、起動しても完全に動作しない場合があります。

ノート: 論理プロセッサ数が 1 個の PC で使用する場合は Ubuntu 12.04.x を使うことをお勧めします。Ubuntu 14.04.x を使用すると操作性が悪く、検索速度も遅くなってしまう場合が有ります。

12.04.5 desktop (英語版) 12.04.1 より改良されています。日本語 remix より問題が出にくくなっています。
14.04 日本語 remix desktop 版は少し古いですが、14.04.3 に比べて問題が少ないです。
14.04.2 desktop (英語版) もし入手できるならこちらを使ってください。
14.04.3 desktop (英語版) 追加手順が必要になることが有ります。Live mode(インストールせずに使用する機能)で起動すると、ログイン画面になってしまいデスクトップを使用できない問題が見つかっています。
15.04 desktop (英語版) 追加手順が必要になることが有ります。Live mode (インストールせずに使用する機能)で起動すると、ログイン画面になってしまいデスクトップを使用できない問題が見つかっています。

USB メモリを用意する

このページでは USB フラッシュ・メモリ・ドライブ(下の画像では USB メモリ)、USB カード・リーダーを総称して USB メモリと呼ぶことにします。 下の写真に写っている様な機器(セット)です。どれか 1 つ(USB カードリーダーの場合はカードリーダーとメモリカード)を用意してください。カードリーダーを利用する場合、挿して使うメモリカードは認識すれば何でも構いません。

USB フラッシュ・メモリ・ドライブドライブを推奨します。容量は 2Gbyte 以上必要です。カードリーダーはなるべく 1 スロット型を使用してください。あるいは複数スロットのうちの一つが認識される製品を推奨します。

次の様な複数スロットの USB カード・リーダーを使う場合、挿し込むカードは 1 つにして下さい。複数スロットのカード・リーダーから起動できないケースは確認できていませんが、PC によっては起動できない可能性も有ります。起動に必要な設定・操作を確認し、問題が発生した場合は各々で対応をお願いします。

ノート: USB3.0 (Super Speed) 対応 USB メモリも使用できます。ただし、USB 3.0 対応メモリは従来の USB 2.0 (High Speed) ポートに接続して使用することをお勧めします。PC の BIOS や Ubuntu (Linux) の対応が十分ではない可能性があり、USB 3.0 ポートに接続すると Ubuntu が起動しても不安定で止まってしまう可能性があります。USB 2.0 ポートに接続すると Ubuntu 起動時間に差が出ますが、scankeylx の検索時間は大きく変わりません。安定性を重視し USB 2.0 (High Speed) 接続で使用してください。


scankeylx 展開内容

ダウンロードした scankeylx_r1512a.zip は Ubuntu をインストールした USB メモリに展開して使用します。インストーラーは特にありません。USB メモリに展開するには、USB メモリのドライブ直下 (例えば E:\, F:\, G:\ などのルートフォルダ)にして下さい。一時的に展開する場合は Windows フォルダや重要なファイルがある場所以外ならどこでも良いです。一番使い慣れたツールで展開して下さい。Windows Xp, Vista, 7, 8 ならば zip ファイルを開ける(展開できる)ようになっています。不要になったなら展開したファイルを全て削除して下さい。

展開すると次のファイルが現れます。太字のファイルは必須ファイルです。 ソースコードを除き、展開して現れた .tar.gz, .zip ファイルをさらに展開する必要は有りません。

ファイル名 実行に必要 説明
sklxh フォルダー内全て 不要 scankeylx を補足説明するファイルを含んでいます。実行には必要ありません。ファイル数が多いので特に説明しません。
sklxi フォルダー内全て 不要 scankeylx.htm で使用しているイメージファイルです。 実行には必要ありません。ファイル数が多いので特に説明しません。
fixboot 必要 Ubuntu を起動たら画面が出なくなってしまった場合に使用する修復プログラムです。Ubuntu 上で実行します。
fixboot.exe 必要 Ubuntu を起動たら画面が出なくなってしまった場合に使用する修復プログラムです。Ubuntu 上で fixboot を実行できない場合はこちらの Windows 版を使用します。
metacity.sh 必要 "Try ubuntu" を選択して起動しても「試用モード」で起動せず、「ログイン画面」になってしまった場合の修正プログラムです。
scankeylx.htm 不要 このファイルです。実行には必要ありません。
scankeylx.tar.gz 必要 scankeylx の実行ファイルです。このファイルを展開する必要はありません。実行ファイル scankeylx と他に必要なファイルが圧縮されて格納されています。
scankeylx_src_r1512a.tar.gz 不要 scankeylx のソースファイルです。このファイルを展開する必要はありません。
startscankey 必要 scankeylx を起動するためのファイルです。内容はシェルスクリプトです。

検索設定の詳細

変更する必要性は殆ど有りませんが、検索の方法や、結果の形式を設定することが出来ます。 「検索途中で先に進まない」、「検索結果のテキストを UNIX 改行形式にしたい」と言う場合に参考にしてみてください。 各項目に () 番号を振ってあるので、それぞれ対応する説明を見てください。

scankeylx のメイン画面
項目 変更必要性 内容
(1) Drive 有り プルダウンして (▼を押して) 検索対象のハードディスクを選んでください。

(2) ->
(3) [Browse]

なし 保存先ファイルのパス名を指定して下さい。起動直後は startscankey が存在する場所が保存先です。どうしても保存先を変更したいときだけ変更して下さい。
(4) DMA Enable なし

DMA を有効にする場合はチェックを付けてください。 付け忘れても、検索開始前に DMA を使用するかどうか聞きます。

ノート: チェックマークの操作が出来なくなっていても問題ありません。 DMA が有効かどうかは自動的に決まるか固定されている場合は操作ができません。

(5) Windows (CR/LF) なし 検索結果を保存する形式を選択します。行末を Windows に適合した CR, LF の 2 コードで表現します。普通は Windows (CR/LF)を選択してください。
(6) UNIX (LF) なし 検索結果を保存する形式を選択します。行末を UNIX に適合した LF 1 コードで表現します。 普通は選択しないで下さい。
(7) Auto Skip Factor なし 読み取りエラーがあった場合、読み取りを飛ばすセクタ数の上限を自動で決めるかどうか を指定します。普段はチェックを付けた状態にします。自動の場合は飛ばすセクタ数の上限が 1000 以上になる場合もあります。しかし、 実際はエラーが起きたら徐々に飛ばし量を増やすので、40 セクタ程度を飛ばすだけで済む場合が殆どです。
(8) Skip Factor なし Auto Skip Factor のチェックを外して入力してください。読み取りエラー発生時に読み飛ばすセクタ数の上限を指定します。
(9) Drive Identification 不可 製造元、型番、シリアル番号またはファームウエアバージョンなどが表示されます。表示専用です。 パラレル ATA、シリアル ATA 、SCSI 接続のハードディスクと一部の USB ストレージに対応しています。
(10) By 1000 bytes 不可 1000 バイト単位で数えたドライブ容量が表示されます。表示専用です。 ドライブのラベルまたは購入時に示された容量に近い値が表示されます。
(11) By 1024 bytes 不可 1024 バイト単位で数えたドライブ容量が表示されます。表示専用です。 Windows のプロパティ表示に近い値が表示されます。
(12) Running Monitor 不可 検索の進捗状況を表示します。左から 検索済みセクタ数/全セクタ数、(進捗率%)、 バッファ読み溜め数:バッファ空き数、 1分間の平均検索速度 bytes/sec、3分間の平均検索速度、今までの平均検索速度を示します。 表示専用です。
(13) □ (S) 不可 アクセスのスムーズ度合いを示します。
文字 意味
S 検索をしていない状態です。
G 巡航速度で検索をしています。
黄(黄緑) Y アクセス速度が若干低下しています。 他のアプリケーションに処理を奪われているか、 ディスクに軽微な読み取り障害が有ると思われます。
O アクセス速度が低下しています。 ディスクに回復に困難を要する読み取り障害が有ると思われます。
R アクセス速度が異常に低下しています。 ディスクに致命的な読み取り障害が有ると思われます。
(14) [OK] - 検索を開始するボタンです。
(15) [Cancel] - 検索開始前と検索終了後の状態で押すと scankeylx を終了します。検索中は検索を中止します。

質問と回答

検索対象のディスクに関する問題

Q. フォーマットしてしまった。
A.

ローレベルフォーマットやデーター消去ツールによる消去をしていなければ見つかる可能性があります。 Windows が提供しているツールでフォーマットした場合は場合、読み出しが正常か検査しているだけの場合か多いようです。

Q. 途中までインストール/リカバリした後で見つかるの?
A.

見つかる可能性はかなり低くなっています。 しかし、稀に過去にインストールしていた Windows のキーが見つかることもあります。 工場出荷時に使用していた仮キーが見つかる場合もあるので注意してください。

Q. RAID ドライブを検索したい。
A.

RAID ドライブは未検証です。期待通り動作するか不明です。

検索結果の問題

Q. どれが本当のキーだか分からない。
A.

reportlog を使ってある程度整理してみてください。 Windows Vista, 7, 8 向けに実装した検索処理によってキーを見分けやすくなっています。 結果の一部に Ultimate, Retail 等のエディションや販売形態を意味する文字列が付く場合が多くなりました。以下のような形式になります。

DigitalProductId4=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX 12345-12345-123-123456-12-1234-1234.1234-1234567 01234567-89ab-cdef-0123-456789abcdef Ultimate X12-12345 Retail Retail 12345-123-1234567-12345 (data)
DigitalProductId=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX 12345-OEM-1234567-12345 英文または単語の羅列 (data)

Windows Vista, 7, 8 以外の場合は見分けるのが難しくなります。発見されるキーは Office、開発環境などの アプリケーションやコンポーネントも含まれます。この中にはインストールキーを必要としないにも関わらず、 内部的に隠れたキーが存在するものがあります。稀ですが過去にインストールしていたか工場で調整用に使われた Windows のキーも見つかります。誤認識した結果も含まれます。

発見したキーの種類によっては「ヘルプ」→「バージョン情報」や「コントロールパネル」から表示されるプロダクト ID がヒントとして付く場合があります。この場合途中の 3 桁部分 -xxx- が製品を表すものになっていて "OEM" などの場合は、OEM 版 Windows の可能性があります。

過去に scankeylx で検索した結果を再検索して発見している場合もあります。この場合 ProductId== や ProductKey== の様に等号 = が複数続く場合があります。

ノート: 古い scankeylx は処理が不十分なため DigitalProductId=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX YYYYY-YYYYY-YYYYY-YYYYY-YYYYY の様に 1 行 2 連で出力する事が有ります。この場合は後側のキーが過去に発見したキーの可能性があります。

Q. 行の一番最後に (win8-10) が付いているキーとその直前のキーの関係は?
A.

例えば次の様にドライブ上の同じ個所から、キーを復号して検索結果として保存する場合が有ります。 1 行目は Windows 7 まで対応した復号方法で得られたキーです。2 行目は Windows 8 から新しくなった復号方法で得られたキーです。 検索しようとする Windows のライセンスキーは Windows Version に依存して変わります。必要な方を選んでください。

DigitalProductId=BBH8V-R93HK-R266Q-9CT93-XXXXX this key sample is not valid
DigitalProductId=J799X-QJ2R3-BRBTY-42DTK-YYYYY this key sample is not valid (win8-10)

Q. 入力した覚えが無いキーが表示され、インストールの時にも受理されるのはなぜ?
A.

いくつかの場合が考えられます。

  • 工場での作業性向上を目的としたインストールキー(特定メーカー、機種でしか使えない)
  • Windows Vista, 7 等でキー入力を省略または間違えた場合、 内部で補助的に使われるキー(期間限定のライセンスであり、恐らくキー省略時と比べ同じかより短期間のライセンスでしかない)
  • アップグレードをした際に自動的に入力されたキー(このキーはアップグレードにしか使えない)
Q. 発見したプロダクト ID の下 5 桁(01234-567-0123456-XXXXX の X 部分)が稼働中に控えた数値と一致しない。
A. 何らかの操作または処理によって再計算されたと考えられます。下 5 桁の部分はインストールする度に変化します。 scankeylx でプロダクト ID と組で検索した 25 桁のプロダクトキーの方は下 5 桁の変化とは無関係に復号されたものです。
Q. 水色で表示される検索結果の意味は?
A. 既出または記録を省略する検索結果です。画面に表示されますが、ディスクに保存されません。既出の検索結果を記憶する数は制限されています。制限一杯になると、入れ替えを行います。したがって、ディスクに同じ結果が保存されることもあります。
Q. 検索結果はどれくらいの大きさになるの?
A. 数 10Kbyte から 20MByte 程度の範囲です。 これだけ範囲が広い理由は、ディスクの使用状況に応じて大きく変化するためです。デフラグを頻繁にした場合はより多くの検索結果が出力されます。以前に検索した結果が残っていれば、再検索され、検索結果が大きくなります。
稀に 2Gbyte を超える場合が有ります。この場合検索結果を格納するファイル名に _001, _002, ... が付加され、継続して結果を保存します。さらにディスクが溢れた場合、KNOPPIX が強制終了する事が有ります。
Q. 検索結果か毎回違うようだ。
A. 検索結果が毎回違う事が起きます。検索漏れは起きません。 検索アルゴリズムを簡略化したためにおきます。scankeylx はディスク全体を細分化して検索しています。分割した境界付近で検索漏れが起きないように、境界付近は重複して検索します。境界付近でキーが発見された場合は、同じキーが複数回見つかります。分割のされ方は利用可能メモリ量によって左右され、起動時のわずかな状態の差により変化します。
Q. 検索を途中で中止しても reportlog で検索結果を分析できるのか?
A.

出来ます。分析する範囲は中止するまでに検索した内容に限定されます。

Q. OK ボタンを押して再検索してしまった。前の検索結果は残っているの?
A.

残っています。保存先ファイルに再検索結果を追記しています。再検索で追記するまでの内容は変化しません。

Q. Windows Vista の Anytime Upgrade でアップグレードした時に使われたプロダクトキーは見つかるの?
A.

見つかるようです。Anytime Upgrade でも内部でプロダクトキーを使用していると考えられます。

アップグレードした後、プロダクト IDを控えておき、scankeylx で発見した プロダクトキーに付加された プロダクト ID と照合してみてください。 ただし、プロダクト ID の下 5 桁は一致しないかもしれません。発見したキーはアップグレードする場合に使えます。Windows Anytime Upgrade インストール メディアを使用してアップグレードする場合に有効なキーとして扱われるようです。

ノート: 発見したキーでクリーンインストールはできません。

Q. 1512a 版は以前の scankeylx と比べて検索結果ファイルが小さくなる。検索漏れが起きているのか?
A.

小さくなります。重複検出機能を強化しました。

実行環境の問題

Q. USB メモリ がありません。携帯プレイヤー、デジタルカメラ、スマートホンを使いたい。
A.

携帯プレイヤー、デジタルカメラ、スマートホンを USB メモリ代わりに使わないで下さい。 Linux(Ubuntu) と接続した場合の動作を十分に検証していないと考えられます。 保存されている音楽や画像が失われたり、コンテンツの使用権が失効してしまう可能性が有ります。 特に Windows ではアクセスできなかった隠しパーティションをアクセスできてしまう問題があります。 隠しパーティションに格納された重要なソフトや管理情報を破壊する可能性があります。

Q. USB メモリがありません。USB ハードディスクを使いたい。
A.

USB ハードディスクを使う場合 FAT32 でフォーマットする必要が有ります。NTFS, exFAT でフォーマットした場合は、認識されないか保存されているファイルを壊してしまう可能性も有ります。

注意: フォーマット形式を FAT32 へ「変換する」ことはできません。フォーマットをすると記録されているファイルは失われます。

注意: 録画機器の拡張ドライブとして使用しているハードディスクドライブは使用しないでください。Ubuntu(Linux) に接続した場合、保存した内容が消えてしまったり、正常に読めなくなってしまう可能性が有ります。

Q. Ubuntu が32Gibyte を超える大容量 USB メモリ(ハードディスク)を認識しない。
A.

大容量の USB メモリは NTFS, exFAT でフォーマットされています。 Ubuntu ではこれらのフォーマットを認識できないか、認識できたとしても正常にアクセスできない可能性が有ります。 特殊なツールで FAT32 でフォーマットする必要が有ります。

注意: フォーマット形式を FAT32 へ「変換する」ことはできません。フォーマットをすると記録されているファイルは失われます。

Q. USB メモリから Ubuntu を起動できません。光学ドライブから起動した Ubuntu で動作しますか?
A.

光学ドライブから起動した Ubuntu で実行する手順を参照してください。

Q. USB メモリのお勧めは?
A. 2Gbyte 以上でフラッシュメモリを使用したサム(親指)型 USB メモリをお勧めします。手頃な値段で販売されている汎用的な製品が使えます。 高速品を使う必要はありません。
Q. Ubuntu 以外の Linux で使用できないの?
A. Ubuntu 派生系で x86 (32bit) バイナリの Linux ならば動作する可能性があります。実験的に Linux Mint を試しています。 細かな所で使用方法が違う所がります。工夫して使ってください。
Q. 実行ファイル、その他のファイルはインストールされるの?
A.

USB メモリ、DVD-R (光学メディア) から起動した場合はインストールされません。後から追加したパッケージは USB メモリ上に保存されるか、主記憶上に一時的に配置されます。電源を切ったりリブートすれば検索対象の PC から消えます。

注意: PC にインストール済みの Linux を起動して scankeylx を使った場合は、アプリケーションアイコンを /usr/share/pixmaps/scankeylx.png としてインストールします。

Q. メモリが足りない、USB メモリをスワップスペースとして使用したい。
A. USB メモリをスワップスペースとして使うと動作が不安定になります。最低でも 512Mi byte のメインメモリを実装して使用してください。
Q. CPU を多くしたり、ハイパースレッドを有効にすると早くなるの?
A.

検検索結果が多く出力される場合は早くなります。scankeylx の構造はマルチスレッドです。検索結果が 10 秒に 1 個程度の割合未満で疎らに出力されている状況では常時高負荷となるスレッドは 1 つだけです。出力が疎らな状況の検索速度は CPU 処理速度、または 検索対象ドライブのアクセス速度の遅い方によって決まります。 1, 2, 4 CPU 環境で動作を確認しています。

scankeylx の表示の問題

Q. Ubuntu が立ち上がっているようだが、画面が表示されない、画面が流れる。
A.

Ubuntu を試す(Try ubuntu) で 画面が写らなくなる場合の修復方法 を試すか、Ubuntu のリリース年と検索をしようとしている PC の製造年を比べ、差が小さくなる Ubuntu を使用してみてください。 Ubuntu リリースが 12.04 であれば 前 2 文字は西暦の 下 2 桁です。2012 年 4 月のリリースと言うことになります。LTS と呼ばれる長期サポート版は 10.04, 12.04 と 14.04 です。これらは改良が加え続けられています。枝番が 12.04.3 の様に付いていて、新しくなるほど番号が大きくなります。最新の PC に対応する改良が加わる代りに、古い PC に対応できなくなる問題を含む場合が有ります。お手数をお掛けしますが、色々と探してください。

Q. 大容量 (137 Gbyte) 以上のドライブだが、異常に少ない容量に見える。
A. IDE コントローラーまたはドライバが Big Dirve に対応していないと思われます。対応したカードを使用するか別の PC で試して下さい。
Q. なぜ違うドライブ容量の表示があるの?
A. 大きいほうがハードディスクのラベルまたは販売時に示された容量、小さいほうが Windows が報告した容量とほぼ一致すると考えてください。両方で単位が違います。
Q. インジケーターが黄色または赤くなる。
A. HDD のアクセス速度が異常に遅い場合に起きます。CPU が要求スペックより遅い、検索を開始した直後ブラウザを立ち上げるなどの別の操作をはじめた、などの場合は正常であっても起きます。破損した/破損しかかっているセクタを読み取ろうとした場合は、黄色または赤くなります。
Q. Browse ボタンが赤くなった。
A. 検索結果保存先の空きがなくなった状態です。検索終了まで待ち、Browse ボタンを押して保存先を設定しなおしてください。設定しなおした直後に滞留していた検索結果を書き出します。 より容量が多い USB ストレージを使用してください。ただし、32Gbyte 以下にしてください。FAT(FAT32) でフォーマットする必要が有ります。

実行中の問題

Q. 実行するととても反応が悪くなる。
A.

DMA Enable にチェックを付けてください。scankeylx は DMA Enable によって DMA を使用する設定ができます。DMA を使用せずに検索を開始しようとした場合、 ダイアログで使用を催促します。

Q. Cancel/Close ボタンが効きにくい。
A. 大体 10 秒以内に効くように設計しています。しかし、破損した/破損しかかっているセクタを読み取ろうとしている最中は、 数分間程度効かない場合があります。
Q. Scankeylx 実行中にログアウトしようとしたけどできない。
A.

申し訳ないですが、仕様の問題とします。
ログアウトしようとするとウインドウを閉じてよいかウインドウを管理しているソフトウエアから問い合わせが scankeylx に来るのですが、色々と都合があって「まった」を掛けています。

Q. 結果出力ウインドウを消せない(閉じても復活する)。
A. scankeylx が動作している間は消しても復活します。
Q. 検索対象ドライブに対して書き込みすることはあるの?
A.

以下の場合、書き込みが行われる可能性があります。 普通に scankeylx を使用するのであれば書き込みは行われません。

  • 検索対象が ハード・ディスク・ドライブ、または USB メモリでルートフォルダに scankeylx を格納している。
  • Linux で認識可能な ext2, ext3, ext4 などのパーティションがあるハードディスクを使用している場合、auto mount が行われ、ファイルに影響しない管理情報を整合してしまう可能性があります。
  • 過去または直前まで Solaris をインストールして使用していた。

    注意: Solaris をインストールしたドライブがある場合、 Ubuntu を含め Linux を使わないでください。Solaris で使用しているファイルを壊す可能性があります。

  • 検索結果格納先に検索対象ドライブを指定した場合(特に防御していません)
  • 検索対象ドライブのアイコンを開いた場合
Q. 突然検索が終了してしまった。
A. 検索中に接触不良が起きたり、コントローラーが不調になり、 ドライブが切断されてしまった場合は検索が中断されます。USB 接続の場合に起きやすい現象です。 ログの最後に "Lost device or file, maybe disconnect or driver failure." というメッセージが記録されます。
Q. ドライブの選択が出来ず、 OK ボタンが押せなくなった。
A. 予期しないエラーが発生し、操作がロックされました。 scankeylx をいったん終了し、再び startscankey から起動してください。
Q. 複数同時に起動できるの?
A. 起動できますが、推奨しません。
最悪 Ubuntu が停止してしまう可能性があります。後に起動した scankeylx ほど確保できるメモリ容量が少なくなり、実用的な検索速度が出なくなります。

各種設定について

Q. DMA Enable にチェックを付ける場合とつけない場合の差は?
A.

DMA Enable にチェックを付けると DMA が使用され、多くの場合は検索速度が向上します。
HDD の読み取りが不安定であったり、認識結果がおかしいと思われる場合は DMA Enable のチェックを外し、さらに OK ボタンを押した後、DMA を使用するかどうか聞く質問 "Do you want to Enable DMA?" に対し No ボタンを押して検索を開始してください。

Q. DMA Enable にチェックを付けることができない。
A. デバイスドライバの仕様で DMA を使用するかどうか固定されているか、自動的に決まる様になっています。SATA 接続のハードディスク、USB 接続のハードディスクは DMA を強制的に使う様に動作しているはずです。
Q. Auto Skip Factor にチェックを付ける必要性がある場合は?
A. ディスクの読み取りエラーが発生し、エラーがある箇所近辺にキーが有ると思われる場合です。
Auto Skip Factor のチェックを外して Skip Factor になるべく小さい値 1-16 を指定してください。
Q. Windows (CR/LF) と UNIX (LF) のどちらを選択したらよいの?
A. 検索結果を Windows のエディタで見る場合は Windows (CR/LF)、Ubuntu (Linux) のエディタで見る場合は UNIX (LF) を選択してください。

ソースコードとコンパイル

Q. コンパイルで特に注意すべき点は?
A.

次に示す制限と現象があります。

  • i386 (x86) ターゲットのみサポートします。
  • 最適化レベルはプロジェクトで設定している以上に上げないでください。
  • 関数・手続き内の変数宣言順は好ましい最適化が掛かる様に調整されています。 ソースを修正すると最適化が良く働かずに実行速度が 2 ~ 3 割遅くなることがあります。
  • 代入した変数が使われない旨のヒントが出ます。リリース時点で動作に問題ないことを確認済みです。
  • ポインタを整数に変換している注意が出ます。リリース時点で動作に問題ないこと確認済みです。
Q. デバックを始めると出力ウインドウが現れない。
A. デバッカの中から実行すると出力ウィンドウが現れません。外部プロセスとして起動して、アタッチする方法を薦めます。起動初期からデバックを始める場合は、コマンドラインに -W 30 と指定して(30秒起動を遅らせる)起動を遅らせてください。
Q. scankeylx の OK ボタンが押せない。
A. 危険を承知した上で、実験用のドライブを用意してください。デバックを行うユーザーに対して実験用のドライブに対するアクセスを許可して下さい。未使用の SATA ポート、または USB 接続にて実験用のドライブを接続して /dev/sdd が実験用のドライブになったとして、super user でアクセス許可を chmod a+r /dev/sdd のようなコマンドライン操作で与えてください。

Free Pascal / Lazarus によるコンパイルについて

本ソフトウエアのソースコードは Free Pascal / Lazarus でコンパイル可能です。 追加のコンポーネントやライブラリは必要ありません。Lazarus をインストールできていれば統合開発環境にプロジェクト・ファイルを読み込ませてバイナリを構築できます。

開発環境の version

プロジェクトをコンパイルするために使った開発環境の version は次の通りです。

Linux ターゲットのバイナリをコンパイルするための環境

パッケージ一般名Package nameVersion備考
Lazarus lazarus 0.9.30.2-2 scankeylx と fixboot をコンパイルするために必要です。 最新の lazarus 環境で scankeylx が使っているライブラリ関数・手続きに改廃が有ることが判っています。 なるべく近い Version の lazarus を使ってください。
Free Pascal fpc 2.4.4-3.1 上記の lazarus と組みになる Free Pascal Compiler とライブラリ一式です。

Windows ターゲットのバイナリをコンパイルするための環境

PackageVersion備考
Lazarus 0.9.22 beta fixboot をコンパイルするために必要です。 fixboot を Windows ターゲットとしてコンパイルできなくても、大きな不都合は有りません。 改廃が起きにくい標準的なライブラリを使用しています。 新しい版でもコンパイル可能だと思われます。
Free Pascal 2.4.0 上記の lazarus と組みになる Free Pascal Compiler とライブラリ一式です。

作業用ディレクトリを準備する

次の様にしてダウンロードした zip ファイルを展開し、作業ディレクトリ work_dir/scankeylx_src_r1512a を準備してください。

$ mkdir work_dir
$ cd work_dir
$ unzip down_loaded_directory/scankeylx_r1512a.zip
$ tar zxvf scankeylx_src_r1512a.tar.gz
$ cd scankeylx_src_r1512a
$ mv ../* ./
$ rm *.tar.gz fixboot.exe fixboot

ビルドするプロジェクト

scankeylx.lpi と fixboot.lpi を次の表に示す様にビルドしてください。

ProjectLinux targetWindows target
scankeylx.lpi Build do not build
fixboot.lpi Build Build

再配布ファイルを作成する

mkdistzip.sh は再配布 zip ファイルを構築するスクリプトです。 このスクリプトは作業ディレクトリ内にあるファイルを zip にまとめる処理をします。 makefile の様に依存関係を評価して再構築する処理はしません。作業用ディレクトリで次の様に起動してください。

$ cd work_dir/scankeylx_src_r1512a
$ ./mkdistzip.sh


変更履歴


ライセンスと責任範囲

ライセンスと責任範囲は 2 条項 BSD ライセンスに準拠します。責任範囲について、2 条項 BSD ライセンスに則り次の様に定めます。

ソフトウエアは「あるがまま」で提供されます。明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。


商標等

本文中に現れる製品名あるいは商標はその権利所有者による登録商標です。

なにかありましたら

作者 古田明徳  iafuruta@m7.dion.ne.jp  まで連絡頂ければ幸いです(メールアドレスをコピーする場合は a より始めてください)。利用規定にも有りますように対応が悪い可能性もありますが、対応に当たりたいと思います。

reportlog の使い方、解析結果の読み方
DVD-R (光学メディア) と起動用 USB メモリを併用して Ubuntu を起動し scankeylx を使用する - Ubuntu 12.04, 14.04 向け
CD-R (光学メディア)から Ubuntu を起動して scankeylx を使用する - Ubuntu 10.04, 10.10 向け
Ubuntu を試す(Try ubuntu) でログイン画面になった場合の修復方法
Ubuntu を試す(Try ubuntu) で 画面が写らなくなる場合の修復方法
更新履歴
戻る