Surface Pro/Windows 8.1から、Surface Pro 2/Windows 8.1へのデータの移行。 #SurfaceJP
ついにSurface Pro 2を手に入れたのですが、Surface Pro/Windows 8.1からデータを移行する手段がないことを知りました orz
Windows 8→Windows 8.1はデータを転送できるのですが、Windows 8.1→Windows 8.1はできないとのこと。う~ん、いまだにファイルの転送をユーザに強いるなんてありえないと思いつつも、愚痴を言っててもしょうがありません、やるしかないです。
クラウド(SkyDrive)経由は、遅すぎるのと、ファイルのバイト列以外の情報(権限とか)が消えてしまうので別の方法にします。
そこで、いったんMicro SDにファイルをコピーすることにしました。
また、Cygwinの操作配下のものはCygwinのtarで圧縮することにしました。これなら権限が適切に保持されるはず、と思ったら tar コマンドで展開すると mklink コマンドで作成したリンクの権限が Administrator からユーザに変わってしまうことがわかりました。なかなか難しい。それに、どうやって移行先の Surface Pro 2 で tar で圧縮したファイルを展開すればいいのでしょう(笑)Cygwinがインストールされていませんからね。困ったな~。
とりあえず、以前 Surface Pro を交換修理したときの手順書を元に手作業で移行することにしました。
以下はその作業記録です。
Emacs: gnupack 24.3-20130503
Emacsさえ動作すれば、あとはどうとでもなる。
- gnupackからemacs-24.3-20130503.exeをダウンロード・インストール。
- 展開先は「C:\」
- SkyDrive上のバックアップからdot.emacs.dなどを配置。
- 以下、管理者権限のコマンドプロンプトで実行。またSkyDrive直下のdotfilesにバックアップを格納していることが前提。
C:\Users\kouji>mklink /d .emacs.d .\SkyDrive\dotfiles\dot.emacs.d .emacs.d <<===>> .\SkyDrive\dotfiles\dot.emacs.d のシンボリック リンクが作成されました C:\Users\kouji>mklink .gitignore .\SkyDrive\dotfiles\dot.gitignore .gitignore <<===>> .\SkyDrive\dotfiles\dot.gitignore のシンボリック リンクが作成されました C:\Users\kouji>mklink .gitconfig .\SkyDrive\dotfiles\dot.gitconfig .gitconfig <<===>> .\SkyDrive\dotfiles\dot.gitconfig のシンボリック リンクが作成されました C:\Users\kouji>mklink .bashrc .\SkyDrive\dotfiles\dot.bashrc .bashrc <<===>> .\SkyDrive\dotfiles\dot.bashrc のシンボリック リンクが作成されました C:\Users\kouji>mklink .profile .\SkyDrive\dotfiles\dot.profile .profile <<===>> .\SkyDrive\dotfiles\dot.profile のシンボリック リンクが作成されました C:\Users\kouji>mklink .gemrc .\SkyDrive\dotfiles\dot.gemrc .gemrc <<===>> .\SkyDrive\dotfiles\dot.gemrc のシンボリック リンクが作成されました C:\Users\kouji>mklink .inputrc .\SkyDrive\dotfiles\dot.inputrc .inputrc <<===>> .\SkyDrive\dotfiles\dot.inputrc のシンボリック リンクが作成されました C:\Users\kouji>mklink .minttyrc .\SkyDrive\dotfiles\dot.minttyrc .minttyrc <<===>> .\SkyDrive\dotfiles\dot.minttyrc のシンボリック リンクが作成されました C:\Users\kouji>mklink .ruby-version .\SkyDrive\dotfiles\dot.ruby-version .ruby-version <<===>> .\SkyDrive\dotfiles\dot.ruby-version のシンボリック リンクが作成されました C:\Users\kouji>mklink .screenrc .\SkyDrive\dotfiles\dot.screenrc .screenrc <<===>> .\SkyDrive\dotfiles\dot.screenrc のシンボリック リンクが作成されました C:\Users\kouji>mklink .zshrc .\SkyDrive\dotfiles\dot.zshrc .zshrc <<===>> .\SkyDrive\dotfiles\dot.zshrc のシンボリック リンクが作成されました
いろいろなソフトウェア
- Windowsストアアプリのインストール
- iTunes
- 同時にQuickTimeをインストール
- 2013/12/29現在、iCloudコントロールをインストールすると休止状態から復帰しなくなることが分かったのでここではインストールしない
- OutlookにGmailのアカウントを設定
- Outlookのオプションは引き継がないようだ。Surface ProのOutlookのオプションを見ながら手作業で移行
- 7-Zip
- 7z920-x64.msi をインストール
- プリンタ Cannon MP640 のインストール
- mp68-win-mp640-1_05-ej.exe
- Skitchのインストール
- skitchsetup-2.3.0.10.exe
- Oracle VirtualBoxのインストール
- VirtualBox-4.3.2-90405-Win.exe
- Firefoxのインストール
- Google Chromeのインストール
Cygwin関連
- Surface ProのCygwinのキャッシュディレクトリC:\Users\kouji\cacheを移行
- Cygwinのパッケージのダウンロード時間を大幅に短縮できる
- Cygwin
- setup-x86_64.exe を C:\cygwin64\bin に移動
- ついでにスタートにピン止めしておく
- /etc/passwordのkoujiを以下のように修正(秘密っぽいところは伏せています)。修正後にCygwinのシェルを再起動。
(修正前) kouji:unused:1001:513:kouji takao,U-kouji-surface2\kouji,****:/home/kouji:/bin/bash (修正後) kouji:unused:1001:545:kouji takao,U-kouji-surface2\kouji,****:/cygdrive/c/Users/kouji:/bin/bash
データの移行
- ~/work以下
- 私は C:\Users\kouji/work 以下に作業環境一式を配置していますので、移行元の Surface Pro にて work 以下を
tar cpzf work.tar.gz work
で圧縮して、移行先の Surface Pro 2 にてtar xpzf work.tar.gz
で展開しました。
- 私は C:\Users\kouji/work 以下に作業環境一式を配置していますので、移行元の Surface Pro にて work 以下を
- 単純にコピーしたもの
- \tools
- \Users\kouji.VirtualBox
- \Users\kouji.bash_history
- \Users\kouji.bundle
- \Users\kouji.gem
- \Users\kouji.heroku
- \Users\kouji.lesshst
- \Users\kouji.relish
- \Users\kouji.s7
- \Users\kouji.smalruby-editor
- \Users\kouji.ssh
- \Users\kouji.subversion
- \Users\kouji.travis
- \Users\kouji.uru
- \Users\kouji\local
- \Users\kouji\VirtualBox VMs
- \Users\kouji\Music\iTunes
- \Users\kouji.sshはCygwinシェルで権限を変更
chgrp -R Users .ssh cd .ssh chmod 600 authorized_keys config id_rsa id_rsa.new known_hosts
Ruby関連
基本的に work 配下に Ruby 処理系があるため移行は完了しているので、こまごまとした設定を行う。
cd \ mklink /d Ruby \Users\kouji\work\uru\versions\ruby-2.0.0-p353-i386-mingw32\bin
- 以下、管理者権限のPowerShellで実行
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
PowerShellの設定
- レイアウト - 画面バッファーのサイズ - 幅: 80
- レイアウト - ウィンドウのサイズ - 幅: 80
- レイアウト - ウィンドウの位置 - システム設定を使う: チェック
- 画面の色 - 画面の背景: 黒
Gitのインストール
Heroku Toolbeltのインストール
- heroku-toolbelt.exe
MySQLのインストール
- mysql-installer-community-5.6.14.0.exe
node.jsのインストール
インストール後はPower Shellを再起動させること
とりあえずはこんなところです。