Git for Windows

もはや、開発には必須とも言えるリビジョン管理システム。

Windows用のGUIクライアントはいくつかあるが、基本CUIで使う(正確にはEmacsやVS Codeなどから使う)ので、ほぼこれ一択。

正直、ネットワーク機能を除けばRCSで十分なのだが…

GUIクライアントが欲しい場合は、別途TortoiseGitなどをインストールのがよいだろう。

インストールにおけるオプションは、基本デフォルト設定。

「Choosing the default editor used by Git」でCUIでのデフォルトのエディタを選ぶ。多くの場合は、エディタ内の統合環境から操作することになるのでVimでもなんでもよいのだが、現在開発用としてよく使う「Use Visual Studio Code as Git’s default editor」を選んでおく。

[Adjusting your PATH environment]は、WSLがあるもののちょっとした操作でUNIXツールが使いたくなることもあるので「Use Git optional Unix tools from Windows Command Prompt」にする。

[Configuring the line ending conversions]は「Checkout as-is , commit as-is」。改行コードの処理は、エディタの仕事だという考えから。改行コードに関する理解が浅いメンバーがいるチームで使うのであれば、自動変換も検討に値するかもしれない。

「Choosing HTTPS transport backend」は「Use the OpenSSL library」を選ぶ。

「Configureing extra options」では、「Enable file system caching」、「Enable Git Credential Manager」にチェックする。

なお、オプションはバージョンによって頻繁に変更があるので、毎回きちんと検討する必要がある。

もっとも、設定はすべて%USERPROFILE%.gitconfigに記録されるのであとから修正するのは容易。

エクスプローラの再起動などは、特に発生しなかった。

アップデート

アップデート通知からアップデートした場合、インストーラー自体は、ダウンロードフォルダーに保存されることは無い。

初回インストール時に設定する一部のオプションについては、再度設定する必要がある。


特に、新しかったり選択肢の追加があったオプションについては、再設定が必要になるようだ。

アップデートの最初に、「新しいオプションだけ表示するか」というチェックボックスがある。

VirtualBox

Windows上で動作する仮想環境を実現するソフトウェアには、VirtualBox、Hyper-V、VMWare Workstation(Player)などがある。

Hyper-Vが若干速度的なメリットがあり、Windowsの機能の一部ということで使っていたが、Windows May 2019 UpdateにしたらDirect Xが動作しなくなってしまった。 RemoteFXのサポート終了関連の影響かと思ったが、深く追求せずVirtualBoxに移行した。

Hyper-VのホストOSとクライアントOSを同じレイヤーにおいて動作させるという仮想環境の実現方法が、あまり好ましくないことが多かったという事情もあるのだが…

  • ホームページ: https://www.virtualbox.org/
  • ダウンロードファイル: VirtualBox-6.0.10-132072-Win.exe (インストーラー版)
  • インストール方法: ダウンロードしたファイルを、実行してインストール。
  • 動作確認バージョン: 6.0.10 (Windows 10 Pro May 2019 Update 1903)

インストーラーのオプションは基本的にデフォルトで進めていく。
「Warnng: Network Interface」という警告が出るが、これは「一時的にネットワークが切れる」というもの。使っている最中でなければ特に気にする必要はない。

環境設定は特に行わなくても良いが、仮想マシンのデータの置き場所はUsersの下からは外したいのと、フォルダー名にスペースが入るのが望ましくないの2つの理由から変更することにしている。
[一般]-[デフォルトの仮想マシンフォルダー]でデフォルトの「C:\Users\nor\VirtualBox VMs」から「D:\VirtualBoxVMs」に変更した。

VirtualBoxは6になってから、Hyper-Vとの共存が可能になったとのことだが、うまくいかない、不安定などの話も多い。
実際にHyper-V有効のままVirtualBoxを試してみたが、仮想マシンの起動直後に「Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED).」というエラーが出てしまい、仮想マシンが起動しなかった。
「コントロールパネル」-「プログラム」-「プログラムと機能」-「Windowsの機能の有効化または無効化」から、「Windows ハイパーバイザー プラットフォーム」を有効にすると動作するという情報もあったので試してみたが、だめだった。

Windowsのパスワードリセット方法

Windows PCのパスワードを紛失してしまってログイン不能になってしまった場合でも、以下の手順でパスワードをリセットすることができる。

概要


Windowsのパスワードを忘れた場合でも、電源を入れればログオン画面までは進む。

そして、ログオン画面の左下に小さなボタンが表示されている。

これは「コンピュータの簡単操作」というメニューを表示させるボタンなのだが、この「コンピュータの簡単操作」の実態は「utilman.exe」というコマンドになっている。

そこで、このutilman.exeをcmd.exeに差し替えて、コマンドプロンプトを立ち上げてパスワードを操作するというのが、このパスワードリセット手順の概要。

utilman.exeをcmd.exeに入れ替える

utilman.exeをutilman.bakという名前に変更し、cmd.exeをutilman.exeという名前でコピーする。

今回は、Windows 8.1のインストールディスクを使うが、NTFSを操作できればLinuxのLive ディスクでもなんでもよい。

Windows 8.1のインストールディスクをドライブに入れ、PCを立ち上げる。この時、当然ながらBIOSなどで起動優先順位をCD/DVDドライブを内蔵ハードディスクより優先にしておくこと。

