リセット

「リセット」する。パソコンを使ったことがあるならほとんど知っている専門用語。

一般には「コンピュータを再起動すること、保存していないデータはすべて失われる」

と説明されるが、大きなまちがいがある。

 

リセットしただけではメモリのデータは消えない。

メモリのデータが破壊されるのはOSの再ロード時にメモリを上書きするため。

広告

サービスマンモード

今時の電子機器はソフトウェアで制御しているので普段利用する機能以外にもメーカがメンテのときに使う機能(サービスマンモード)が入っているものがたくさんあります。家にある機器で最近発覚したサービスモードの覚え書き。

ICOM IC-706mk2G サービスモード

  1. 電源オフ
  2. 3.5φのジャックを使って背面のREMOTE端子をショートする。
  3. P.AMP/ATT、TUNE/CALLキーを同時に押しながら電源オン

※出典 ICOM America サービスマニュアル (検索するとPDFで置かれている)

ICOM IC-706mk2G 全表示オン

  1. 電源オフ
  2. DISPLAYを押しながら電源オン

ソニーのテレビ

  1. 電源オフ
  2. 「画面表示」→数字の「5」→音量の「+」→「電源オン」

※出典 けっこう有名らしい

以前使っていたビクターのテレビのデモモード(単に設定項目が連続的に表示されるだけ)

  1. メニュー
  2. 数字の9だったか0

※適当にいじっていたら発現

※サービスモードでの調整は測定器やマニュアルが必要な項目がほとんどです。うかつに設定を変更しないようにしましょう。自己責任で。IC-706の設定をすこしいじってしまったような…

KB912812

これはSP2なみの問題になるよなとか思ってたらやっぱり皆さんそれなりに苦労している様子

特にWin98、Meは912812の修正は緊急なので対象だけど、これに対するさらなる修正がサポート外なのでいまだに9x系を使っている人が泣きを見る、という状況。

WindowsServerのインデックスサービスでサーチエンジン

職場の勝手にイントラサーバでインデックスサービスによる検索サービスの機能を追加。 ちょっと手こずったのでメモ。

自宅ではディスクが勝手にカリカリいうのが嫌だし、ファイルの場所くらいは把握しているので即刻オフのインデックスサービスだけど、やっぱり本格的なイントラネットサーバ(?)では使えるようにしてみたい。ところがWindows+Namazu、Linux+Namazu+CGI の構成なんていくらでも情報があるのと対照的に、 Windows + IndexService + IIS ってのは簡単に構築できる割に情報が非常に少ない。以下インデックスサービスとIISと連携させてサーチエンジンっぽいのを構築するミッション。


まず、検索対象にする場所の指定。コンピュータの管理→サービスとアプリケーション→インデックスサービス でカタログを新規作成し、ディレクトリに指定しておく。今回はローカルドライブのみだけど、ネットワーク上も可。インデックスを作成する場所はバックアップ対象外を指定。※標準で設定されてるSystemカタログは消してもいいかも。

インデックスサービスのプロパティで「概要を作成する」オプションを有効にしておくとインデックスの要約ができるらしい。検索時にいちいち開かなくても中が分かるはずだが、いまいちわからん。

ここまでの設定をしたら、とりあえず指定したディレクトリを手動で完全スキャンしておく。後はファイルの変更時やアイドル中にIndexServiceが勝手にインデックスを更新してくれる。 (このあたりがOSの付属品というか、よくできてる。将来はWinFSとしてもっと高度で身近になるのか?) 少し放置しておけば「カタログのクエリ」で検索できるようになっているはず。


次に検索用のページを作成する。ややこしいかもと思ったけど、実際には3コのファイルを作成するだけ。 ここでは検索フォーム、クエリ定義ファイル、結果の雛形 (←勝手に命名) が必要。環境にあわせて各自で作成する。 以下は重要な部分の抜粋。YahooやGoogleとは検索方法が違うので。説明文を付け加えるとよろし。

●search.htm 検索フォーム

ただのフォームが1つあるHTML。次の.idqにPOSTする。

