Creators Update(1703) からFall Creators Update(1709)にしたときのBashはどうなる?

あと4日でアップデート振ってくるみたいですが社内での不具合等の人柱的な存在として先行してアップデートしてみました。

特にアップデート自体は少々の時間がかかったものの特に何も変わりなく起動したので当初の目的としては完了。

それはいいのだが、そういえばBash on Windowsがなくなり(?)ubuntuとかSUSEとかFedoraとかが入れられるとかだったなぁということを思い出して気になったので少し調べたところやはり下記にあるように今のを一旦消して、ubuntuとか入れなおした方が良いようです。

What’s new in WSL in Windows 10 Fall Creators Update – Windows Command Line Tools For Developers

Note: If you've previously installed WSL on Anniversary or Creators Update, your existing "legacy" Ubuntu instance will continue to work just fine, but it is considered deprecated. We recommend that you migrate your files off the legacy instance and replace it with a store-delivered instance, so that you receive the support of Canonical and Microsoft moving forward.

Creators Updateとかで入れたBashの消し方はよく書かれてる

lxrun /uninstall /full

でできると思います。 やる前に/home/配下とか必要なものはバックアップ取っておきましょう。 %USERPROFILE%\AppData\Local\lxss\からもアクセスできるようなのでわざわざターミナルから作業しなくてもよさそうです。 後は個人的にはaptで入れたものとか、pipで入れたものとかを一覧にしておきました。

grep -i 'requested-by\|command' /var/log/apt/history.log >apt_list.txt
pip freeze >pip_list.txt

死にかけHDDからWindowsが何とか起動した

とある人からある日ノートパソコン(SVT13119FJS)が持ち込まれた。

Windowsの光る旗マークから一向にすすまないから使ってなかったんだけど、Office使いたいんだよね。なんとかならない?」

「(復旧かけるか、最悪リカバリかけたらなんとかなるやろ)」

と高をくくっていたものの電源を入れて状況を確認すると

旗→エラー(any keyで再起動)→以下略

起動前のF8とかのメニューからセーフモードその他も同上

どないせえっちゅうんじゃい

この時点でよくわからんかったので伝家の宝刀SystemRecsueCDさんにお世話になる。

いろいろあった*1*2がうちの環境では以下の手順でやることで元のWindowsを立ち上げることができた。

材料:

元のHDDと同程度もしくはそれ以上の容量のHDD(3.5inchでも可、以下Disk1)

2.5inchのDisk1がない場合は元の環境の本体領域が収まる程度の2.5inchHDD(以下Disk2)

USB-SATA変換

結局はHDDが物理的に逝ってるようなので、Disk1(今回は3.5inchを利用)にバックアップを取る。

dd if=/dev/sdx of=/dev/sdy bs=512 count=1

dd if=/dev/sdx1 of=/dev/sdy1 bs=512 conv=noerror,sync

dd if=/dev/sdx2 of=/dev/sdy2 bs=512 conv=noerror,sync

dd if=/dev/sdx3 of=/dev/sdy3 bs=512 conv=noerror,sync

conv=noerror,syncはエラーが起きた時に止まらずそのまま続けるためのものです。各ワードの意味はめんどくさいので調べてみてください。

本体領域*3以外はDisk2にも取っておくが、元のHDDから取るとエラーが起こってクソ遅いのでDisk1からコピーしたほうが無難。

その際Disk2を利用の方はMBRコピーした後第3パーティションの調整をしてください。

取れたら、一度別のWindowsマシン(以下作業Win)にDisk1をつないで第3パーティションの領域をchkdskかける。/F /Rオプションで。

そうすると本体領域のファイルシステムが健全になる(起動できるとは言っていない)。

そのあと作業Win上でParagonとかEASEUSとかの無料ツールを使い、Disk1の第3パーティションをDisk2の第3パーティションにコピー。

このままDisk2を本体に挿して動く場合もあるかもしれないけど今回の場合は動かなかった*4ので以下を行った。

今回の場合入ってるOSがWin7だったのでインストールディスクまたはISOから作ったUSBメモリを用意し、起動させて、修復を試みる。

うまくいけば起動に必要な部分が修復されて本体から起動できる。

それでもできない場合は、実は今回先にDisk2を使ってリカバリ領域*5を戻して*6正規の手順でリカバリを試みていた。

その際に第2パーティションに何らかの影響を与えていたとも言えなくもないのでダメ元で試してほしい。

という感じで今回はたまたま起動してくれたからよかったものの、少しでも逝ってる場所が違えば起動しなかった可能性も十分に考えられる。

というわけで以下ほんと重要(本業並感)

  1. 日々のバックアップ
  2. リカバリ領域のバックアップ
  3. OfficeのCDとかプロダクトキーは置いておく


結局このマシンのHDDが壊れたまんまなのは変わらないのでmSATAのSDDでも引っ張り出してOSインストールでもしようかと思う。

*1:この時点でリカバリ領域が不完全だが他に書き出してリカバリすれば起動はするもののOfficeが入っていないことが判明

*2:OfficeのCD、プロダクトキーは捨てたため見当たらないという状況だったため何が何でも元の環境を立ち上げてOfficeのプロダクトIDを確認する必要があった

*3:今回の場合第3パーティション

*4:\Boot\BCD的なエラーが出て起動できなかった

*5:今回の場合第1パーティション

*6:厳密にいうと第2パーティション