2016年9月29日木曜日

続々 Windows 10 Anniversary Updateに失敗することがある

Windows 10 Anniversary Updateに失敗する場合の対処方法を書きました。
Windows 10 Anniversary Updateに失敗することがある
http://www.sakashita-net.jp/2016/09/lenovo-thinkpadwindows-10-anniversary.html

続 Windows 10 Anniversary Updateに失敗することがある
http://www.sakashita-net.jp/2016/09/lenovo-thinkpadwindows-10-anniversary_29.html
さらに調べたところ、以下で書かれているようにLogicoolの無線USBドングルが接続されているとうまくいかないようです。私は、ここで書かれている「非表示のデバイスで現れたデバイスを削除する」ことにしました。ただ、別のUSBポートの接続しないようにするという注意が必要です。
Windows10 RS1の不具合・トラブル・注意事項(2016年8月版)
http://freesoft.tvbok.com/win10/trouble_shoot_list_2016_08.html
以下に引用します。
  • Unifying レシーバを接続しているとPCが起動しなくなる
    • 症状
      Unifying レシーバを接続しているとPCが起動しなくなる。
      起動してからUnifying レシーバを接続した場合でも、Logicoolのマウスは使えない。またシャットダウンができなくなる。
      (Release Preview 14393.82では修正済みの模様)
    • 参考リンク
    • 原因
      • Unifying レシーバー を 2か所以上のUSBポートに接続した PCで発生する。(1つのUSBポートで使い続けている間は発生しない)
      • 1つのUSBポートで使い続けている場合でも、他のUSB機器 (マウスなど) との相性によっては発生する?
    • 次の Windows Update で修正される模様。
      (Insider Program の Release Preview 14393.82では修正済み)
      • 情報提供頂いた方から再度報告あり。「試行回数が少なかったようで、Unifyingレシーバー問題は14393.82でも発生しました。」との事です。
    • 今すぐ自力で解決したい場合 (上記リンク内に詳細手順あり)
      • 2か所以上のUSBポートに接続していた場合
        • デバイスマネージャーで「表示」 →「 非表示のデバイスの表示」を選択
        • ツリーから キーボード、ヒューマン インターフェイスデバイス、マウスとそのほかのポインティングデバイス を展開
        • アイコンが半透明になっているデバイスを右クリック → 削除をクリック
          (「このデバイスドライバーソフトウェアを削除する」というダイアログが出てもチェックは入れない)
      • 他USB機器とのバッティングが発生していた場合
        • 手持ちのUSB機器で疑わしいデバイス ドライバを削除してみる
        • (上リンク先の紹介の場合)
          USB Input Device (Logitech Download Assistant)とマウスを削除して再起動する

続 Windows 10 Anniversary Updateに失敗することがある

Windows 10 Anniversary Updateに失敗する場合の対処方法を書きました。
Windows 10 Anniversary Updateに失敗することがある
http://www.sakashita-net.jp/2016/09/lenovo-thinkpadwindows-10-anniversary.html
その後、もう少し調べてみたところ、「無線USBドングル」が接続されているとうまくいかないことがわかりました。これは以下の記事を読んで周辺機器を外してみてわかりました。
Windows 10 Anniversary Update のインストールに失敗する場合の対処方法
http://doyagao.staba.jp/archives/2091 

・USBデバイスを全て外してからアップデートする
今回のアップデートでドライバを新しくしてるようなので、エラーが出やすいようです。
特にLAN関連のデバイスがUSBに繋がってるとエラーで再起動、ループ症状が出ます。
安いマウスの無線USBドングルなどもエラーになりやすいようです。
確かに、うまくアップデートできなかったThinkPad 420iとThinkPad E460には無線USBドングルを接続していました。

無線USBドングルを外してみるとアップデートが進み、完了させることができました。

となると、Lenovo ThinkPadシリーズだけの問題ではないのかもしれません。

Windows 10 Anniversary Updateに失敗することがある

Windows 10 Anniversary Updateに失敗することがあります。

私が操作するPCで実際に発生したのは
  • ThinkPad T420i
  • ThinkPad E460
です。ThinkPad 13 ではアップデートに成功しました。