<html>
<body>
<!– .idq は idq.dll に関連付けする –>
<form action=”search.idq” method=”POST”>
<input type=”text” name=”CiRestriction” size=”50″ maxlength=”200″>
<input type=”submit” value=”検索”>
</form>
</body>
</html>

●search.idq クエリ定義ファイル

iniファイルに近い構文。最低限次の項目があれば動く。 実際には%windir%\system32\idq.dll に渡して解釈される。

[Query]
CiColumns=filename,size,rank,characterization,vpath,DocTitle,write
CiFlags=DEEP
CiRestriction=%CiRestriction%
# 最大件数、ページあたりの件数
CiMaxRecordsInResultSet=250
CiMaxRecordsPerPage=50
# 検索対象 / ならすべて、指定するとそれ以下のみ検索
CiScope=/docs
# 雛形 フルパスで指定すること
CiTemplate=/scr/search.htx
CiSort=rank[d]
# カタログの場所 ローカルのD:\nobakup\index.home にあると仮定
CiCatalog=D:\nobakup\index.home

●search.htx 結果の雛形

.idq で指定され、idq.dllがこれをもとに結果ページを生成するための、抽象記述。 HTML拡張ファイルという変数や簡単な制御構文が使えるもの。詳細はIndexService.exeを参照。search.idqにポストしているところだけ変えれば使える。ここに掲載したのはほぼそのまま引用だけど、実際に使ったのはもう少しかっこよくしてみた。見た目、ボタンの位置、連続して検索できるようにとか。

<HTML>
<HEAD>
<!– タイトルにヒットした文書の数を表示 –>
<%if CiMathchedRecordCount eq 0%>
<TITLE><%CiRestriction%> -条件を満たす文書はありません。</TITLE>
<%else%>
<TITLE><%CiRestriction%> – 文書<%CiFirstRecordNumber%>から文書
<%CiLastRecordNumber%>まで</TITLE>
<%endif%>
</HEAD>

<BODY>
<TD VALIGN=MIDDLE><H1><i>Indexing Service 3.0</i></H1><br>
<DIV ALIGN=center><h2>検索結果</h2></center></TD>
<DIV ALIGN=left>
<H5>

 <%if CiMatchedRecordCount eq 0%>
クエリー “<%CiRestriction%>”を満たす文書はありません
<%else%>
文書 <%CiFirstRecordNumber%> から文書 <%CiLastRecordNumber%> –全文書中
<%if CiMatchedRecordCount eq CiMaxRecordsInResultSet%>
上位
<%endif%>
<%CiMatchedRecordCount%> 個がクエリー “<%CiRestriction%>” を満たしています。
<%endif%>
</H5>

 <!– ここから結果セットの表示 –>
<%begindetail%>
<p>
<b><%CiCurrentRecordNumber%></b>
<b><a href=”<%EscapeURL vpath%>”><%filename%></a></b>
<b>要約:</b><%characterization%></b>
<font size=-1><%size%>bytes – <%write%></font>
<%enddetail%>
<!– ここまでが結果セットの表示 –>

<!–最後のページ以外には「次のページ」ボタンを定義します。–>
 <%if CiContainsFirstRecord eq 0%>
   <FORM ACTION=”search.idq”METHOD=”GET”>
<INPUT TYPE=”HIDDEN” NAME=”CiBookMark”VALUE=”<%CiBookMark%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiBookMarkSkipCount”
VALUE=”-<%EscapeRAW CiMaxRecordsPerPage%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiMaxRecordsInResultSet”
VALUE=”<%EscapeRAW CiMaxRecordsInResultSet%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiRestriction” VALUE=”<%CiRestriction%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiMaxRecordsPerPage”
VALUE=”<%EscapeRAW CiMaxRecordsPerPage%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiScope” VALUE=”<%CiScope%>”>
<INPUT TYPE=”HIDDEN” NAME=”TemplateName” VALUE=”<%TemplateName%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiSort” VALUE=”<%CiSort%>”>
<INPUT TYPE=”HIDDEN” NAME=”HTMLQueryForm” VALUE=”<%HTMLQueryForm%>”>
<INPUT TYPE=”SUBMIT” VALUE=”前の<%CiMaxRecordsPerPage%>文書”>
</FORM>

