azukipochette's weblog

memory dump (mini)

atom を日本語版の Windows で楽しく使うための設定

フォント設定を変更する

既定のフォントが MS ゴシックだったり、MS 明朝だったりするので "メイリオ (Meiryo)" を使う。

  • [Settings] を開き、[Editor Settings] の [Font Family] に "Source Code Pro, Meiryo" を設定する
  • メニュー バーから [File] - [Open Your Stylesheet] を開き、次の様に編集する
.tree-view {
  font-family: "Meiryo";
}

.markdown-preview {
  font-family: "Meiryo";
  h1,h2,h3,h4,h5,h6 {
      font-family: "Meiryo";
    }
  }
}

プラグインをインストールする

快適に使用するために必須のプラグインが存在するので、インストールしておく。

japanese-wrap

エディタの表示範囲を超えたときに自動的に折り返しする (Wrap) 設定を有効にしても、日本語で書いた場合は全然折り返してくれない現象が発生する。 これは、文字の幅の計算にマルチバイトを意識していないのが原因なので、日本語フォントでもある程度適当に折り返してくれるこのプラグインをいれることで解消できる。

save-session

Sublime Text のように、ウィンドウを閉じたときに勝手にセッションの情報を保存してくれるプラグイン。急な再起動でも安心できるので、お勧め。

WinDbg の覚え書き (その 1)

デバッグ対象のコンピューターの情報を表示する

デバッグ対象のコンピューターの情報を表示するには、vertarget を使用します。

1: kd> vertarget
Windows 10 Kernel Version 10041 MP (2 procs) Free x86 compatible
Built by: xxxxxxxx
Machine Name: "xxxxxxxx"
Kernel base = xxxxxxxx
Debug session time: Thu Apr 23 12:59:13.438 2015 (UTC + 9:00)
System Uptime: 0 days 0:00:51.891

デバッグ対象のコンピューターの IP アドレスを調べる

下記のように srvnet!SrvAdminIPAddressList の内容を du で列挙すれば表示することができる。

1: kd> du poi(poi(srvnet!SrvAdminIpAddressList))
a6f67ed8  "127.0.0.1"
1: kd> du
a6f67eec  "::1"
1: kd> du
a6f67ef4  "192.168.0.2"

英語版の Windows 環境で日本語版の Outlook 2013 を使用すると、返信時のヘッダーが "返:" になる

気持ち悪い場合は、以下の設定で "RE:" にすることができる。

  1. [オプション] を開く
  2. "Outlook オプション" ダイアログの [詳細設定] をクリック
  3. [文字設定オプション] の [返信/転送メッセージと転送通知に英語のメッセージ ヘッダーを使用する] にチェックする

日本語の Windows に Git を気持ちよく導入する方法

セットアップ時の注意事項

  • "Windows Explorer inegraton" のチェックを外す (コンテキスト メニューに Git 関連のメニューを表示させない)
  • "Use Git from the Wndows Command Prompt" を選択 (Bash にしない)
  • "Checkout Windows-style, commit Unix-Style line endings" を選択 (チェックアウトすると CRLF だけど、リポジトリ内は LF で管理する)

Kaoriya-VIM をインストールする

Git の Commit には既定で VI が使用されるが、Unicode 対応ができていないため、日本語のコメントが化ける。 そこで、香り屋 (Kaoriya) VIM をインストール (ZIP を解凍して適当な場所に保存) する。

ダウンロード先

http://www.kaoriya.net/

既定のエディタに Kaoriya VIM を設定する

コマンド プロンプトから次のコマンドを実行する (Kaoriya-VIM を C:\tools\vim に展開した場合の例)

git config --global core.editor "'"C:\tools\vim\vim.exe"' -f - c 'set fenc=utf-8'"

ユーザー情報を設定する

コマンド プロンプトから次のコマンドを実行する (名前とメールアドレスは適切な値に変更すること)

git config --global user.name "Your name"
git config --global user.email yourname@domain.com

WinDbg の既定のワークスペースの設定を変更する方法

WinDbg のワークスペース設定は .WEW 形式でのインポート/エクスポートが可能だが、WinDbg の既定のワークスペースの設定を変更したい (デバッグの度にワークスペースを指定したくない) 場合がある。

WinDbg の既定の設定はファイルではなく、下記のレジストリに直接保存されており、このデータの値を変更する必要がある (データ自体は .WEW で保存される形式と同じ)。

キー名: HKEY_CURRENT_USER\Software\Microsoft\Windbg\Workspaces
値の名前: Default
値の種類: REG_BINARY
値のデータ: <バイナリ形式で .WEW の内容を設定>

上記のレジストリ変更後、WinDbg.exe を起動すれば設定した内容が反映されるはずだ。

なお、WinDbg.exe の UI 上で Default というワークスペース名で保存したとしても、"HKEY_CURRENT_USER\Software\Microsoft\Windbg\Workspaces\Explicit" 配下に "Default" という名前で保存されるだけで、既定の設定にはならないので注意したい。

Chocolatey の ksMessage を非表示にする方法

Chocolatey を使っているとコマンド実行のたびに下記のメッセージが表示されて鬱陶しいことがあります。 その場合は、下記のメッセージにも表示されているとおり config ファイルを変更することで、このメッセージを無効にできます。

Did you know we are rewriting Chocolatey? The new version is much more stable and secure.

Find out more and support the future of Chocolatey at https://bit.ly/chocolateykickstarter

Disable this message by changing ksMessage to false in chocolatey.config.

