« 2009年4月 | トップページ | 2009年6月 »

2009年5月

2009年5月29日 (金)

公称”石”、語感、イメージ的には”石ころ”

知った時に何処かに書いた気がしつつ、FinePix F200EXR にまだ飽きていないので ”石” を撮りに行ってみた。

これは”石”

Dscf1151


携帯を乗せてみた、このサイズでも”石”。

Dscf1150


どう見ても ”岩” にしか見えないけどれっきとした由緒正しい ”石” 。

Dscf1146



なぜならば

Dscf1147



金持ちっていうのは・・・。

FinePix F200EXR 、2,3回撮ったら飽きそうだと思いつつ散歩がてら。
先日の土日に撮りっぱなしだったのを改めて見直すと、腕というか、感性の乏しさを目の当たりに。

続きを読む "公称”石”、語感、イメージ的には”石ころ”"

| | コメント (0) | トラックバック (0)

2009年5月26日 (火)

GoogleChrome(Chromium) をポータブルで

GoogleChrome の安定版も ver.2 に入って結構使いやすくなってきたこのごろ。

USBメモリなどで持ち運びできるように PortableGoogleChromeIron には名前の通りポータブルだったりポータブル版があるものの若干不便。
そのままだと起動オプションが効かず UserScript 等が使えない(気がする) PortableGoogleChrome 2.0.172.8 / IronPortable 2.0.180.0(15300) 。
じきにその辺りの事も解決すると期待しつつ、何をどうしたか忘れる前に、ここいらへんで普段使い用とポータブルな持ち歩き用 Chrome メモ。
正式な使い方ではないので不具合上等の精神で。

【2009/09/03:補足】
IronPortable に関しては起動オプション追加可能だったのでこの記事末尾辺りに補足説明を追加

方針

  • 安定版である通常の GoogleChrome でなく、開発版の Chromium を GoogleChrome として利用
  • UserScript を使う (普段使い/持ち歩き)
  • ホームページ指定をどこかのwebサイトではなくてリンク集なhtmlファイルを使う (普段使い/持ち歩き)
  • プロファイルディレクトリを指定する (普段使い/持ち歩き)
  • ディスクキャッシュディレクトリをRAMディスク (z:) 上に指定する (普段使い)
  • プロキシを指定する (普段使い)
  • 最小文字サイズを指定する (普段使い/持ち歩き)
    ソース表示の時にこの文字サイズがデフォルトとして効いてくる

リストした機能の起動オプションは次

起動オプション 用途 備考/設定例
--enable-user-scripts UserScript を有効に -
--user-data-dir プロファイルの保存場所 無ければプロファイルごと新規生成される
例)
--user-data-dir=../Profil
--user-data-dir=d:/settings/chromeProfil
--disk-cache-dir ディスクキャッシュの場所 指定した場所が無ければ生成される
例)
--user-data-dir=../Cache
--user-data-dir=z:\ChromeCache
--proxy-server プロキシサーバー 例)
--proxy-server=localhost:8080
--proxy-server=192.168.0.1:8118
--homepage ホームページ指定 例)
--homepage=.\start.htm
--homepage=d:/settings/start.html

※ Chromium 3.0.182.1 (Developer Build 16871) パス区切りは / でも \ でも効く模様


Chromium を普段使いの GoogleChrome として

インストーラの exe を実行せずに適当に Chromium を配置して利用。

  1. Chromium
  2. zip を解凍すると chrome-win32 が現れるので chrome に名前を変えて次のように配置
         
    c:\apps\GoogleChrome    
    chrome Chromium の chrome-win32 をリネーム
    Profil 作成しなくても良い
    start.htm                 ホームページに使うためのリンク集html
               
  3. 起動用のショートカットを作成して一度 Chromium を実行する
    c:\apps\GoogleChrome\chrome\chrome.exe を右ドラッグ&ドロップでショートカットを作成して変更
    • 「リンク先」に起動オプションを追加、以下を全部詰め込む
      『 c:\apps\GoogleChrome\chrome\chrome.exe --enable-user-scripts --user-data-dir=../Profil --disk-cache-dir=z:/ChromeCache --proxy-server=192.168.0.1:8118 --homepage=../start.htm 』
      コピペ用
    • 「作業フォルダ」はいじらずそのまま
      『 c:\apps\GoogleChrome\chrome 』
    ここで作成したショートカットから一度起動したら何もせずにそのまま閉じる
  4. Profil に幾つかのファイルが&フォルダが生成されるので設定変更など (関係しそうなファイル&フォルダを抜粋)
           
    c:\apps\GoogleChrome      
    chrome  
    Profil  
    Default  
    User Scripts     UserScript 置き場
    Preferences Chrome の設定ファイルその1
    Local State Chrome の設定ファイルその2
    start.htm ホームページ用の リンク集htmlファイル
               
    1. 利用する UserScript を 「User Scripts 」フォルダにコピー
    2. 最小文字サイズを指定するために Preferences を編集
      "webkit" を含む行を探して無ければ次のように追加
      編集前
      (略)
         },
         "session": {
            "urls_to_restore_on_startup": [  ]
         }
      (略)
      編集後
      (略)
         },
         "webkit": {
            "webprefs": {
               "minimum_font_size": 11
            }
         },
         "session": {
            "urls_to_restore_on_startup": [  ]
         }
      (略)
      利用、設定状況によって内容が変化するので "webkit" のセクションがあれば "webkit" の "webprefs" に minimum_font_size を適当なサイズで追加するという方針。
      指定するセクションでの最終or単独項目でなければ 『 "minimum_font_size": 11, 』のように行末のカンマを付けるのを忘れないように。
    3. 【2009/05/28:追記】
      以下の暫定対応は Chromium 3.0.183.0 build 17000 以降では解決済みなので設定の参考として
      【暫定対応】
      Chromium Build 16871 の現時点ではメニューなどの表示の言語設定が 『英語(アメリカ合衆国)』 以外を選択するとメニューやダイアログの文字が小さくなってしまうバグがあるので、表示言語を『日本語』から 『英語(アメリカ合衆国)』に変更してやる
      通常のダイアログで選択できなければ 「 Profil\Local State 」を次のように編集
      編集前
      (略)
         },
         "shutdown": {
            "num_processes": 1,
            "num_processes_slow": 0,
            "type": 1
         },
      (略)
      編集後
      (略)
         },
         "intl": {
            "app_locale": "en-US"
         },
         "shutdown": {
            "num_processes": 1,
            "num_processes_slow": 0,
            "type": 1
         },
      (略)
      設定状況、利用状況でファイルの内容は変化するのでそこは臨機応変に。