<%endif%>
 <%if CiContainsLastRecord eq 0%>
   <FORM ACTION=”search.idq”METHOD=”GET”>
<INPUT TYPE=”HIDDEN” NAME=”CiBookMark”VALUE=”<%CiBookMark%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiBookMarkSkipCount”
VALUE=”<%EscapeRAW CiMaxRecordsPerPage%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiMaxRecordsInResultSet”
VALUE=”<%EscapeRAW CiMaxRecordsInResultSet%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiRestriction” VALUE=”<%CiRestriction%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiMaxRecordsPerPage”
VALUE=”<%EscapeRAW CiMaxRecordsPerPage%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiScope” VALUE=”<%CiScope%>”>
<INPUT TYPE=”HIDDEN” NAME=”TemplateName” VALUE=”<%TemplateName%>”>
<INPUT TYPE=”HIDDEN” NAME=”CiSort” VALUE=”<%CiSort%>”>
<INPUT TYPE=”HIDDEN” NAME=”HTMLQueryForm” VALUE=”<%HTMLQueryForm%>”>
<INPUT TYPE=”SUBMIT” VALUE=”次の<%CiRecordsNextPage%>文書”>
</FORM>
<%endif%>
</BODY>
</HTML>

これら3つのファイルをスクリプトの実行許可があるディレクトリに置いて公開。
もっと凝ったことがしたければASPなりASP.netなりを書くことになる。


そしてIISの設定。特に2と4が重要で、今回これでハメられました。。

  1. search.idqを置くディレクトリはスクリプトの実行許可を与える。
  2. IISのWebサービス拡張でIndex Service (とApplication Service Provider)を有効にする。
  3. idqファイルはidq.dllに食わせるためIISでアプリケーションの拡張子マッピング設定をする。
    Windows Server 2003 の場合すでに設定されていた。idq.dllは%windir%\System32にある。
  4. インデックスサービスのカタログのプロパティの追跡タブでidqスクリプトがあるサーバを指定しておく。

 

最後に必要な拡張コンポーネントをインストールして再スキャン。(本当はIndex Serviceのカタログ設定時に行うのが効率よい)  Index Serviceは標準でテキスト、HTML、ワード文書、エクセルワークシート、なんかの中のキーワードを引っかけられるけど、それ以外のファイルはそのままでは無理で、それぞれのフォーマットに対応したIFilterというものをインストールすると検索対象になる。

今構成しているサーバではPDFの検索が必須事項だったので、PDF用のIFilterをインストールする。
http://www.microsoft.com/japan/sharepoint/server/downloads/IFilter.asp

にあるリンクからPDF用のIFilterをAdobe本家サイトから入手(無料です)
http://www.adobe.com/jp/support/downloads/pdfi_2611.html

ZipのIFilterもあるみたい。
http://www.citeknet.com/Products/IFilters/ZIPIFilter/tabid/69/Default.aspx

売り物でPDFにも対応している高機能なIFilterとか使えたらもっと便利になるかも。高い。
http://www.componentsource.co.jp/products/514028/8822/index.html

クエリを実行してPDFが引っかかってこればOK。これはにちょっと感動した。


いくつかの課題

・更新。インデックス サービスの脆弱性により、コードが実行される (871250) (MS05-003) 更新を適用しておく。
http://www.microsoft.com/japan/technet/security/Bulletin/MS05-003.mspx

・検索対象の権限 。IndexService.exeのファイルに記載されているけど、部署ごとに見られたくないものがある場合は、カタログを複数作成して分けることになる。

・使われたくないファイルのヒット。イントラサイトの公開フォルダにはたくさんのファイルがあり、未完成のファイルやリンクされておらず、使われたくないファイルなども多い。インデックスサービスはWeb巡回エンジンではないので、それらのファイルもすべて検索対象になる。非公開のフォルダに移すか積極的に削除する必要がある。


これでよく使う文書フォーマットに対応したイントラネット検索サービスが開始できました。適当なキーワードで検索してみると意外な発見があるかも。

