Windows PE 2.0(WinPE 2.0)へTELNETでアクセス

Windows PE 2.0(以下ではWinPE 2.0と書きます)が他の端末からTELNETを通じて間接的に操作できたのでその方法をメモしておきます。 そもそもWinPE2.0とはなんぞやと言うことですが、CDまたはDVDから起動できるWindows XPやVISTAに対するレスキューOSです。 IMAGEX.EXEを利用すれば、HDDの丸ごとバックアップリストアも可能です。もちろんXCOPYコマンドなどでファイルもHDDからUSBメモリあるいは、ネットワークを通じて、他のPCや、NASへバックアップできます。 なので、HDDからXP等のOSが起動しなくなってもどうにか成る可能性があります。 「レスキュー的に使うにはKnoppixがいちばん良いでしょ」と言う事も言えますが、まいちようはWinPE2.0はVISTAがベースに成っているようなので、NTFSに対しての修復とかRESCUEに向いているのではと思ってます。でもたぶん Knoppixをメインに使うだろうな・・・。 ただ、MSが出した物としては珍しく、100%近くコマンドラインを利用したコマンドを利用して使えるので、 私たち視覚障害者には利用しやすいかと思ってます。「Knoppixだってコマンドラインで全てできるよ」と言われそうですが。

さて、作り方ですが一言で言って、Windows AIK(WAIK)から通常通りの方法で、WinPEのCDを 作る過程で、下で紹介するtelnetサーバを単純コピーして終了です。 もちろん、WinPEのCD-Rに直接telnetサーバを入れなくても、フロッピーまたはUSBメモリにtelnetサーバのプログラムを入れて、そこから起動させても良いでしょう。私はフロッピーで試しました。 で、そのtelnetサーバですが 超簡単 telnetd もどき for Windows95 です。Windows 95とありますが、WinPE 2.0で動作しました。

使い方ですが、Windows AIKでWinPE 2.0のブータブルCDを作って下さい。 CDのISOファイル内に上のtelnetd.exeを入れても良いし、フロッピーやUSBメモリに入れても良いでしょうね。 WinPEの作り方は面倒なので省略します。と言うかWinPEの概要と作成方法はここが詳しいです。
管理者必携! 最強のデータ・サルベージ・ツールを自作する − @IT
Winpeを立ち上げると我が家のPCでは
X:\>
となりました。 と言っても、WinPEではX:で立ち上がることになっているので当然の事だそうです。 WinPEはDHCPでアドレスを取るので(もちろんアドレスを固定して設定することも可能です)、DHCPサーバにアクセスして、WinPEがどんなアドレスを取得したか確認して下さい。確認のやりかたが分からないときは
ipconfig /all >a:\ip.txt
等とブラインドタッチでWinPE上でコマンドを実行して下さい。
次に、これもブラインドタッチで
wpeutil disablefirewall
と入力してfirewallを解除して下さい。これで外部からのtelnetを受け付けるようになります。ちなみに、firewallを解除しないとpingも受け付けられません。逆に、firewallが無事に解除できればpingを受け付けるので、「ちゃんとfirewallの解除のコマンドが実行された」と確認もできます。
次に、 set tdpass=abcd1234
と、環境変数tdpassにパスワードをセットして下さい。これもブラインドタッチです。
次に、telnetd.exeがあるディレクトリまたはドライブに移動して、
telnetd
とブラインドタッチで入力して下さい。これで、他の端末からtelnetを利用して、WinPEにアクセスできると思います。
ここでちょっと注意なのですが、CD-Rにtelnetd.exeを入れた場合、ISOファイルのルートディレクトリに入れた場合は、家のPCではWinPEを立ち上げると、d:\にあります。つまり、ISOファイルのルートディレクトリはd:\になっていると言うことです。なので、立ち上がったすぐのドライブ(ここではx:)で一生懸命telnetdと入力しても、コマンドがありません。としかられるばかりです。
login:と出たら、ユーザー名はないので、先ほど設定したパスワードここの例ではabcd1234を入力して下さい。めでたくプロンプト$がでましたか? 後は、DOSコマンド、WinPEのコマンドが使えます。 また、上のブラインドタッチの部分は、 予めWinPE2.0の中に記述しておくと自動的に設定してくれます。つまりWinPE2.0にもautoexec.batに当たる物があります。 WinPE2.0には、予め設定しておくと自動的に実行してくれる方法がいろいろとあるようです。 例えばWinPE2.0の
\windows\system32\wpeshl.ini
または \windows\system32\startnet.cmd
の2ファイルに予め実行してほしいものを書くと良いようです。例えば startnet.cmdファイル内に
wpeinit
wpeutil disablefirewall
set tdpass=abcd1234
telnetd.exe
と書いておきます。 ちなみに1行目のwpeinitは最初から書かれていますので、実際に書くのは2行目からです。 また、telnetd.exeも
\windows\system32\
にコピーしておきます(新たにユーザがインストールしたプログラムはsystem32にコピーするのはいわゆる流儀に反してるのかもですが・・・)。 これで最初からなにもブラインドタッチで入力しなくてもすぐにtelnetでアクセスできます。 もしくは、まあ自分の好きなバッチファイルを書いて、バッチファイル名をブラインドタッチで入力した方が良いかもです。まあ、このへんは適当にやって下さい。 最近は、バッチファイルの拡張子は*.batでなくて、*.cmdなんですね?知りませんでした。 以上です。

上のtelnetdを使う前に http://www.tamasoft.co.jp/さんのPC Telnetdを使ってみたのですが、これはうまく動いてくれませんでした。もしかして、エラーメッセージが分かればどうにかなったのかもしれないんですが、どんなエラーメッセージが出ているかは画面見えないから不明です(笑)。

また、WinPE2.0にUnxUtilsを入れて使っても便利かもです。詳しくはこちら: Windowsの小技―UnxUtils(コマンドプロンプトで動くGNUユーティリティ)の薦め - エコなび日記 - 楽天ブログ(Blog)

視力がないとどうしてもWindows系のOSの修復や、レスキューには他の人の手伝いが必要と言うことが多くなってしまいました。 まあもちろんやってもらえるならばそれに任せるのも良いでしょうね。 でもやっぱりだれかにやってもらうのはおもしろくないし、助けてもらったら無料と言うわけにもいかないでしょ(知り合いだったら飯ぐらいごちそうしなければね)。 と言うことで、一人でできた方が経済的でもあります。 なにかコメントあったら下さい。 c8h6o4@watakatsu.com

参考SITE

トップページに戻る