Windows のクライアント PC をバックアップするための覚え書き(実践編)

前編では理論編について書いた

後編では実践的な内容として「具体的に何をどのようにバックアップするか」について書く。

環境設定(コンパネ等)

エクスポートできないので以下のように設定内容だけメモしておき、リストア時は手作業で復旧。だるい。

コントロールパネル

  • フォルダオプション
    • 拡張子表示 on
    • 隠しファイル表示 on
  • UNC を無効にする
  • システムのプロパティ > パフォーマンスを優先する
  • コンピュータの簡単操作センター
    • キーボードを使いやすくします > 固定キー off
    • マウスを使いやすくします > Aeroスナップ off
    • コンピュータの作業に集中しやすくします > ウィンドウが画面の端に… on
  • (必要なら) インターネットオプション > プロキシ設定
    • 設定を自動的に検出する off
    • 自動構成スクリプトを使用する on
  • ユーザアカウント
    • メンテナンス用に管理者ユーザを一つ追加しておく
  • マウス
  • キーボード
    • 表示までの待ち時間: 短め
    • 表示の間隔: MAX
    • カーソルの点滅速度: 速め
  • ネットワーク
    • 使用する機器とネットワーク環境に応じて実施

タスクバー

  • タスクバー > プロパティ
    • 小さいアイコンを使う on
    • 結合しない

システム設定(Win10)

Win10 では「コントロールパネル」よりも「システム設定」にシステム設定が集中しているので、コンパネに該当設定が見当たらなかったらこっちを探す。

基本的には 一通り眺めつつ余計な機能は全部オフにする(どこをどう設定したかメモするのはだるいのでやめた)。

環境・アプリ設定(丸ごとバックアップできない、設定はコマンドでファイル化できる、ファイルサイズ小)

ファイルサイズファイル数がでかすぎて丸ごとは非現実的。だが設定はコマンドでファイル化できて、かつそれらファイルサイズが小さいもの。

バッチファイルを作っておくと楽。

  • 環境変数一式
    • set > set.txt
  • ネットワーク設定
    • ifconfig /all > ifconfig_all.txt
    • route print > route_print.txt
  • 環境バージョン
    • python --version 2> python_version.txt
    • git --version > git_version.txt
  • パッケージ一覧
    • pip freeze > requirements.txt
  • %appdata% 配下のよく使うアプリの分を決め打ちで.
  • %userprofile%\.* いわゆる dotfiles 系
  • C:\Program files and C:\Program files(x86) 配下のよく使うアプリの分を決め打ちで.
  • レジストリ / reg query (KEY) /s > (FILENAME).regquery でエクスポートしておく(リストアはしない参照用として)
    • アプリ一覧 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
    • WindowsUpdate設定 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  • レジストリ / レジストリエディタから .reg ファイルにエクスポートしとく(リストア時はインポートで復元可)
    • レジストリエディタお気に入り HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites
    • シェル拡張 HKEY_CLASSES_ROOT\(FileType)\shell\(KeyName)\open
      • フォルダ背景右クリメニュー HKEY_CLASSES_ROOT\Directory\Background\shell\
      • Excelで「常に新しいウィンドウで開く」系 HKEY_CLASSES_ROOT\Excel.Sheet.(Version)\shell\

アプリ設定(丸ごとバックアップできない、設定はコマンドでファイル化できる、ファイルサイズ大)

要するに Mozilla 系。

  • Firefox
    • %appdata%\Mozilla\Firefox\Profiles\(プロファイル名)
  • Thunderbird
    • %appdata%\Thunderbird\Profiles\(プロファイル名)

(プロファイル名) フォルダを丸ごとバックアップする。

アプリ設定(丸ごとバックアップできない、設定はコマンドでファイル化できない)

丸ごとバックアップも非現実的で、設定のバックアップもバッチファイルでファイル化やらコピーやらで自動化できないやつら。こいつらの設定をバックアップするには、各アプリから エクスポートに相当する機能を手作業で呼び出して エクスポートするしかない。だるい。

  • Google日本語入力
    • 辞書データ …… ツールバー > スパナーアイコン > 辞書ツール > 管理 > 選択した辞書をエクスポート
  • 秀丸エディタ
    • エディタ設定 …… その他 > 設定内容の保存/復元
  • Outlook
    • アドレス帳 …… ファイル > オプション > 詳細設定 > エクスポート > ファイルにエクスポート, windows カンマ区切り, 連絡先/連絡先候補
    • 仕分けルール …… 仕分けルールの設定ウィンドウの オプション > エクスポート

アプリ設定(解凍系アプリ)

アプリのうち、インストール不要(解凍するだけで使える)で使えて、概ねファイルサイズが小さい(under30MB)もの。

D:\bin 配下などにまとめて配置しておき、bin フォルダ丸ごとバックアップすればよい。

データファイル

一番悩ましいところ。「全データを毎日バックアップ」は非現実的なので、いかに少ない頻度と時間でバックアップを済ませるかを考えることになる。

私の場合、以下のように

  • 全データを d:\root など一フォルダ内に集める(トップフォルダ)
  • トップフォルダのサブフォルダを用途別に分類

の二段階でデータファイルを置いていて、各サブフォルダ毎にバックアップ頻度を変えている。対応は以下のとおり。

サブフォルダ名 バックアップ頻度 説明
bin 週一 解凍系アプリを集めている
bin1 実施しない Ruby/Python/Sublime/Eclipseなど言語系や処理系
data 毎日 メモ全般、スクショ全般、proxy.pac、壁紙類
data1 月一 メールデータ、署名、証明書、Office形式の個人データ
download 月一 ダウンロードファイル格納先(YYYYMMで更に分類)
temp 実施しない 解凍したファイルを放り込んでいる
temp1 実施しない virtualenv, npm, git などの作業ディレクト
work1_proj PJ変更時に一度 過去PJのデータ(残しても差し支えない個人ノウハウ等)
work2_ws 実施しない 自分の GitHub を clone している
work3_oddjob 週一 社内雑務や会社雑務(YYMMDD_TITLEで更に分類)の作業フォルダ

バックアップは Backup で実施。開始タイミングはタスク管理ツールで制御しており、大体以下のようなスケジュール。

  • 毎日 → 定時前くらいに毎日実行する定期タスク
  • 週一 → 金曜日に週一で実行する定期タスク
  • 月一 → 月末平日に月一で実行する定期タスク

TIPS

サイズの大きなフォルダを特定する

TreeSizeFree を使う。

指定フォルダをサブフォルダ含めて容量計算して、ツリー状にランキング表示してくれる。どのフォルダが全体の何%を占めているかが一目でわかり、でかいフォルダや不要ファイルの特定に役立つ。

その他:

  • TreeSizeFreeで何分も待つ=ファイル数・ファイルサイズが多い(のでもっと断捨離すること)
    • 何が大事か人それぞれなので一概には言えないが

おわりに

後編として実践的な内容を紹介した。何かと煩雑であり、Windows のバックアップは正直しんどい。

しかし、バックアップしておかないと、いざ PC が壊れたり移行したりする時に苦労する。備えあえば憂い無しである……が、もうちょっと楽したいなぁ。