長距離無線LAN

「長距離無線LAN」って何か語感が変。

以前から宅内LANでは無線LANを使っています。無線LANは2.4GHz帯の無線機。技適証明付なので免許不要だけど、アンテナ端子がついていて外部アンテナをつけることができます。しかし、この外部アンテナ、電波法の改正でアンテナをかなり自由に選択できるので、相当長距離の通信ができるようです。他のメーカでも~10kmはあたりまえ。

http://www.atmarkit.co.jp/ad/harada/0602wbeam/wbeam.html

http://www.aisan.co.jp/products/wireless_lan-radio-icom.html

特に高利得(24dBi)のアンテナを使うとパラボラアンテナを使って30km以上の伝送もできるらしい。

http://www.linenet.on.arena.ne.jp/product/symbol/longdis.html

10mWの出力でもこんなに距離を稼げるんですねぇ。やっぱり無線の行き着くとこはアンテナ勝負だな。エレメントの外付けでもかなり効果あるらしい。でも技適証明付の機器を解体して、非技適証明のアンテナをコネクタにつないでもいいのかしら。。

http://www.aisan.co.jp/products/wireless_lan-radio-icom.html

今となってはWindows98は軽い。2

Windows 98 SEのメインマシン実機インストールで何をしたかの覚書き。

将来のサポート切れに備えて可能な限りオフラインでのセットアップを行う。

 

用意するCD-ROM、ファイル

●OSとドライバ

  • Windows 98 SecondEdition (MSDN)
  • Internet Explorer 6.0 SP1 (MSDN)
  • Intel Express Installer CD (マザーボードD865GBF付属CD)
  • ELSA Driver 53.03EJ2 (ビデオカード FX534)
  • DVD Multi Drive (松下 DVD-RAMドライブ LF-D52)
  • SoundBlaster Installation CD (USBサウンドアダプタ SoundBlaster PX)
  • BUFFALO AirNavigator Ver.5.90 (USB無線LANアダプタ ULI-U2-KG54)

●アプリケーション

  • パーティションコマンダー 8 (CDブートしてパーティション分けする)
  • Internet Security 2002 (Norton Antivirus 2002だけ使う)
  • Windows 98 Resource Kit (MSDN、WinAlign.exeがある)
  • Office 2000 Disc1、Developer Tools
  • オンラインソフトのQuickTime6、RealPlayer10、AdobeReader6、Indeo5、FlashPlayer 8、Shockwave Player 10、MSN Messenger 7.0、FireFoxのインストーラセット

セットアップ1 – Windowsのインストール

  1. パーティションコマンダーでパーティション作成
    7GB(Win98、FAT32)+20GB(WinXP、NTFS)+10GB(空き)+80GB(データ、NTFS)
  2. BIOS設定変更 →参考
    ATA/IDE Configuration を Legacy にして SATA1/0、PATA Pri にする。
    Periferal Devices で シリアル、パラレル、オンボードネットワークとオーディオを無効にする。
  3. CDを認識する起動ディスクで起動してWin98SEファイルをHDDにコピー
  4. コピーしたところから setup /is (setup /pj  /isでACPIだが、無しでも認識していた)
  5. プロダクトキーはすでに入力されているものを使う(MSDN用)

セットアップ2 – ドライバ、ソフトのインストール

  1. Intel Express CD で 少なくともチップセットINF を入れて再起動
  2. ビデオドライバをインストール (Infファイルでインストール)
  3. USB 2.0 ドライバをインストール (Intel Express CD)
  4. USBサウンドアダプタドライバをインストール (普通にインストーラを使う)
  5. IE6.0sp1
  6. Office 2000 Premium インストール
  7. Office Developer インストール (MSDNライブラリは無し)
  8. WindowsUpdate コンポーネント (ローカルウェブページのActiveXとして)
  9. Office Update コンポーネント (ローカルウェブページのActiveXとして)
  10. Windows Media Player 9 インストール
  11. DirectX 9cインストール
  12. Quick Time 6 インストール
  13. Real Player 10 インストール
  14. Indeo 5 codec インストール
  15. FlashPlayer Player 8 インストール (ローカルウェブページのActiveXとして)
  16. ShockWave Player 10 インストール
  17. Adobe Reader 6 インストール
  18. 無線LANアダプタドライバのインストール (インストーラを使う)

