【VirtualStore】teratermマクロのpassword.datの保存場所
VirtualStoreとはアプリがシステムフォルダにファイルを出力しようとすると別のフォルダに出力するけどアプリからはシステムフォルダにあるものとして透過的に扱えるよという機能らしい。
意識したのはWindows 7(64bit)でのteratermマクロの話。
C:\Program Files (x86)\teraterm\ttl\
にteratermのマクロを置いてあって、例えばホスト名hogeのサーバにsshでログインするマクロhoge.ttlはこんな感じ
↓
username = 'hoge_user' ← ログインするユーザ名
hostname = 'x.x.x.x' ← hogeのIPアドレス
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
getpassword 'password.dat' 'hoge' password
msg = hostname
strconcat msg ':22 /ssh /2 /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg password
connect msg
さらに、こういうショートカットを作ってマウスでダブルクリックするとログインできる
↓
リンク先:"C:\Program Files (x86)\teraterm\ttpmacro.exe" ttl\hoge.ttl
作業フォルダー:"C:\Program Files (x86)\teraterm"
初回ログイン時はパスワードを聞かれるダイアログが開くからそこにパスワードを入力する。
そうすると、password.datにパスワードが保存されて次回以降は入力がいらない。
じゃあこのpassword.datはどこに保存されるのか。
以前は(W2KとかXPの時だと思う)hoge.ttlと同じ場所にpassword.datが保存されてた。
で、今のWin7の環境になったらどこにあるか分からなくなった。
Procmonで調べてみたら↓にあったわけだ。
C:\Users\ログオンユーザ名\AppData\Local\VirtualStore\Program Files (x86)\teraterm\ttl\password.dat
意識したのはWindows 7(64bit)でのteratermマクロの話。
C:\Program Files (x86)\teraterm\ttl\
にteratermのマクロを置いてあって、例えばホスト名hogeのサーバにsshでログインするマクロhoge.ttlはこんな感じ
↓
username = 'hoge_user' ← ログインするユーザ名
hostname = 'x.x.x.x' ← hogeのIPアドレス
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
getpassword 'password.dat' 'hoge' password
msg = hostname
strconcat msg ':22 /ssh /2 /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg password
connect msg
さらに、こういうショートカットを作ってマウスでダブルクリックするとログインできる
↓
リンク先:"C:\Program Files (x86)\teraterm\ttpmacro.exe" ttl\hoge.ttl
作業フォルダー:"C:\Program Files (x86)\teraterm"
初回ログイン時はパスワードを聞かれるダイアログが開くからそこにパスワードを入力する。
そうすると、password.datにパスワードが保存されて次回以降は入力がいらない。
じゃあこのpassword.datはどこに保存されるのか。
以前は(W2KとかXPの時だと思う)hoge.ttlと同じ場所にpassword.datが保存されてた。
で、今のWin7の環境になったらどこにあるか分からなくなった。
Procmonで調べてみたら↓にあったわけだ。
C:\Users\ログオンユーザ名\AppData\Local\VirtualStore\Program Files (x86)\teraterm\ttl\password.dat
diskpartでリカバリ領域削除
ノートPCのHDDを交換した。古い方のHDDはケースに入れて再利用することに。
ところが最初に中身をまっさらにする段階で、コンピュータの管理→ディスクの管理からはリカバリ領域を削除できないことに気付く。
リカバリ領域の削除はdiskpartを使う。OSはWindows XP Pro。
コマンドプロンプトから
↓
> diskpart
DISKPART> list disk
DISKPART> select disk 2
DISKPART> list disk
DISKPART> list partition
DISKPART> select partition 1
DISKPART> delete ?
DISKPART> delete partition override
DISKPART> exit
ところが最初に中身をまっさらにする段階で、コンピュータの管理→ディスクの管理からはリカバリ領域を削除できないことに気付く。
リカバリ領域の削除はdiskpartを使う。OSはWindows XP Pro。
コマンドプロンプトから
↓
> diskpart
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- --------------- ------- ------- --- ---
Disk 0 オンライン 596 GB 0 B
Disk 2 オンライン 93 GB 88 GB
DISKPART> select disk 2
ディスク 2 が現在選択されているディスクです。
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- --------------- ------- ------- --- ---
Disk 0 オンライン 596 GB 0 B
* Disk 2 オンライン 93 GB 88 GB
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 OEM 5726 MB 32 KB
DISKPART> select partition 1
パーティション 1 は現在選択されているパーティションです。
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
* Partition 1 OEM 5726 MB 32 KB
DISKPART> delete ?
Microsoft DiskPart version 5.1.3565
DISK - ディスクの一覧から存在しないディスクを削除します。
PARTITION - 選択されたパーティションを削除します。
VOLUME - 選択されたボリュームを削除します。
DISKPART> delete partition override
DiskPart は選択されたパーティションを正常に削除しました。
DISKPART> exit
DiskPart を終了しています...
「"SHELL32,DLL,Control_RunDLL hotplug.dll"の実行中に、例外が発生しました」対応
内蔵HDDを交換してAcronis True Image 11でバックアップからシステムを復元してしばらく使ってたんだけど、ハードウェアの安全な取り外しでUSB HDDを取り外すとき、「"SHELL32,DLL,Control_RunDLL hotplug.dll"の実行中に、例外が発生しました」とかいうエラーが出るようになったことに気付いた。
こんなやつ
↓