以上、動作に問題がなければ普段使い用の Chromium 導入は完了。

 

Chromium を持ち運び用途の GoogleChrome として

ここでは、普段使い Chromium を直にUSBメモリにコピーせず、いったん HDD に持ち運び用の元を作成するという方針で。
(USBメモリは落っことしたり忘れたりで、データの入ったまま紛失するもの・・・、他人に見られても良い状態を作っておく)

  1. 前述の普段使い用の Chromium がある c:\app\GoogleChrome を適当な作業場所にコピー
    ここでは d:\Portable にコピーして d:\Portable\GoogleChrome という配置にする
  2. d:\Portable\GoogleChrome\chrome\chrome.exe へのショートカットを d:\Portable\GoogleChrome に作成
  3. 一つ上で作成したショートカットをポータブル用に編集
    • 「リンク先」を起動オプションを追加しつつ変更
      変更前
      『 d:\Portable\GoogleChrome\chrome\chrome.exe 』
      変更後
      『 %windir%\system32\rundll32.exe shell32.dll,ShellExec_RunDLL .\chrome\chrome.exe --enable-user-scripts --user-data-dir=.\Profil --homepage=.\start.htm 』
      コピペ用
    • 「作業フォルダ」を ”空欄” にする
    ショートカットのアイコンが「何か」に変わるはず
  4. 作成したショートカットで起動確認
  5. 持ち運び用の元にする為に必要に応じて履歴やキャッシュをクリアしたりブックマークを編集したり、あるいはそのまま何も変更しなかったり
    • Profil\Default の中に User Scripts 、Bookmark 、Preferences だけを残して他を全て削除するというような割り切りもありかも
  6. USBメモリなどに d:\Portable\GoogleChrome をコピーして持ち出し、ポータブル版として利用
    Chromium の起動は作成したポータブル用のショートカットを使う

以上、普段使い用と持ち運び用の基本的な違いはパス(配置場所)が異なっても良いように、相対パスで実行するショートカットに差し替えただけ。

ここで作成した持ち運び用のショートカットのコピーやショートカットのショートカット(分かりにくいな・・・)を作成してもそのままではうまく動作しないので、起動用バッチファイルを作成してバッチファイルのショートカットを利用した方が使い勝手は良いかも。

ChromiumKick.cmd

このようなバッチファイルを d:\Portable\GoogleChrome に保存

 

普段使い用の Chromium 更新用バッチファイル

ダウンロードして解凍してコピーして更新する、が面倒なのでルーティンワークをバッチファイルで。

7-Zip と wget が使える状態が前提条件。
Chromium更新.cmd

  1. LATEST と 前回更新時のバージョンを比較
  2. 新しいものが見つかればダウンロード
  3. Chrome が起動していれば有無を言わさず強制終了
  4. 古いフォルダごと消して新しいものを展開

というかなり乱暴な更新なので利用には注意と割り切りが必要。
セッションの復元機能は偉大なり。

そこはかとなくポータブル

IronPortable 、安定版 GoogleChrome などでも同様の使い方が可能。

  1. IronPortable
    1. http://www.srware.net/en/software_srware_iron_download.php
      からダウンロードして解凍
    2. 広告ブロックの設定ファイル iron\adblock.ini をひたすら編集するか
      http://www.srware.net/downloads/adblock.ini
      をダウンロードして必要に応じて adblock.ini を編集
    3. 以降は Chromium 利用と同じ
  2. GoogleChrome (安定版やベータ版などのリリース版)
    1. http://googlechromereleases.blogspot.com/
      にてリリースされているバージョンを把握する
    2. http://dl.google.com/chrome/install/xxx.yy/chrome_installer.exe
      という規則の URL からダウンロード可能なので数字を合わせてダウンロード
      例えば 2.0.172.28 なら
      http://dl.google.com/chrome/install/172.28/chrome_installer.exe
    3. 7-Zip など chrome_installer.exe を解凍できるアーカイバで解凍していくと chrome.7z(それっぽいサイズのファイルを解凍すると現れる) が現れるのでさらに解凍
    4. リリース番号のフォルダにひとまとめに放り込んで、適当な名前にリネーム
    5. 以降は Chromium 利用と同じ