アップデートに失敗してうまく起動しなくなった場合には、
Windows 10が起動しなくなった時に回復ドライブを使って修復する 
http://www.sakashita-net.jp/2016/08/windows-10.html
にある手順を踏めば、動作していた環境に戻すことができます。またLenovoのサイトでも回復方法が案内されていました。
Windows 10 Anniversary Update (Redstone 1)を適用後、画面が真っ暗になる
https://support.lenovo.com/jp/ja/solutions/ht501760
以下に手順をそのまま引用します。手順中の「CSM」は「CSM (Compatibility Supported Module) 」の略で、
従来のBIOSに変わり、現在のマザーボードにはUEFIが搭載されています。
現在のOSの中でUEFIをサポートしているのは Windows8/8.1 64Bit版以降の対応となります、 そのためUEFI対応OS以外のOSをサポートするために、CSMを使用して従来のBIOSをエミュレーション する事で対応しています。
という機能のようです( http://faq3.dospara.co.jp/faq/show/2303 )。

対策

  1. 電源ボタン、またはバッテリーのリセットの穴から、システムの電源をオフにします。
  2. システムの電源をオンにして、「F1」を押して BIOS の設定画面に入ります。
  3. Security -> Secure Boot  Disable」を選択します。
  4. Startup -> CSM Support Yes」を選択します。
  5. 「F10」を押し、設定を保存して終了します。
  6. 通常通りシステムを起動します。
  7. 設定から、Windows Updateを実行します。 「KB3176938」がアップデートに含まれていることを確認してください。
  8. 必要に応じてシステムを再起動し、 Windows 10に戻ります。
  9. システムをシャットダウンして、電源をオンにします。 そして、「F1」を押してBIOS の設定画面に入ります。
  10. 「Startup -> CSM support No」を選択します。
  11. 「Security -> Secure boot Enable」を選択します。
  12. 「F10」を押し、設定を保存して終了します。
  13. システムが再起動します。

     

UEFI限定のBIOSシステムは、黒い画面から起動する問題を解決するために、以下の方法からどちらかを選んでください。

A) Windows 10を回復して、前のビルドに戻す
  1. 黒い画面で、 電源ボタンをシステムの電源がオフになるまで(10秒)押し続けます。
  2. 電源ボタン」を押して、システムの電源をオンにします。 「F11」を押して、「Recovery screen (回復画面)」を起動します。
  3. システムが起動するまで、手順 1-2 を繰り返し、回復環境に入ります。(2-3回トライします)
  4. システムが起動するのを待ち、「Troubleshoot」を選択します。
  5. Advanced Options (その他)」をクリックします。
  6. See more recovery Options (その他の回復オプション)」をクリックします。
  7. Go back to the previous build (以前にビルドに戻す)」をクリックします。
  8. ログイン用のパスワード を入力して、「continue (続行)」をクリックします。
  9. Go back to previous build (以前にビルドに戻す)」をクリックします。
  10. システムは自動的に再起動して、以前のビルドに復元されます。

     
B) 不具合の原因となった Windows 10 Anniversary Updateのパッケージを削除する
  1. 黒い画面で、 電源ボタンをシステムの電源がオフになるまで(10秒)押し続けます。
  2. 電源ボタン」を押して、システムの電源をオンにします。 「F11」を押して、「Recovery screen (回復画面)」を起動します。
  3. システムが起動するまで、手順 1-2 を繰り返し、回復環境に入ります。(2-3回トライします)
  4. Troubleshoot」をクリックします。
  5. Advanced Options (その他)」をクリックします。
  6. Command Prompt」をクリックします。
  7. Windows のユーザー ID パスワードでログインします。
  8. コマンドプロンプトで、コマンドを入力します。(引用符は含まず): “dism /image:c:\ /remove-package /packagename:Package_for_KB3176937~31bf3856ad364e35~amd64~~10.0.1.1” そして、「Enter」を押します。
  9. メッセージ「The operation completed successfully (操作は完了しました)」が表示されます。
  10. コマンドプロンプトで、 「exit」を入力して、「Enter」を押します。
  11. Continue (続行)」をクリックして、回復環境を終了し、Windows 10を起動します。  システムが起動して、Windows Update の設定画面を表示します。Windowsは通常通り起動します。

2016年9月9日金曜日

Bash on Ubuntu on Windowsでmoshを使う

私は、FreeBSDやLinuxサーバーにアクセするときには接続が切断されにくいsshクライアントであるmoshを使っています。その設定は以下で書いています。
FreeBSDとMacOS Xでmoshを使う 
http://www.sakashita-net.jp/2015/05/freebsdmacos-xmosh.html

MacOS Xのターミナル.appでmoshを使う(日本語環境の場合) 
http://www.sakashita-net.jp/2015/05/macos-x1095appterminalappmosh.html

MacOS XのTerminal.appでmoshを使う(英語環境の場合) 
http://www.sakashita-net.jp/2015/05/macos-xappmosh.html
Windows 10でもBash on Ubuntu on Windows(以下BUW)により、Linux環境が使えるようになったので、moshを使えるようにしてみました。

BUWのインストールは以下を参考にしました。
Windows 10で始めるBash
1 フォルダー内のJPEGファイルを連番でリネームする