Windows XPをAcronis True Imageで復元したときに起こる既知の問題らしい。
以下runexyのページにある解決策のコピー
↓
1.全ての USB デバイスを取り外します。
2.デバイスマネージャを起動します。
3.[表示(V)]メニューの[非表示デバイスの表示(W)]にチェックを入れます。
4.[記憶域ボリューム]の左側に表示されている+をクリックして、記憶ボリュームの一覧を展開します。
5.それぞれの「汎用ボリューム」を右クリックして、[削除]を選択します。
※途中で再起動を求められる場合がありますが、全ての「汎用ボリューム」を削除し終わるまで再起動は行いわないでください。
6.全ての「汎用ボリューム」の削除が完了したら、コンピュータを再起動します。
7.再起動後、自動的に汎用ドライバの再インストールが開始されます。
こんなやつ
↓

Windows XPをAcronis True Imageで復元したときに起こる既知の問題らしい。
以下runexyのページにある解決策のコピー
↓
1.全ての USB デバイスを取り外します。
2.デバイスマネージャを起動します。
3.[表示(V)]メニューの[非表示デバイスの表示(W)]にチェックを入れます。
4.[記憶域ボリューム]の左側に表示されている+をクリックして、記憶ボリュームの一覧を展開します。
5.それぞれの「汎用ボリューム」を右クリックして、[削除]を選択します。
※途中で再起動を求められる場合がありますが、全ての「汎用ボリューム」を削除し終わるまで再起動は行いわないでください。
6.全ての「汎用ボリューム」の削除が完了したら、コンピュータを再起動します。
7.再起動後、自動的に汎用ドライバの再インストールが開始されます。
Tera Termでviのときは色をつけたくない。
最近PCをWindows XP SP3からWindows 7 Ultimate 64bitに変えた。
新しいPCでTera Term(Version 4.65)を使ってLinuxサーバにログイン後、特にviを使ってびっくり。
色がうるさい。
viのときは色をなくしたい。
で、その設定。
Tera Termの
設定 -> TCP/IP... -> 端末タイプ(T):
を「xterm」から「vt100」に変更する。これでviで開いたとき色がつかない。
あと、
設定 -> ウィンドウ(W)... -> 太字を有効(D)
のチェックを外す。
これでXPのときのVersion 4.40とだいたい同じ見た目になった。
新しいPCでTera Term(Version 4.65)を使ってLinuxサーバにログイン後、特にviを使ってびっくり。
色がうるさい。
viのときは色をなくしたい。
で、その設定。
Tera Termの
設定 -> TCP/IP... -> 端末タイプ(T):
を「xterm」から「vt100」に変更する。これでviで開いたとき色がつかない。
あと、
設定 -> ウィンドウ(W)... -> 太字を有効(D)
のチェックを外す。
これでXPのときのVersion 4.40とだいたい同じ見た目になった。