カテゴリー別アーカイブ: Windows

Windows XPのサービスパック統合CDを作る

Windows XPだけじゃなくて2000とかも同じ方法でできる。
Vistaは無理。
今回はWindows XP SP1にSP3とIntelのICHxRのRAIDドライバを統合する。

準備するもの

  • Windows XPのインストールディスク
  • Windows XPのSP3のISOイメージ(ファイルで構わないがISOイメージしか配ってなかった)
  • 統合したいドライバ(今回はICHxRのIntel Matrix Storage DeviceのRAIDドライバ)
  • nLite
  • WindowsでISOをマウントできるツール(普通DaemonToolsになると思う)
  • .NET Framework 2.0(monoだとあるはずのディレクトリが見つからないと言われて動かなかった)

nLiteは2000, XP, 2003の32bit, 64bit版に対応している、Windowsのサービスパックやドライブ、ホットフィックスなどの統合及びいらないものの削除等々ができるナイスなツール。

で、まずnLiteと.NET Frameworkはインストールしたとして、XPのディスクの中身を作業フォルダにつっこむ。
XPのSP3のイメージを拾ってくる。
統合したいドライバを準備する。

nlite1

nLiteを起動して、元となるコピペしたWindowsのインストールディスクの中身の入ったフォルダを指定する。

nlite2

今回はサービスパックとドライバを統合して、ISOイメージを作るので以下のように設定。
邪魔なWindowsコンポーネントとかも消せるので、興味がある人は触ってみれば多分直感的にわかる。

nlite3

先に進むと統合するサービスパックを選べと言われるので、用意してあったサービスパックのイメージをマウントして、それを指定する。

nlite4

nlite5

これでSP3を統合してくれるので、次へ進む。
で、今度はドライバの指定。
同じような感じ。
画像では単体をさしてるけど実際はフォルダしていしてICHxR系全部つっこんだ。
32bitと64bitドライバが混合しているような場合はちゃんとアーキテクチャにあってるやつ選ばないとやばいけど、今回は全部32bitドライバなので問題ない。

nlite6

nlite7

ドライバの統合が終わったら最後にISOイメージの作成。
ISO作成ボタンをおせばいいだけ。
一応それっぽいラベルもつけた。

nlite8

これでXPのSP3とICHxRのドライバを統合したディスクイメージが出来上がり。
ICH9RとかのRAID機能を使っているマシンにXPを再インストールしたいような場合、かなり楽になる。
あらかじめnVidiaのドライバ組み込んでおいたりっていう使い方なんかもできるし、人によってはかなり重宝する。
まあ人によっては全然魅力感じないけど。

wineの設定をしてみる

とりあえずIcedoveがどうにも使い物にならないので、やはりBeckyを使いたい。
ということでこの間インストールしたwine。
日本語表示を何とかしたいと思った。

そこで、winecfgを起動して眺めてみると、Desktop IntegrationのItem欄でフォントの設定ができるのを見つけた。
ということで、日本語フォントをインストールしまくってみる。
まずaptitude search fontとたたいて、Japaneseと説明に書いているフォントをかたっぱしからインストール。
いや、いっこでいいんだろうけどさ。
ついでなんで。
で、winecfgのさっきの欄開いて、Active Title Text、Menu Text、Message Box Text、ToolTip Textを、眺めてなんとなく目に馴染んだVL Pゴシックにしてみる。
で、wineでbeckyを起動して、全般的な設定から言語/フォントタブを開き、 デフォルトのフォントをFixedSysからVL Pゴシックに変えてみた。

すると。

Before

screenshot-waterblue-becky

After

screenshot-waterblue-becky-3

だいぶ幸せになれたよかーん。

wineすげー。

左側のペインがちょっと気に入らないのでもう少しいけないか考える。
ぐぐってみたら@ITでwineのフォントをリプレイスできることを発見。
Unicodeでかくのかよ。。。

$ echo ゴシック | nkf -w16 | hexdump -x

とかやってみたところ、どうやら

x30b4x30b7x30c3x30af

がゴシックらしい。

ふーむ。
どう考えても自分で書くのはめんどくさいので、~/.wine/user.regに試しに以下をコピペして試してみたけどいまいち気にくわない。

[Software\Wine\Fonts\Replacements]
"MS Gothic"="IPA x30b4x30b7x30c3x30af"
"MS Mincho"="IPA x660ex671d"
"MS PGothic"="IPA Px30b4x30b7x30c3x30af"
"MS PMincho"="IPA Px660ex671d"
"MS UI Gothic"="IPA UIx30b4x30b7x30c3x30af"
"xff2dxff33 x30b4x30b7x30c3x30af"="IPA x30b4x30b7x30c3x30af"
"xff2dxff33 x660ex671d"="IPA x660ex671d"
"xff2dxff33 xff30x30b4x30b7x30c3x30af"="IPA Px30b4x30b7x30c3x30af"
"xff2dxff33 xff30x660ex671d"="IPA Px660ex671d"

