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

Windows Update KB3055034で凄く困った(修正済。詳細は追記より)

恒例のWindows Updateによる不具合。
今まで運が良かったのか遭遇したことはなかったんだけど、昨日、とうとう大きなトラブルにぶち当たった。
それも仕事関係なのが救えない。

Microsoft Office 2010(KB3055034)の更新プログラム

何が問題かって、この更新プログラムをインストールすることにより、
Excel2010で、Web上のOfficeドキュメントをWebDAVで開けなくなるのだ。
俺が確認したのはSharePoint2010上のファイルだけど、情報調査した限りWebDAV使う物全般がダメになっているみたい。
確認した限り、現象は「認証ダイアログが何回も表示される」「Excelがクラッシュする」等。

今のところ、どうもネット上にはまだ情報があまりない。
一応、確認したのは以下のページ。

KB3055034 breaks opening Office files directly from sharepoint
HOME-BOX2(お知らせの部分)

なお、このKB3055034をアンインストールすることにより問題は解消した。
方法は以下のとおり。

・手動でアンインストールする方法
1. 「コントロールパネル」を開き、「プログラム」をクリックする
2. 「プログラムと機能」の「インストールされた更新プログラムを表示」をクリックする
3. 「Microsoft Office」カテゴリ内の「Update for Microsoft Office 2010(KB3055034)」を右クリックし、「アンインストール」をクリックする
4. ダイアログの指示に従ってアンインストールする

・コマンドで実行する方法
以下のコマンドを実行する

アンインストーラーが立ち上がるので、指示に従ってアンインストールを行う(再起動が必要)


MicrosoftがKB3055034を取りやめない限り、Wndows Updateを行うとまたKB3055034が入ってしまう。
そのため、以下の対策を行う。

・再度KB3055034をインストールしないように設定する方法
1. 「Windows Update」を起動する
2. 「更新プログラムの確認」をクリックし、現在インストールできる更新プログラムを取得する
3. 取得が完了したら「XX個の重要な更新プログラムが利用可能です」をクリックする
4. 「Office 2010」内の「Microsoft Office 2010(KB3055034)の更新プログラム」のチェックを外す
5. 「Microsoft Office 2010(KB3055034)の更新プログラム」を右クリックし、「更新プログラムの非表示」をクリックする
6. 「OK」をクリックする


しかし、KB3055034からどうしてこんなトラブルが発生するのか。
だってこの更新プログラムの内容って

Microsoft Word 2010 で、ドキュメントにカスタム作業ウィンドウが表示されたら、組み込みの作業ウィンドウに情報が更新されません。
たとえば、選択したテキストの書式は、書式の詳細設定] 作業ウィンドウで更新されません。

だよ?
Officeの内部コードの闇は深い、ということなのか。

ってか、Office2010のメインストリームサポートってこの更新プログラムが出た2015/10/13に切れてるんだな・・・
Microsoft Office 製品に関する各 OS のサポート状況
修正パッチがでなかったらどうしよう・・・


追記(2015/10/20)

どうやら、KB3055034をアンインストールし、ファイルを開けるようになっても、
編集して保存することができなくなるパターンが有るようだ。
その場合はKB3054886も同様にアンインストールすると編集、保存が可能になる。

また、IEの「信頼済みサイト」に登録することで回避できる場合もあるようだ(未確認)
MSの公式情報で確認できるのは今のところ下記だけである。
https://community.office365.com/ja-jp/f/347/t/414294

早くパッチでないかねぇ。


追記(2015/11/24)

2015/11/11のWinddows Updateで同様の現象が再発する模様。
KB3101521のアンインストールで解消した。
https://support.microsoft.com/ja-jp/kb/3101521

mso.dllに含まれる不具合のようなので、
今後もmso.dllが更新されると再発すると思われる。


追記(2015/12/09)

KB3114399でKB3055034の不具合が修正されたことが分かった。
これで無心でWindows Updateできるね。
よかったね。おめでとう。

HP DL360サーバーで論理ディスクを作成する方法

社内で結構サーバーやインフラ関連に関わるようになってしまった。
わが社はHPのDL360シリーズのサーバーにWindows Serverをインストールして使っている。
論理ディスクはBIOSからささっと設定することができる。