セットアップ3 – Windows、Office更新

  1. Windows Update 相当の更新

    あらかじめダウンロードしておいたファイルを次の順番で実行、インストール再起動はまとめてしてよい。.cabはinfインストール。実際はバッチ実行して再起動メッセージのみ「いいえ」とする。

    IE6.0sp1-KB837009-x86-JPN.exe
    IE6.0sp1-KB833989-x86-JPN.exe
    Windows98-KB908519-JPN.exe
    Windows98-KB896358-JPN.exe
    888113JPN8.exe
    Windows98-KB891711-v2-JPN.exe
    IE-KB891781-Windows-98-ME-x86-JPN.exe
    823559JPN8.exe
    msjavwu.exe
    js56mjp.exe
    q329414_mdacall_x86.exe
    329115_W98.exe
    323172_98.exe
    323255_W98.exe
    259728.exe
    245729US8.exe
    Q313829.exe
    256015.exe
    4756SE8.exe
    238453US8.exe
    811630jpn8.exe
    cun.cab
    MSAGENT.exe
    agtx0411.exe
    260067.exe
    WindowsMedia9-KB911565-Win9x-x86-JPN.exe
    WindowsME.Windows98SE-KB904706-DX9-x86-JPN.exe
    873374_jpn.exe
    4756US8.exe
    rootsupd.exe

  2. OfficeUpdate 相当の更新

    .exe は /qオプション付で、.msprと.msp は mxiexec に /p /qr オプション付で実行
    更新中はOffice 2000 のDisc1を入れておく。

    InstMsiA.exe をインストールして再起動

    510058\Out128.exe
    510059\Out40.exe
    510634\outlctlx.exe
    511165\511165.MAINSP3.mspr を適用して再起動

    511319\511319.VBE6op.msp
    511424\511424.SNAPVIEWop.msp
    511991\511991.MSCONVop.msp
    513363\513363.POWERPNTop.msp
    513505\513505.PPINTLff.msp
    513601\513601.EXCELff.msp
    513805\513805.OLKINTLff.msp
    513825\513825.WINWORDff.msp を適用して終了

  3. ネットワークに接続して最終確認

    WindowsUpdateでコントロールがインストール済みであることと
    重要な更新が残り1 (KB912812) のみであること

    OfficeUpdateでコントロールがインストール済みであることと
    最新の状態になっていること

    FlashPlayer が適当であること

    ShockwavePlayer が動作すること (最初に表示するときに年齢などの設定を行う)

    Adobe Reader 6 の更新を3コインストールする

  4. Norton Antivirus をインストール
    ※Norton Antivirus 5.0 はすでに使えなかった
  5. KB912812 の適用
    ※先にこれを適用するとActiveXのインストールができなくなる。

 

注意すべきこと、気づいたこと

  • インストール、更新の適用は指定の順番で行うこと
  • 特にOfficeのインストール後に各種のアップデートを行う
  • WinAlignはInternet Explorerに対しては行わない (SSLが使えなくなる)
  • WindowsUpdateで使うファイルは検証用環境でダウンロードバスケットを使いダウンロードしておく
  • OfficeUpdateで使うファイルは検証用環境でOfficeUpdate時に一時的に保存されるファイルをコピーしておく。(インストール後すぐ消去されるのでうまくコピーすること)
  • IDEドライバの認識に失敗したら最初からやり直す
  • 検証用にはWinXP上のVirtualPC 5.2を使いWin98環境を再現した
  • Win98のリテール版CDにあるreskitはサンプル版なのでWinAlignは無い (リソースキットサンプラー)

この手順でオンラインのリソースを使うのはNorton AntivirusのLiveUpdate、AdobeReaderの更新。

Norton AntivirusのLiveUpdateはオフライン化できないので Coporate Edition を使うことを検討する。