http://news.mynavi.jp/series/bashonwindows/001/
次に、BUWのコンソール環境をインストールします。というのは、デフォルトのコンソールである現在のバージョンのcmd.exeは日本語表示に難があるためです。これは以下を参考にしました。
Windows 10で始めるBash
10 時間軸でデスクトップを片付ける

http://news.mynavi.jp/series/bashonwindows/010/
私の場合、wsl-terminalは「Program Files」の下に展開し、open-wsl.exeのショートカットをスタートメニューに入れています。このとき、コンソールのminttyの設定がうまく保存できなかったので、wsl-terminalフォルダの中にあるetc/minttyrcファイルを直接編集しました。値は、
Git Bashでssh-agentを動かす
http://www.sakashita-net.jp/2016/08/git-bashssh-agent.html
で書いたように、既にminttyを使っていたので、その値をそのまま使いました。
$ cat minttyrc
BoldAsFont=yes
ForegroundColour=0,0,0
BackgroundColour=255,255,255
Transparency=low
FontHeight=13
Font=MeiryoKe_Gothic
BackspaceSendsBS=yes
CtrlShiftShortcuts=yes
CursorType=block
CursorBlinks=no
Columns=90
Rows=50
ScrollbackLines=0
Scrollbar=none
BoldAsColour=no
FontSmoothing=default
Locale=ja_JP
Charset=UTF-8
$
一度、minttyrcを設定すると、GUIでの設定変更を保存できるようになりました。なので、BoldAsFontなど、1行だけ設定を書いてから、設定すれば保存できるのかもしれません。ただ、複数のシステムでの検証はしていません。

ホームディレクトリはWindowsと共有できるように
/mnt/c/Users/名前
にしています。
$ cat passwd
……
名前:x:1000:1000:"",,,:/mnt/c/Users/名前
$
.bashrcには上で紹介したWWWページ中のssh-agentの設定を書いています。

これでとりあえずsshなどでサーバーにログインできるようになりました。次にmoshです。
Ubuntu Weekly Recipe
第220回 Ubuntuでモバイルシェル「Mosh」を使う

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0220
にあるように「sudo apt-get install mosh」とするだけで、インストールはできたのですが、うまく動きません。接続すると、
[mosh is exiting.]
となり、すぐに接続が切れてしまいます。

検索エンジンで探してみると、どうもBUWのptyの扱いに不具合があるようです。
Client not working on Bash on Windows #781
https://github.com/mobile-shell/mosh/issues/781
これを読んでみると、不具合のフィードバックはしている、動くようにしたバージョンを作ってみたと書いてあります。そこで、
cgull/mosh forked from mobile-shell/mosh
https://github.com/cgull/mosh/tree/wsl-workarounds-14361
からソースコードをダウンロードしてコンパイルしてみました。ダウンロードは右上の「Clone or download」から「Download zip」を選びます。そして、展開した後、次のWWWページの指示に従ってコンパイル、インストールをします。
Build Instructions
https://github.com/mobile-shell/mosh/wiki/Build-Instructions
具体的には次のようにします。
$ cd 改変したmoshを展開したディレクトリ
$ sudo apt-get install automake libtool g++ protobuf-compiler libprotobuf-dev libboost-dev libutempter-dev libncurses5-dev zlib1g-dev libio-pty-perl libssl-dev pkg-config
$ ./autogen.sh
$ ./configure
$ make
$ make install

$
試してみると、うまく動きます。

2016年9月4日日曜日

Outlookなどの電子メールクライアントでアカウントのパスワードを取り出す

知人から、次のような相談を受けました
  1. PCを新しくした
  2. 新しいPCで電子メール(Outlook 2016を利用)を設定をしようとしたのだが、パスワードを忘れた
  3. ISPからのアカウントやパスワードの通知用紙を見つけることができず、設定できない。
  4. 古いPCではまだメールの読み書きはできる
ISPに連絡して新しいパスワードを発行したもらうことを考えましたが、郵送になり1週間ほどかかるようです。次に古いPCからパスワードのリセットをすることを考えましたが、知人はそれほどPCに詳しいわけではないので、メールソフトェアの再設定はちょっと難しいかもしれません。また、アドレスとは別のISPのIDも忘れてしまっているので、パスワードリセットをしても、新たにこれを問い合わせる必要があります。

そこで、PCに保存されているメールのアカウント情報を取り出せないか調べてみました。 すると、以下のWWWページを見つけました。
パスワード表示ソフト Password Viewer
Outlook Express に設定したパスワードを表示 

http://pcgenki.com/util/password_viewer.htm
さっそく、ここで紹介されているPassword Viewerをためしてみると、うまくいき、パスワードを取り出すことができました。また、IDについてもメールソフトに設定してあったので、これも取り出すことができました。