で、それはいいんだけど、運用後にさらにHDDを追加し、これで論理ディスクを作成するようにお達しが来た。
「え?BIOSからやる=システム止めなきゃ無理じゃね?」と思ったが、どうもHPのツール
「HP ProLiantアレイ コンフィギュレーション ユーティリティ for Windows 64ビット」
を使えばシステムを止めずに論理ディスクの作成ができるらしい。
上記ツールはWeb上で入手可能だ。
実際に導入したが、GUIに従うだけで論理ディスクの作成、削除ができる。いやぁ簡単でいい。
(ちなみに、HPプロビジョニングでOSインストールしていれば初期から入っている筈である。最初からプロビジョニングでインストールすればよかったんだけど、何か上手くインストールできないから直に入れた経緯がある)

・・・と安心していたら、さらに要望が来た。
「Hyper-V Server 2012の方にもHDD追加したから論理ディスク作成4649!」とのこと。
GUI使えないし、どうすりゃいいんじゃと思っていたが、CUIで論理ディスクを作成できるツールもHPがリリースしていることが分かった。
「HP ProLiantアレイ コンフィギュレーション ユーティリティ(CLI) for Windows 64ビット」
以下、使い方とコマンド例をメモしておく。

事前準備
1. HPのサポートページから利用しているサーバーを検索する
2. 商品のページに辿り着いたら「ドライバー、ソフトウェア、およびファームウェアを入手する。」をクリックする
3. OSで「Windows Server 2012」を選択する
4. 「ソフトウェア – システム管理」に「HP ProLiantアレイ コンフィギュレーション ユーティリティ(CLI) for Windows 64ビット」があるので、これをダウンロードする
5. ダウンロードしたインストーラをサーバー上で実行する。コマンドプロンプトでインストーラを実行すればGUIがでてくるのでそれに従う

実行方法
1. c:\Program Files\Compaq\Hpacucli\Bin\hpacucli.exeを実行する
2. アレイ設定ツールが立ち上がるので、各コマンドを実行する

なお、コマンドの説明と例はマニュアルを参照すれば良い。
が、やや難しいので、実際に自分が使ったコマンドを備忘も兼ねて記述する。


・現在の設定を確認するとき


・論理ディスクの設定を確認するとき

スロット番号、論理ディスク番号は上記のdetailから確認する。


・空いているディスクでRAID0のディスク(アレイ)を作成するとき

スロット番号は上記のdetailから確認する。


・空いているディスクでRAID 1 のディスク(アレイ)を作成するとき(ディスクを指定する)

スロット番号は上記のdetailから確認する。
driversもdetailから確認可能。どうやら<port>:<box>:<bay>の順になっている模様。detailで全論理ディスクのdriversを確認して、使われてないディスクを指定すればよい。


・論理ディスクを確認する

スロット番号は上記のdetailから確認する。


・論理ディスクを削除する

(スロット番号は上記のdetailから、論理ドライブ番号はlogicaldrive all showから確認する)
警告が出るので、yで続行し、削除する。


しかし、趣味でこういうことするのはいいけど、仕事という責任が伴う場合でサーバーやインフラ管理するのって疲れる。
しかも担当者が知識ゼロの俺だけとか。

もう少しミニマムに、単純に行きてゆきたい。

VirtualBoxの仮想環境で容量を増やす方法とその注意点

僕はMac使いだが、C#しか基本的に使わないので、コーディングするときはVirtualBoxでWindows8.1を起動してその中でやっている。
Windowsもクリーンインストールだとスッキリしていて悪くない。仕事関係の勉強にもなるし。

で、どんどん使っていると容量が無くなってくる。
当初は20GBもあればいいだろ、と思っていたのに、今では40GBに増やしたくなっている。
VirtualBox上では「容量の拡張」みたいなメニューが無いので無理だと思っていたが、調べてみたらコマンドから実行可能だった。

やり方自体は簡単。Macなのでターミナルから実行することを想定しているが、Windowsでもコマンドプロンプトから同じように実行できる。

ちなみに、一つ落とし穴がありハマったので、それについては後述する。