試しに全部VL Pゴシックにしてみたら文字が切れたりしてダメだった。

[Software\Wine\Fonts\Replacements]
“MS Gothic”=”VL Px30b4x30b7x30c3x30af”
“MS Mincho”=”VL Px30b4x30b7x30c3x30af”
“MS PGothic”=”VL Px30b4x30b7x30c3x30af”
“MS PMincho”=”VL Px30b4x30b7x30c3x30af”
“MS UI Gothic”=”VL Px30b4x30b7x30c3x30af”
“xff2dxff33 x30b4x30b7x30c3x30af”=”VL Px30b4x30b7x30c3x30af”
“xff2dxff33 x660ex671d”=”VL Px30b4x30b7x30c3x30af”
“xff2dxff33 xff30x30b4x30b7x30c3x30af”=”VL Px30b4x30b7x30c3x30af”
“xff2dxff33 xff30x660ex671d”=”VL Px30b4x30b7x30c3x30af”

まあやり方はわかったから、その辺は気が向いたらまたやろう。

Linux上でWindowsソフトを動かす

自分はメーラはBeckyを愛用していた。
んだけども、Linux用のBeckyはない。
そこで調べてみたんだが、LinuxにはWindows APIを実装している素敵なものがあるらしい。
wineというもの。
これで動かせないものかと思って入れてみる。

# aptitude install wine

で、うちではNTFSのファイルシステムはすでにマウントしているので、試しに起動してみる。

$ wine /ntfs/winxp/Program Files/RimArts/B2/B2.exe

するとこんな画面が。

screenshot-wine-warning

また64bitの壁が。
とりあえず言われたとおり、lib32nss-mdnsをいれて起動しなおす。

# aptitude install lib32nss-mdns
$ wine /ntfs/winxp/Program Files/RimArts/B2/B2.exe

screenshot-e38387e383bce382bfe38395e382a9e383abe38380e381aee68c87e5ae9a

うごくくさくね?
とりあえず、Windowsで使っていたデータフォルダを指定して起動してみる。

screenshot-waterblue-becky

若干怪しいが起動した!

が、SSL通信ができないってベッキーに言われたんだが、これはどうしたものか。

screenshot-message-from-becky

さすがにLinux用のSSPIは見当たらない。
SSPIはWindowsの認証に用いるAPI群なわけで。
Active Directoryなんかに使われていたりする。
ということでこれに関しては諦めるか。

LinuxでMSN Messengerを使う

なんかないかと思って検索してみた。
あったんで入れてみた。

# aptitude search msn
i   amsn                            – Tcl で書かれた MSN メッセンジャ

起動してみた。
動いた。
Languageの選択もできて、Language Managerってので日本語言語いれてみたんだけど、テラ文字化け。
たぶんEUCあたりでかかれてるんだろう。
Englishに戻してサインインしてみたところ、名前は日本語で見える。
普通に使えそう。

続きを読む LinuxでMSN Messengerを使う

ich9rでRAID0およびRAID5を構築しているマシンにdebianをUSBメモリからインストールしてみる

前作ったUSBメモリのdebianインストーラ
ICH9RでRAID0およびRAID5で構築しているマシンにインストールを試みたところ、予想通りうまくいかない。
HDDが/dev/sdxで認識されており、RAIDとして認識されていない。
この状態でインストールするとRAIDのデータが激しくぶっ壊れて涙目になるわけで、とりあえず、i386じゃなくてamd64で使いたいんでそっちの準備をする。
前回はLinuxでUSBブートディスクを作成したが、今回はWindowsで作ってみようと思う。

ブートイメージの流し込みはlinux だと

zcat boot.img.gz > /dev/sdd

で幸せになれたが、zcatがwindowsではないので、何か無いかと思ったらdd for windowsというものがあった。
ということでまず入れてみる。
で、amd64用のboot.img.gzをとってくる。
んで、とってきたイメージはgzip圧縮されているのでとりあえず適当な解凍ツールで解凍。
うまれたboot.imgを使ってdd for windowsでUSBメモリにイメージを流し込む。

ddforwindows1

dd for windowsはビッグドライブに対応していないようだが、まあ気にしない。
netinstイメージをとってきてUSBメモリにつっこむ。

これでUSBからブートしてみる。
とりあえず起動はした。

続きを読む ich9rでRAID0およびRAID5を構築しているマシンにdebianをUSBメモリからインストールしてみる

ブートローダが消滅してしまった件

今使っている自分のマシンはICH9Rを使ってHDD3本でRAID0およびRAID5を構築している。
で、今、OSがWindows7 64bit βとWindows XPをつかっていたんだけども、Windows 7を消してdebian amd64を入れようとした。
そこでUSBメモリからnetinstでいれようとしたんだけれども、partitionerでパーティション切り直そうとしたときになんか死亡した。
その結果、ブートローダが消滅してブートできなくなった。

  1. Windows 7はCドライブに入っていた
  2. Windows XPよりもあとにWindows 7を入れた
  3. debianをWindows 7の代わりに入れようとした