Windows セットアップの画面が立ち上がったら、キーボードのShiftキーとF10キーを同時に押す。

コマンドプロンプトが管理者モードで立ち上がる。

Windowsの場所を確認するため、Cドライブから順にディレクトリの中身を見ていく。

> dir c:
> dir d:

Windowsが存在したら、そのドライブに移動する。

> d:

Windowsが存在したら、そのドライブに移動する。

> cd \windows\system32

utilman.exeをutilman.bakという名前に変更する。

> ren Utilman.exe Utilman.bak

cmd.exeをutilman.exeという名前でコピーする。

> copy cmd.exe Utilman.exe

コマンドプロンプトを終了する。

> exit

インストールディスクを取り出し、「Windows セットアップ」ウィンドウの右上の「×」をクリックしてセットアップを終了する。

「Windowsのインストールを取り消しますか?」の画面で「はい」をクリックすると再起動が始まる。

パスワードを再設定する

再起動して、ログオン画面が表示されたら、右下のボタンをクリックする。

コマンドプロンプトが表示されたら、設定されているユーザーを確認する。

> net user

Administratorのパスワードを変更する。passwordの部分は新しいパスワードを入力する。Administrator以外でも、特定のユーザーのパスワードを変更したければAdministratorの部分をそのユーザーの名前にする。

> net user Administrator password

コマンドプロンプトを終了する。

> exit

これで、設定し直した新しいパスワードでログインできるようになる。

utilman.exeを元のものに戻す

ここで、そのままAdministratorでログインして、utilman.exeを元のものに戻してしまいたいところだが、utilman.exeには特殊な属性がついているため、入れ替え時同様にWindowsのインストールディスクなどでPCを立ち上げて、コマンドプロンプトから操作するのが楽。

入れ替え時同様の手順でコマンドプロンプトを立ち上げる。

Windowsがあるドライブに移動する。

> d:

\Windows\System32フォルダーに移動する。

> cd windows\system32

中身がcmd.exeのutilman.exeを削除する。

> del Utilman.exe

utilman.exeを元のものに戻す。

> ren Utilman.bak Utilman.exe

コマンドプロンプトを終了する。

> exit

インストールディスクを取り出し、「Windows セットアップ」ウィンドウの右上の「×」をクリックしてセットアップを終了する。


「Windowsのインストールを取り消しますか?」の画面で「はい」をクリックすると再起動が始まる。

以上で、パスワードの再設定手順はすべて完了。

MediaPad T1の強制初期化手順

Android端末においてロックを設定していてパスワードを忘れてしまったり、そもそも正常に起動しなくなった場合には、強制的に出荷状態に初期化するしかない。

MediaPad T1の強制初期化の手順は以下。
どうやら、2016年〜2019年くらいの間に生産されたHUAWEIの端末はこの方法で強制初期化できるものが多いらしい。

  1. 事前に、十分に充電を行っておき、電源ケーブルは抜く。
  2. 電源ボタンと音量大ボタンを押して起動する。再起動ではなく、あくまで電源オフ状態からの起動でないと初期化メニューは表示されない。
  3. 端末名やメーカーロゴが表示されたら電源ボタンのみを離し音量大ボタンを押し続ける。
  4. EMUIのロゴが表示され、その下に「Reboot system now」、「Wipe data/factory reset」、「Wipe cache partition」の3つのメニューが表示される。
  5. 音量大ボタンから指を離す。
  6. 音量ボタンで「Wipe Data/factory reset」を選択した状態にして、電源ボタンを押す(画面のタップでは反応しない)。
  7. 「Comfirm wipe off all user data?」と表示されるので、音量ボタンで「Wipe data/factory reset」を選び、電源ボタンを押す。
  8. 10数秒待ち、初期化が完了すると、「Reboot system now」というメニューが表示されるので、音量ボタンでそれを選び、電源ボタンで決定し、再起動する。

ちなみに、私が強制初期化が必要になったのは、「電源を入れ起動後、HUAWEIロゴから通常の背景に移った瞬間に再起動がかかってしまう。そしてまた再起動の無限ループ」となってしまったため。

Path Copy Copy

エクスプローラー上で、コンテクストメニューからパス名をさまざまな形式でクリップボードに収納する。

  • ホームページ: Path Copy Copy <https://pathcopycopy.github.io/>
  • ダウンロードファイル: PathCopyCopy16.0.1.exe (インストーラー版)
  • インストール方法: ダウンロードしたファイルを、実行してインストール。
  • 動作確認バージョン: 16.0.1 (Windows 10 Pro October 2018 Update 1809)

インストールは、パスの形式の選択肢をどの程度増やすかの質問があるだけで特に悩むことはなく、再起動も不要。
質問には、「All commands, including power-user commands」という一番選択肢が多いものを答えておき、インストール後に実際に試してみて、不要なものは表示しないようにするのがよいだろう。

Settingsでは、コンテクストメニューの1段目に表示するもの、Path Copyの下に表示するものを選ぶことができる。

その他、パス名をダブルクォートで囲むか、さらにはスペースが含まれる場合のみダブルクォートで囲むかなど、細かい好みにまで対応したオプションが設定できるのは、オープンソースのよいところだろう。