VirtualBox仮想環境(Windows)のディスク拡張方法

  1. 仮想ディスクファイルのバックアップをとっておく
  2. VBoxManage modifyhd 仮想マシンの仮想ディスクのパス —-resize 拡張後のディスク容量(MB単位)
    を実行する。
    ex)VBoxManage modifyhd /Users/Administrator/VirtualBox/VMs/TestMachine/TestMachine.vdi --resize 40960
  3. コマンドが完了したら、仮想マシンを起動する。(この時点ではまだ容量が増えていない)
  4. 「コントロールパネル」→「システムとセキュリティ」→「ハードディスク パーティションの作成とフォーマット」を開く
  5. 画面下部で、Cドライブに割り当てられている領域を右クリックし、「ボリュームの拡張」をクリックする。

以上で仮想マシンの容量が拡張される。
2以降の手順はWindows固有の操作なので、Windows以外の場合はそのOSのパーティション割り当て方法に従ってください。

・・・で、1で仮想ディスクを拡張したとき、仮想マシンが一切起動しなくなる場合がある。
どうやら原因は仮想ディスクファイルの形式のようだ。
VHD形式の仮想ディスクファイルは上記コマンドで拡張すると壊れてしまい、起動できなくなるのだ。

VHD形式の仮想ディスクを拡張するには、一度別形式に変換してから拡張を行うと良い。

VBoxManage clonehd --format VDI 仮想マシンの仮想ディスクのパス 変換後の仮想ディスクのパス

ex)VBoxManage clonehd --format VDI /Users/Administrator/VirtualBox/VMs/TestMachine/TestMachine.vhd /Users/Administrator/VirtualBox/VMs/TestMachine/TestMachine.vdi
上記コマンドでVDI形式に変換された仮想ディスクファイルが作成されるので、それを拡張すれば良い。
拡張後は形式をVHD形式に戻してもいいし、戻さなくてもいいし、好みにすればいいと思う。


しかし、最近自分にITの適正が無いのが分かり始めた。
何かこう、薄給で責任の少ない仕事がしたい。
田舎の公園の清掃員とかが理想なのだ。
(清掃員を下に見る意図ではありません。ただ、田舎に帰るとどうしても羨ましくなってしまうのです。)

コマンドプロンプトをランチャー的に使う

仕事でプログラミングをやらされるようになって、ようやくコマンドプロンプトとか、いわゆるCUIに触れるようになった。
しかし、如何せんタイピングが遅いという致命的な欠点がある自分では細かいコマンドがストレスでたまらない。

で、予めエイリアスを登録した状態でコマンドプロンプトを立ち上げられるようにした。
レジストリをいじってコマンドプロンプトが起動したら自動的に指定したパッチファイルを読み込むようにすることもできるんだけど、
(というか会社ではそうしている)
自宅PCの環境を極力綺麗にしたいというPC初心者的思想から、あえてパッチファイルからコマンドプロンプトを起動するようにした。

上記ファイルをStart_Advanced_Command_Prompt.batというファイル名でホームディレクトリ(C:Usersユーザー名)に保存して、保存したファイルを起動すればいい。
適宜追加したいコマンドがあれば追加する。
上記なら、例えば”commit AAA BBB”と打つだけで”git commit -m “AAA BBB””が実行される。

ファイル名や保存ディレクトリ、使用したいアプリケーションに応じて当該箇所は書き換えること。
僕はデスクトップに保存しているのでeditとreloadを書き換えている。

なんの工夫もないけど、%windir%system32cmd.exeで新規にコマンドプロンプトが立ち上がるのもだと思い込んでいたから、こういった方法が使えるのに気付かなかった。

本当はコマンド類は別batファイルにしたかったんだけど、batファイル終了時にコマンドプロンプトも終了してしまった。
%windir%system32cmd.exeをコマンド記述batファイルの最後に加えればいいのかもだけど、それだと分離する意味が怪しくなってくるのでもう1ファイルにすることにした。

技術的には何の価値もないけど、少ない知識で何かできるのは楽しい。
困難なことばかりでなく、初心者でもできることにも共有する価値が有るのだ。
(初心者でもできることしか共有できない、ということは置いておく)