まあそういうことで死亡したわけです。

とりあえず、Windows 7を入れ直せばXPも復活するだろうと言うことで、入れ直してみた。

。。。復活しない。

Windows 7はWindows Vistaと同じブートローダを使っていて、BCDってやつになってる。
使い方なんぞ知るわけがないが、背に腹は代えられない。
調べて何とかするしかない。

BCDを編集するには、bcdeditってやつを使うらしい。
とりあえず、Windows XPのブートローダはntldrってやつだ。
bcdedit /? を見る限り、ntldrに関する設定もできるようだ。
bcdedit /enum all とかやって現在の設定状況を見てみるも、さっぱりntldrに関する記述が見あたらない。
自分でかけってことですね、はい。

で、なんかおかしなことに気がついた。
Windows XPのインストールドライブはHドライブになっているんだが、NTLDRがない。
boot.iniもない。
いや、前あったはずなんだけど。
仕方ないのでWindows XPのインストールCDのI386から、NTLDRとNTDETECT.COMをコピーしてくる。
で、boot.iniをこんな感じで記述。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)WINDOWS=”Microsoft Windows XP Professional” /fastdetect /NoExecute=OptIn

ドライブレターはHなんだけども、物理的には先頭から3番目に入っているので。

で、次にbcdeditでBCDの編集。

bcdedit /create {ntldr} /d “Windows XP”
bcdedit /set {ntldr} device partition=H:
bcdedit /set {ntldr} path ntldr
bcdedit /displayorder {ntldr} /addlast

意味としては、HドライブのNTLDRを使ってブートするんだぜ、ってエントリを追加ってかんじ。
これで再起動したところ、ちゃんとBCDのメニューにXPが追加されていて、XPで起動できた。
危ない危ない。

Windowsでrsync over sshでパスフレーズレス接続

前回、Windows版rsyncのcwrsyncを紹介したが、この際是非パスフレーズレスで使いたくなった。

sshでパスフレーズレス接続するには、ssh-keygenで公開鍵と秘密鍵のペアを作って、認証対象サーバの~/.ssh/authorized_keysに公開鍵をつっこんでおき、認証の際に秘密鍵を使ってログインインする。
超簡単にやり方を書いておこう。

サーバ上で鍵を生成。
~$ ssh-keygen -t RSA
公開鍵を登録。
~$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys

フロッピーなどでid_rsa(秘密鍵の方)をクライアントマシンに転送。

認証している鍵は他の人に読めないように。
~$ chmod 600 .ssh/authorized_keys
鍵を削除
~$ rm .ssh/id_rsa.*

対象サーバじゃなくてクライアント側で鍵のペア作って、サーバに公開鍵をFTPかなんかで送る方が幸せかもしれない。
まあ、どっちでもいい。
あとはWindowsの場合は、teratermなんかsshで接続するときに、その鍵を使えばパスフレーズレスで接続できるようになる。
puttyの場合はputtygenで鍵の形式を変換してやらないと使えないけど、ppk形式に変換してやれば使える。
クライアントマシン側でsshコマンドでやる場合は、-iオプションで秘密鍵を指定してやればいい。

$ eval `ssh-agent`
$ ssh-add 鍵

とかやってクライアントマシン側でssh-agentを起動して、秘密鍵を喰わせておけば指定の必要もない。(その場合は作業が終わったらeval `ssh-agent -k`をして殺しておかないと泣くことになる)
あとは~/.ssh/configをかくかんじか。

で、本題はこれじゃなくて、それをcwrsyncを使って窓マシンからlinuxサーバにrsyncするときに、パスフレーズレスにすることだ。
cwrsyncのbinフォルダをのぞくと、ssh-keygenなんかはあるけどssh-agentはない。
そこで、~/.ssh/configは使えないかと考える。

Windowsのインストールドライブ:Documents and Settingsユーザ名.ssh

をのぞいてみたらknown_hostsがある。
試しにココにconfigファイル作ってみる。

Host waterblue.net
User ユーザ名
IdentityFile 鍵ファイルのパス(C:keyid_rsaなら/cygdrive/c/key/id_rsa)
Protocol 2

で、コマンドラインからssh waterblue.netとしたら。

H:>ssh waterblue.net
Linux debian 2.6.29-1-amd64 #1 SMP Fri Apr 17 10:12:36 UTC 2009 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have mail.
Last login: Thu Apr 30 22:59:06 2009 from xxx.xxx.xxx.xxx
~$

キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

ここでrsyncをドライランでたたいてみる。

H:>rsync -a –progress -v -n /cygdrive/f/test waterblue.net:/home/ユーザ名/rsync
sending incremental file list
test/
test/test.txt

sent 85 bytes  received 19 bytes  69.33 bytes/sec
total size is 6  speedup is 0.06 (DRY RUN)

ユーザ名もパスワードもきかれないでいけたよママン!

これで窓でも快適なrsyncライフを送ることができる!