現在のバージョン (2014/11/27 現在) の Chocolatey は、C:\ProgramData\chocolatey\にインスト-ルされるので、配下のchocolateyinstall\chocolatey.config を開きます。 このとき、管理者権限でエディタを開くことを忘れないようにしましょう。

以下のようにファイルを編集し、保存します。

<?xml version="1.0"?>
<chocolatey>
    <useNuGetForSources>false</useNuGetForSources>
    <checksumFiles>true</checksumFiles>
    <virusCheck>false</virusCheck>
    <ksMessage>false</ksMessage> <!-- この行を true → false に変更 -->
    <sources>
        <source id="chocolatey" value="https://chocolatey.org/api/v2/" />
    </sources>
</chocolatey>

これで、メッセージが表示されなくなります。

Packer で Windows の Box (vmware-iso) を作成するまで

はじめに

Packer を Windows の Box 作成に利用するには、Packer 用のテンプレート ファイル (json 形式) を作成しなければなない。 最初から作成するにはかなり大変なので、GitHub 上で開発が進められている Packer-Windows というすばらしいプロジェクトから設定ファイル一式を取得すると良い。

MSDN ライブラリの ISO イメージを使用するようにする

README.MD に書かれている通り、既定では評価版の OS イメージ (英語) を MSDN 経由でダウンロードするように書かれているので、MSDN サブスクリプションで提供されている ISO イメージなどを使用する場合には、カスタマイズが必要となる (MSDN サブスクライブ会員でない場合は、そのまま評価版を使いましょう :))。

下記に実際に設定を変更した部分を示す。

"type": "vmware-iso",
"iso_url": "./iso/ja_windows_8_1_enterprise_x86_dvd_2791652.iso",
"iso_checksum_type": "md5",
"iso_checksum": "1A490A9F17FAD5B4C684BE915438399F",

iso_url が、ISO ファイルが実際に配置されている場所を示す。既定ではネットワーク経由でダウンロードする方法が記載されているが、README.MD の指示通りに別途 MSDN サブスクライバからダウンロード後、Packer-Windows の iso フォルダに配置している。iso_checksum_type は、その ISO が正しいものであるかどうかを示すためのハッシュ値である。 本来は、改ざんなどがされいない正しい ISO が選択されていることを確認するためのものなので、iso_checksum_typesha1 にし、MSDN サブスクライバー ダウンロード時の [詳細情報] に記載されている SHA1 のハッシュ値を入れるのが正しい。 ただ、自分が持っている ISO ファイルから必要なハッシュを計算する方法を念のため、記載しておく (MD5 の例)。

Get-FileHash C:\works\packer-windows\iso\ja_windows_8_1_enterprise_x86_dvd_2791652.iso -Algorithm MD5

Box の作成経過を確認する

Box の作成経過を確認するには、テンプレートの headless を false にする。 通常、Packer はひっそりと Box を作るようになっているが、false にすることで VMWare Workstation が起動し、実際の進捗状況が見えるようになる。正常に作成する場合にはあえて false にする必要がないが、途中でレスポンスが帰ってこない場合は期待しない動作になっている可能性があるので、テンプレートを修正した場合は 1 度は false にして進捗状況を確認した方が良いだろう。

"headless": false,

Autounattend.xml ファイルを編集する

残念ながら、json ファイルを書き換えただけでは、自動インストールしてくれないことがある。これは、Autounattend.xml (応答ファイルと呼ばれるもの) の設定が正しくないためだ。下記の MSDN ライブラリの記載などを確認して、Autounattend.xml を対象の Windows 向けに変更する。

デバッグする

もし、セットアップ中に期待しない動作になった場合 (セットアップに失敗/ハングするなど) は、デバッグするしかない。一般的なセットアップ時のデバッグ方法について記載しておく。

コマンド プロンプトを起動したい

下記のサポート技術情報にこのように記載があるので、その通りにすればよい。

GUI モードのセットアップを実行中にコマンド プロンプトを使用するには、Shift + F10 キーを押します。

カーネル デバッグをしたい

カーネルでバッグをするには、テンプレート (json) ファイルの vmx_data に下記の設定を追加する (名前付きパイプによる通信の設定)。

"serial0.present": "TRUE",
"serial0.fileType": "pipe",
"serial0.startConnected": "TRUE",
"serial0.yieldOnMsrRead": "TRUE",
"serial0.fileName": "\\\\.\\pipe\\com_1",
"serial0.tryNoRxLoss": "TRUE"

この上で、Windows の ISO ファイルを Windows ADK (AIX) を使用して展開、編集、ISO化する。詳しい手順は、下記のサポート技術情報のやり方を参考にすると良い (注意: 展開、ISO 部分だけを参考にすること)。

展開後、C:\boot\bcd の配下にある bcd ファイルを bcdedit で変更する。変更方法は、次の TechNet ライブラリの記載を確認すること。

コマンドの設定例を参考情報として以下に示す。

 bcdedit /store C:\boot\bcd\bcd /set {default} debug on

おまけ

もし、"Getting Device Ready xx%" のところで止まっているようならば、guset_os_type の設定を見直した方が良い。 この設定が正しくないと、VMWare は対象の OS がわからず、その OS 向けの対処をしなくなってしまう。

私はこの設定を VMWare workstation だから設定は別に "other" いいのかな?なんて思ってしまい、2 日ほどデバッグしてしまった。

参考情報

Packer のイメージを作成する場合は、次のドキュメントを参考にして作成すること。