「 --user-data-dir 」となるフォルダは使い回し可能なので、矛盾しないよう適当に配置、指定すれば Chromium 、Iron 、GoogleChrome でひとつの「 Profil 」を利用することも、別々にすることも可能(2009/05/26現在)。

IronPortable での起動オプション:2009/09/03追記

iron.exe へのショートカットに起動オプションを追加する方法ではない技があったので補足。
IronPortable.exe と同じフォルダに IronPortable.ini というファイルを作成してそこに起動オプションを記述する。

上のような感じで一行で記述。
ファイルなどの指定は、絶対パス、相対パス、どちらでも効いて相対パスの取り方は IronPortable.exe のある場所を基準。パス区切りは \ でも / でも良いらしい(3.0.197.0 build22047)
iron.exe へのショートカットに起動オプションを詰め込むよりは IronPortable.ini に記述する方が個人的には楽。



雑感

Chromium の 2009/05/26 現在 でも起きている、日本語表示指定で妙に小さくなる、というバグも鬱陶しいものの、相対パスの基準の取り方が変わったバグ(仕様?)も罠っぽかった。

追記

2009/06/05
  • ChromiumKick.cmd  を差し替え
    横でなく縦で確認できるように変更
  • Chromium更新.cmd を差し替え
    2世代バックアップを取るように変更
  • 2009/09/03
  • ironPortable  の IronPortable.ini に関して補足説明追加
  • Chromium更新.cmd を差し替え
    7-Zip の.9.05 alpha 以降 .exe の解凍で挙動が変わったので差し替え(9.05alpha, 9.06beta, 9.07beta で動作確認)
    このバッチファイルは、4.65 など 9.04beta 以前では exe の解凍展開をさせると期待する動作はしない
  • 7-Zip の exe の解凍の挙動変化に伴い若干説明変更
  •  

    | | コメント (0) | トラックバック (0)

    2009年5月19日 (火)

    フラワー・オブ・ライフ 全4巻

    話の出だしでいきなり、ハンマー投げのハンマーか砲丸投げの砲丸の直撃を食らわされたという感じ。
    ただし、あれ? というような違和感付きで。

    エピソードを変えなければとても NHK ではドラマ化orアニメ化は不可能であると思えるけれど、NHK でやれ、と言いたくなるような話。
    エピソードを変えた時点で骨抜き別の話になるので、やっぱり NHK化 は無理か。

    笑える話は、無さそうだけれどあれば笑うしかない話。アツイ話はストレートに熱い。
    花園倫理委員会、侠気、妙なこだわりのある小ネタは読んでツボにはまる。
    高校生らしい花盛りな時間が流れる
    高校生の3年分でなく1年生の1年間、まだまだ先を残して。

    「ふつー」が「普通」でも「フツー」でもなくて「ふつー」は「ふつー」でしかないと気がつくまでが長い。読んでいるとあっという間だけれど。
    最初に食らったハンマーが実は単なる直撃ではなく、当たった後真上に向きを変えて飛んでいっただけで、大詰めにかけてでようやく頭の上に降ってきたんだという事を把握。
    あれ? は、やっぱりそうだよね・・・、に切り替わる。

    全編を読んだ後だと『 フラワー・オブ・ライフ 』のタイトルが切なすぎる、避けようのないフラグが初めから立っているとやるせない気持ちになる。
    それでも、爽やかな読了感が残る。
    人と人との絶妙な距離感が丁寧に漂っていて、もう一度、と読みたくなる。
    連載当時は知るよしもなく、仮に連載を追っかけていれば読み切った後に読み直したくなったと思うし、どこから読み直すかと考えたらやっぱり一話目に手が伸びたと思う。

    フラワー・オブ・ライフ : よしながふみ(著) (←微妙に長い説明文付きGoogle検索)

    | | コメント (0) | トラックバック (0)

    2009年5月15日 (金)

    デジカメ購入 FinePix F200EXR

    簡単に使える、室内暗いところでも比較的綺麗に撮れる(らしい)、広角28mm、ということで、この FinePix F200EXR をチョイス。
    まぁ、最近のデジカメならどれでも満たしている漠然とした条件。
    任せられた最重要課題は、簡単に撮れる、事。
    ただ、やっぱりボタンが小さくて文字(アイコン)が読みにくいらしい。IXY DIGITAL 830 IS 並なら良かったけど仕方ない。

    元から、カメラは適当に撮れれば良い、バッテリが消耗してからは携帯のデジカメでイイや、程度のスタンスだったので今時のデジカメの進歩っぷりに驚き。
    扱いやすくなったとは聞いていたもののさわってみるとすごいの一言。
    顔を見つけて追いかけるし、望遠とマクロが勝手に切り替わってくれるし、逆光とかでも勝手に適当にしてくれるし、ブレを抑えてくれるし、フラッシュ有り無し一度に撮れるし、フラッシュ適当に光り分けるし、液晶モニターが3インチあって見やすいし、バッテリが薄くて小さいし、これとは隔世の感。

    カメラが賢い。

    テレビに繋いで再生は画素数的にはたかだか200万画素程度でしかなくても、やっぱりデカイ分見て楽しい。
    意外といえば意外なのがテレビにコンポジット出力しても結構綺麗。S端子ですらないのでもっと残念な結果になるのかと思いこんでいた。
    それとテレビ出力中に再生だけじゃなくて撮影もできるとは思って(事前確認して)なかった。
    テレビにカードリーダーを付けてテレビで再生するスライドショーよりは、カメラにスライドショーさせる方が変化がついて楽しいかも(比較対象は REGZA Z7000 での再生)。

    このカメラでも連射、連写が楽しい。
    自分で使う用なら EXILIM EX-FC100 購入しか考えなかった(実際には買わないけど)ものの、 FinePix F200EXR これはコレで十分良いものな気がする。

    | | コメント (0) | トラックバック (0)

    2009年5月10日 (日)

    .chm にフォントサイズ変更ボタン

    Windows のヘルプの一つ .chm 形式、1024x768 で読むならまだしも、画面の小さい高解像度のモニタで文字が『ゴミ』のように小さな状態になることも散見。
    フォントサイズは InternetExplorer のフォントサイズに依存するので予めフォントサイズを大きくすれば読みやすくなるとはいえ面倒。
    なので、.chm ファイルそのものを再構築。

    今回のターゲットは 『Windows® 7 RC 用の Windows® 自動インストール キット (AIK) 』 の chm というより 『Windows® Automated Installation Kit (AIK) for Windows® 7 RC 』(以下 WAIK か WindowsAIK と呼称) の WinPE.chm 。
    前者の日本語版ヘルプファイルに " Vista世代の日本語版 WAIK1.1 用のもの ” が入っていてヘルプがまるで役に立たない罠、所詮 RC 。英語版そのまま入れておけば良いのに。

     

    お世話になったサイトと準備

     

    .chm ファイル作り直しの一例

    今回作り直す英語版の WinPE.chm は簡単に再構築できる部類のもので、他では複雑になることも。

    1. HTML Help Workshop を Microsoft HTML Help Downloads から Htmlhelp.exe を入手してインストール
    2. 対象の WinPE.chm を確保
      • WAIKの英語版をインストールしていれば
        "C:\Program Files\Windows AIK\Docs\CHMs\WinPE.chm"
        をそのまま確保
      • WindowsAIK (Windows7 RC用日本語版)をインストールしていれば、WindwsAIK(英語版) をダウンロードして isoファイル を解凍もしくはマウントして Docs\CHMs\WinPE.chm を確保
    3. WinPE.chm を適当な作業場所にコピー
      ここでは作業場所を z:\tmp\chm とする
    4. HTML Help Workshop を実行
    5. WinPE.chm を decompile
      File ⇒ Decompile から「 Destination Folder 」を 「Z:\TMP\CHM 」 に 「 Compiled help file 」 を「 z:\tmp\chm\WinPE.chm 」のように指定
    6. ヘルプのプロジェクトを作成
      1. File ⇒ New で Project を選択しウィザードを進める
      2. New Project -- Destination で適当な名前をつける
        ここでは 「 Z:\tmp\chm\winpe30rc.hhp 」とする
      3. New Project -- Existing Files で指定
        decompile して現れた .hhc.hhk を指定
    7. プロジェクトのオプションを変更する
      変更点のみ
      • General
        それぞれ入力
        • Title を 「 WindowsPE 3.0 RC 」
        • Default file に 「 html/b0429e68-c70c-449c-bf1b-efd7c711ff4a.htm 」
        指定するファイルの確認は WinPE.chm をダブルクリックで開いて右クリック⇒プロパティー⇒アドレス の部分をコピーすると間違えなくて楽
      • Files
        追加でチェック
        • Include keywords from HTML files
      • Compiler
        追加でチェック
        • Support enhanced decompilation
        • Compile full-text search infomation
        • Create a binary TOC
    8. ウィンドウのオプションを変更する
      好みで適当に変更する
      「 Add/Modify window definitions 」 ボタンを押すと名前を聞かれるので、とりあえず pe30rc と入力
      • Buttons
        ボタンの追加/削除が出てくるので好みで変更(後で直に変更するここでは適当)
        『Hide/Show』 『Back』 『Forward』 『Home』 『Options』 『Locale』 に変更
      • Files
        Homeボタンやジャンプボタンを使うなら指定する
        • WinPE.chm で一番開きそうなものを Home に指定しておく
          個人的には「Deployment Image Servicing and Management Command-Line Options」なので
          「 html/b4898cbb-5d60-4da8-8042-3dd3e2d581ae.htm 」
      • Navigation Pane
        • Properties の Auto sync のチェックを外す
          開いているページと目次を自動同期させたくないので
        • Tabs の Advanced と Favorites tab にチェック
          とりあえず追加
    9. プロジェクトを保存して HTML Help Workshop を一旦終了する
    10. 作業場所に保存したプロジェクトファイル winpe30rc.hhp をメモ帳などで開いて編集
      フォント等のボタンが不要であればこの手順は不要
      1. [WINDOWS] セクションを確認
        (略)

        [WINDOWS]
        pe30rc=,"chm_7_WINPE.hhc","chm_7_WINPEK.hhk"(省略),,,,,0x23420,,0x184e,,,,,,,,0

        (略)
        オプションの設定状況で大きく変化するので注意。
      2. ボタンに関する設定は次のルールで決まるので和と一致する部分を探す
        ボタンのスタイル
        0x2 表示/非表示
        0x4 戻る
        0x8 進む
        0x10 中止
        0x20 更新
        0x40 ホーム
        0x800 同期
        0x1000 オプション
        0x2000 印刷
        0x40000 ジャンプ1
        0x80000 ジャンプ2
        0x100000 フォント
        0x200000 前へ
        0x400000 次へ
        Add/Modify window definitions の Buttons で指定したボタン『Hide/Show』 『Back』 『Forward』 『Home』 『Options』 『Locale』 の場合全ての和は 0x184e となるのでそこを特定する

        参考: HTML Helpの概要と作成方法 プロジェクトファイルの内容 の Windowsセクション の ボタンのスタイル
      3. 『表示/非表示』 『戻る』 『進む』 『ホーム』 『同期』 『オプション』 『フォント』 『前へ』 『次へ』を利用したいので和
        0x184e0x70184e
        と編集してプロジェクトファイル winpe30rc.hhp を保存
    11. プロジェクトファイル winpe30rc.hhp をダブルクリックで開き HTML Help Workshop を実行
    12. 「 Compile HTML file 」 ボタンか 「 Save all files and compile 」 ボタンを押してコンパイル
    13. 生成された .chm に問題がなければ、差し替えるか、別途ショートカットを作成して利用

    そもそも、ボタンの追加より WinPE.chm のフォントのサイズを根本的に変更してしまう方が快適。
    WinPE.chm を decompile した内容を確認すると local\classic.css にフォントに関する指定があるのでこれを編集 。

    classic.css (一部抜粋)

    (略)

    body
    {
            background:     #FFFFFF;
            color: #000000;
            font-family:    Verdana;
            font-size: medium; ←※1
            font-style: normal;
            font-weight: normal;
            margin-top:     0;
            margin-bottom:  0;
            margin-left:    0;
            margin-right:   0;
            width:  100%;
    }

    (略)

    body            { color: #000000;
                    background: #FFFFFF;
                    font-size: 70%;  ←※2
                    font-family: Verdana, Arial, Sans Serif;
                    margin-left: 0em;
                    padding-left: 1.5em; }

    (略)

    ※1 と ※2 を好みに合わせて変更してcompile 。

    classic.css (一部抜粋)

    (略)
            font-size: 14pt; ←※1
    (略)
            font-size: 100%; ←※2
    (略)

    例えば上記の様に ※1 と ※2 の部分を編集し保存して compile 。
    ※2 を100% にするだけの方が柔軟か。

     

    雑感

    ぶっちゃけてしまうと、CSS の編集はどうとでもなったけど、ボタンの追加は久しぶりでどうすれば良いかすっかり忘れていた。
    ブックマークしているハズなのに探しきれず、今回自分用のメモ書きとしてまとめた次第。
    PXEブートのメモといい、忘れっぽくて困る・・・。

    | | コメント (0) | トラックバック (0)

    2009年5月 8日 (金)

    約 1/46、実質1/50目安?

    市からなにやら大きな封筒が届いた。

    開けてみるとアンケート。
    コミュニティに関するアンケート。
    コミュニティセンターは一度も使ったことはありません、などと思いつつパラパラ見ると。
    へー、ボランティアベースで運営されていたんだ、と使ったことがないので初めて知ることばかり。

    20歳以上2500人を無作為抽出して今回このアンケートに当たった(?)らしい。
    2500人がどの程度の数かわからなかったので武蔵野市の人口を見てみる。

    Musashino_population

    平成2年は135,923人(1月1日)、平成9年に130,308人(1月1日)まで減って平成21年には134,422人(1月1日)、135,086人(5月1日)。
    アンケート対象20歳以上は 115,598人(5月1日)、単純計算では46人に一人の割合のアンケートね。

    それにしても数字で見ると子供少ないのが如実だなぁ。

    | | コメント (0) | トラックバック (0)

    2009年5月 7日 (木)

    馬小屋の中も外も

    前に書いた後に知った『逃げ出した馬と馬小屋の扉』な話も言われてみればそりゃそうだ、という。

    飽和攻撃を食らっているような状況になりつつあるわけで、”割り切って諦めて縮小する” 一つの節目がいつ頃になるのかという話が聞こえてこない。
    新型インフルエンザの拡散もさることながら、担当者の疲労、消耗が気がかり。

    | | コメント (0) | トラックバック (0)

    2009年5月 5日 (火)

    PXEブートサーバーを Windows2003 付属のもので構成、他

    当時(2008年春頃)探してみると意外と見つけにくかった、Windows 標準のものでPXEブート環境。そして、再構築しようとしてすっかり忘れていたので改めてメモ。
    tftpd32 でのPXEブート環境を置き換え。言ってしまうと Windows2003 標準のものだけで PXE ブートさせるより、tftpd32 を利用したままの方が数倍楽だった(2008年夏頃の情報の入手性を鑑みて)。

    お世話になったサイトなど

     

    準備と方針

    • Windows2003 に標準で備わっているもので PXEブート環境を作る
    • DHCPサーバー兼PXEブートサーバーにする
    • RIS/WDS のような大げさな事はしない、WindowsPE 、memtest86+GAG 等をブートできれば OK
      • WindowsPE 他の組み合わせは PXELINUX(SYSLINUX) で選択可能にする
    • ファイルの置き場 d:\pxe を根っこにして d:\pxe\tftproot に主なファイルを配置
    • WindowsPE の wimファイル の準備(USBやDVD/CDなど)は予め済ませておく (こここのあたりGoogle先生 で)

    まず、WindowsPE のみの PXEブート環境、その後 pexlinux で幾つかの PXEブート環境構築、という流れ。

    WindowsPE を PXEブート 

    まず WindowsPE だけの PXEブート。

    tftpd の設定

    tftpd は Windows2003 が持つ tftpd.exe を tftpd をサービスに登録し実行させる。
    ファイルのputは受け付けないようにする (MS06-077)。

    1. tftpd.exe は
      C:\WINDOWS\system32\dllcache\tftpd.exe
      から取り出して適当な場所(C:\WINDOWS\system32 など)にコピーする
      個人的都合上 PXEブート 関連をひとまとめにしたいので d:\pxe にコピー
    2. tftpd をサービスに登録する際にスタートアップの種類を「自動」にし、ついでにサービスの開始をする場合、次のような感じで
      >sc create tftpd binPath= d:\pxe\tftpd.exe start= auto
      [SC] CreateService SUCCESS

      >net start tftpd
      tftpd サービスを開始します.
      tftpd サービスは正常に開始されました。
      (tftpd.exe へのパスは環境に合わせて適宜変更)
    3. tftpd.exe の設定を変更する為にレジストリ編集
      設定内容は次の3点
      • ルートディレクトリをデフォルトの c:\tftpdroot から d:\pxe\TFTProot に変更
      • putを受け付けないようにする (MS06-077)
      • 受け付けるクライアントのIPアドレスを限定(192.168.0.x)
      次の内容のレジストリファイルを結合するか、直接レジストリを編集


    4. tftpd サービスを再起動してレジストリ設定を反映させる

     

    DHCPサーバーの設定 (WindowsPEのみ)

    PXEブートさせるために DHCPサーバーへ設定すべき基本項目は次の4つ

    オプション名 タイプ 設定値 備考
    043 ベンダ固有情報 binary 01 04 00 00 00 00 ff -
    060 PXEClient string PXEClient 新規作成
    066 ブート サーバー ホスト名 string サーバー名 or サーバーIP -
    067 ブートファイル名 string boot/pxeboot.n12 PXEブート時のF12押下不要

    「 060 PXEClient 」を除いて他は既存の値を変更可能。唯一新規追加する必要のある 「 060 PXEClient 」は GUI で設定する時には DHCP MMCコンソールの 『規定のオプションの設定』から『追加』してから設定。
    コマンドラインから一通り 設定すると次のような感じ。 DHCPサーバー兼PXEサーバーは 192.168.0.1 。

    >netsh
    netsh>dhcp
    netsh dhcp>server 192.168.0.1
    netsh dhcp server>add optiondef 60 PXEClient String 0 comment="for PXEブート"

    コマンドを正しく完了しました。
    netsh dhcp server>set optionvalue 60 STRING PXEClient

    コマンドを正しく完了しました。
    netsh dhcp server>set optionvalue 43 binary 010400000000ff

    コマンドを正しく完了しました。
    netsh dhcp server scope>scope 192.168.0.0
    netsh dhcp server scope>set optionvalue 66 STRING 192.168.0.1

    コマンドを正しく完了しました。
    netsh dhcp server scope>set optionvalue 67 STRING boot/pxeboot.n12

    コマンドを正しく完了しました。
    netsh dhcp server scope>exit

    コマンドプロンプトに次のようなものをコピー&ペーストすれば一気に設定可能

    comment は適当に。MMCコンソールの GUI でチマチマ入力するより楽?

    PXEブートのためのファイルを配置 (WindowsPEのみ)

    ファイルの配置は次のような感じで

         
    d:\pxe    
    TFTProot   tftpd ルートディレクトリ
    bootmgr.exe bootmgr
    boot WindowsPE 関連置き場
    fonts フォント (中にフォントファイルも)
    bcd bcd
    boot.sdi boot.sdi
    pxeboot.n12 ネットワークブートプログラム
    winpe21_x64.wim   WinPE2.1 x64 の wim
    winpe21_x86.wim WinPE2.1 x86 の wim
    winpe30_x64.wim WinPE3.0 x64 の wim
    winpe30_x86.wim WinPE3.0 x86 の wim
               

    ファイルはそれぞれ次の場所などから調達してコピー

    • ブートマネージャー
      bootmgr.exe
      WindowsPE のブートイメージ wimファイルの中など
      Windows\Boot\PXE
      からコピー
    • network boot program
      pxeboot.n12
      WindowsPE のブートイメージ wimファイルの中など
      Windows\Boot\PXE
      からコピー
    • WindowsPE イメージなど
      fontsフォルダ丸ごと、boot.sdi、各 wim ファイル
      WAIK の WindowsPE 作成作業環境の ISO フォルダの中など
      (作業フォルダ)\ISO
      からコピー
    • bcd
      通常のブータブルUFD/DVD/CD 用の bcd とはディレクトリ構造を若干変えているので配置に合わせて bcd を作り直し

      ブータブルUFD/DVD/CD の場合は通常次のように(それぞれ一行で)
      >bcdedit -store bcd -set <GUID> device ramdisk=[boot]\sources\pe30_x64.wim,{ramdiskoptions}
      >bcdedit -store bcd -set <GUID> osdevice ramdisk=[boot]\sources\pe30_x64.wim,{ramdiskoptions}
      ramdisk=[boot]\sources\<wimファイル> のようになっているはずなので
      ここでのPXEブート用の配置に合わせて(それぞれ一行で)
      >bcdedit -store bcd -set <GUID> device ramdisk=[boot]\boot\pe_x64.wim,{ramdiskoptions}
      >bcdedit -store bcd -set <GUID> osdevice ramdisk=[boot]\boot\pe_x64.wim,{ramdiskoptions}
      ramdisk=[boot]\boot\<wimファイル> のようにして bcd を作成

      【2009/07/07、2009/08/14:追記】
      BCDストア 作成&編集で多少楽できるバッチファイルはこちら
      リンク先の前者が WinPE2.0 用で、追記された方が WinPE2.1/WinPE3.0 用
      リンク先のバッチファイルを使うには pxeブートに合わせて上記のような『 [boot]\sources 』⇒『 [boot]\boot 』の置換もお忘れ無く

     

    実際に PXEブートさせて動作確認が取れれば WindowsPE のみの PXE ブート環境構築は完了。
     


    PXELINUX で諸々 PXEブート

    WindowsPE 以外も含めて諸々 PXELINUX でブートさせる。
    ここで PEXLINUX から起動させるのは、とりあえず次の5種類。

    • WindowsPE
    • Memtest86+ : メモリテスト
    • Memtest86 : メモリテスト
    • GAG : グラフィカルブートマネージャー
    • GParted : パーティションエディタ

    WindowsPE系は pxelinux ⇒ WindowsPE のブートマネージャー の2段階で起動。
    PXELINUX の「す」の画面は少々寂しいので壁紙付きでメニューを出すようにする。
    メモリテストが2つあるのは単なる気分、特に根拠無し。

     

    準備

    • WindowsPE に関しては前述のとおり
    • PXELINUX(SYSLINUX) は download を辿ってこのあたりからダウンロード
      syslinux-3.80.zip
      • まず SYSLINUX に関するドキュメントに目を通しておくことをお勧め
      • Google で pxelinux.cfg/default のサンプルを幾つか把握しておくと作業が楽
    • PXELINUXのメニューの壁紙に使う適当な画像ファイルを 640x480 の .jpg か .png で用意
    • Memtest86+ の Pre-Compiled Bootable Binary をダウンロード
      memtest86+-2.11.zip
    • Memtest86 の Free Download から ISO image for creating bootable CD (Windows - zip) をダウンロード
      memtest86-3.5.iso.zip
    • GAG のwebサイトの File download から辿ってダウンロード
      gag4_10.zip
    • GParted のwebサイトの Downloads から Stable か Testing を適当に選んで iso ではなく zip の方をダウンロード
      とりあえず Stable の gparted-live-0.4.4-1.zip

     

    DHCPサーバーの設定 (PXELINUX で諸々)

    DHCPサーバーへ設定すべき基本項目は次の4つ。前述からの変更点は 067 のブートファイル名のみ。

    オプション名 タイプ 設定値 備考
    043 ベンダ固有情報 binary 01 04 00 00 00 00 ff -
    060 PXEClient string PXEClient -
    066 ブート サーバー ホスト名 string サーバー名 or サーバーIP -
    067 ブートファイル名 string pxelinux.0 拡張子は必ず .0

    コマンドプロンプトに次のようなものをコピー&ペーストすれば一気に設定可能、

    変更を加えたら DHCPサーバーサービスを一応再起動させておく。

     

    PXEブートの設定(PXELINUXの設定)

    PEXLINUX で選択させるのはとりあえず WindowsPE 、Memtest86+ 、Memtest86 、 GAG 、GParted の5種類でファイルの配置は次のような感じ。

         
    d:\pxe    
    TFTProot   tftpd ルートディレクトリ  
    boot WindowsPE 関連置き場
    fonts フォント (中にフォントファイルも)
    bcd bcd
    boot.sdi boot.sdi
    startrom.0 pxeboot.n12 をリネームしたもの
    winpe21_x64.wim   WinPE2.1 x64 の wim
    winpe21_x86.wim WinPE2.1 x86 の wim
    winpe30_x64.wim WinPE3.0 x64 の wim
    winpe30_x86.wim WinPE3.0 x86 の wim
    gparted GParted 関連置き場
    initrd1.img initrd1.img
    vmlinuz1 vmlinuz1
    pxelinux.cfg PXELINUX の設定ファイル置き場
    default PXELINUX の設定ファイル
    memdisk PXELINUX でFDイメージ起動などで利用
    pxelinux.0 PXELINUX の bootstrap program
    vesamenu.c32 PXELINUX のグラフィカルメニュー用
    wall.png PXELINUX のメニュー壁紙
    bootmgr.exe WindowsPE の bootmgr
    GAG.dsk GAG のディスクイメージ
    memtest86 Memtest86 本体
    MEMTEST86+ Memtest86+ 本体
     
     
    httpd のドキュメントルートなど
    filesystem.squashfs http で適切にアクセス可能な場所に置く
               

     

    個別には次のように用意&配置。

    WindowsPE 系

    • ブートマネージャー
      bootmgr.exe
      WindowsPE のブートイメージ wim の中など
      Windows\Boot\PXE
      からコピー
    • network boot program
      startrom.0 (pxeboot.n12)
      WindowsPE のブートイメージ wim の中など
      Windows\Boot\PXE
      から pxeboot.n12 を startrom.0 にリネームしてコピー (拡張子は必ず .0 に)
    • WindowsPE イメージなど
      fontsフォルダ丸ごと、boot.sdi、各 wim ファイル
      WAIK の WindowsPE 作成作業環境の ISO フォルダの中など
      (作業フォルダ)\ISO
      からコピー
    • bcd
      PXEブートのディレクトリ構造に合った bcd があればそれをコピー、無ければ bcd を作り直し
    • PXELINUX 用の設定の一例

     

    Memtest86+

    メモリテストその1。

    • Memtest86+ の Pre-Compiled Bootable Binary (ver.2.11)をダウンロードして解凍
    • 取り出したファイル memtest86+-2.10.bin を MEMTEST86+ にリネームして TFTProot にコピー
    • PXELINUX 用の設定の一例

     

    Memtest86

    メモリテストその2。

    • Memtest86 の Free Download の圧縮された iso イメージ ISO image for creating bootable CD (Windows - zip) をダウンロードして解凍
    • isoイメージから取り出したファイル MEMTEST を memtest86 にリネームして TFTProot にコピー
    • PXELINUX 用の設定の一例

     

    GAG

    グラフィカルなブートマネージャー GAG 。

    • GAG のwebサイトの File download から辿ってパッケージ(ver4.10)をダウンロードして解凍
    • 取り出したファイル disk.dsk を GAG.dsk にリネームして TFTProot にコピー
    • PXELINUX 用の設定の一例

     

    GParted

    パーティション操作用に GParted 。
    GParted のwebサイトで PXEブート に関しての説明を Live CD/USB/PXE あたりから辿って GParted Live on PXE server に目を通しておく 。一部のファイルは http で利用するので注意。

    • GParted のwebサイトの Downloads から Stable か Testing を適当に選んで zip の方をダウンロードして解凍
    • vmlinuz1 と initrd1.img を TFTProot\gparted にコピー
    • filesystem.squashfs は httpd 経由となるので適切に利用可能な場所にコピー
      例えばd:\www\filesystem.squashfs のように細かいことを気にせずドキュメントルートに置いてまず動作確認をとるのが簡単。
    • PXELINUX 用の設定の一例

     

    PXELINUX 系

    PXELINUX は download を辿ってこのへんからダウンロードした syslinux-3.80.zip を解凍する。ドキュメントは doc の中、メニューに関しては com32/menu/MANUAL、など結構散在している感。
    ファイルの準備に関しては、

    • memdisk 、pxelinux.0 、vesamenu.c32、はそれぞれ次の場所あたりにあるので確保して TFTProot にコピー
      • memdisk/memdisk
      • core/pxelinux.0
      • com32/menu/vesamenu.c32
    • 壁紙は 640x480 の .png か .jpg で用意、ここでは wall.png を TFTProot にコピー

    設定ファイル default は pxelinux.cfg の中に新規作成。

    • 壁紙を持つ
    • 番号をメニューのラベルにする
      例)
      LABEL 1
      menu label ^1. Windows PE

    上記2点を考慮して default を作成すると内容は次のような感じ。

    default

     

    実際に PXEブート させて動作確認が取れれば とりあえず PXE ブート 環境構築は完了。
     

    壁紙を用意した説明を書いて画像が無いのもアレなので実際に PXEブート させると次のような感じ。

    Pxeboot

    特に珍しい点も凝ったこともPXEブート故の特別なことも無く、メニューの数字で選択するか上下キーで選択して起動開始。
    (このエントリでの説明より画面のメニューが多いのは説明を書くのが面倒だったから・・・)

    雑感

    当時(2008年春頃)調べた時には『 PXE boot Windows 』などでググっても Windows2003 Server 付属もので PXEサーバー を構築するという情報になかなか辿り着けなかった。振り返ってみると『 PXEClient 060 Windows 』なら比較的簡単に到達できたという結果。キーワードを知って検索するのと知らずに検索するのは大違い、というのを思い知ったのが懐かしい。

     

    【補足】

    【2009/07/07:追記】

    • 参考サイト(tftpd32の時お世話になったサイト)が復活していたのでURLにリンクを張る
    • 抜けていた参考サイト(TechNet)を追加
    • memtest86 のサイトが復活していたので辿るべきファイルを追加編集
    • BCDストア の編集用バッチファイルのあるエントリへのリンクを追加

    【2009/08/14:追記】

    • 少し不親切だった bcd 編集用バッチファイルへのリンクの説明を補充

    | | コメント (0) | トラックバック (0)

    2009年5月 4日 (月)

    一瞬だけ前方クリア

    スタートは笹塚、ゴールは明治神宮。

    スタート近辺、玉川上水

    Hi390393



    Hi390394


    イイ感じの店

    Hi390396


    図書館、休館中らしい

    Hi390405


    金魚

    Hi390408


    うねる道

    Hi390413


    イイ感じの道

    Hi390414


    西の入り口?

    Hi390415



    禁則事項?

    Hi390419


    柵の向こうは立ち入り禁止

    Hi390426


    鳥居の根っこ

    Hi390438



    鳥居

    Hi390440



    ワイン

    Hi390441



    日本酒

    Hi390442


    日本酒の酒樽を撮る時に、人混みが途切れるのを待った訳でもないのに、奇跡的に人が全く入らなかった。

    | | コメント (0) | トラックバック (0)

    « 2009年4月 | トップページ | 2009年6月 »