Chromebook のリカバリーメディア作成

ASUS Chromebook C223 が 2 万円以下になっていたので 10 周年目にして Chromebook デビューした.
Chrome OS も本当にクソだなと思ったので, 直後に HP Chromebook 11A G6 EE を買い増した.

な…… 何を言ってるのかわからねーと思うが, おれも自分が何をしているのかわからなかった……

というわけでリカバリーメディアを作ります!!


## モデル情報を確認する
リカバリーメディアの作成の時にモデル情報が必要になります. 今の所二つの方法で表示できる事を把握しています.

- ESC + F3(refresh) を押しながら Chromebook を起動してリカバリー画面を表示し, 画面下部に表示される "モデル" を確認する.
- 対象の Chromebook 自体で, [Chromebook Recovery Utility](https://chrome.google.com/webstore/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm/) にアクセスして確認する.

このモデル情報は "CODENAME X0X-X0X-X0X-X0X-X0X-X0X-X0X" こんな感じの形式です.
最初の要素は [Developer Information for Chrome OS Devices](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices) の code name と一致していたのでコードネームだと思います. 後ろのシリアル番号みたいな部分は何なのかわからない (同型機を複数は所有していないので, シリアル番号的な物が含まれているのかどうかもわからない)


## リカバリーメディアの作成
上述の Chromebook Recovery Utility を使ってリカバリーメディアを作成します.
8GB 以上の USB メモリーか SD カードが必要です.
尚, Chromebook Recovery Utility が使えるのは Windows, Mac, Chromebook です……

問題ないと思う? Linux は未対応なんだなこれが!!
え, まって Chrome OS ってカーネルは linux だよね? は? 何? わざとサポートしてないの!?
本当に邪悪さを隠さなくなったね Google は……


## 何か嫌な予感がする
以上で普通の人向けの話は全部終わっちゃうんだけど, これ後々必要になった時に, 「サポート期間は終った!! リカバリーメディアは作らせない!!」って言われる気がするのでリカバリーメディアのバックアップを作成しておく.

ほぼ同じ手順を Mac と Linux で行いました (Windows は msys2 では dd がブロックデバイスを開けなかったし, WSL1 では USB メモリーや SD カードのデバイスファイルが見当たらないし, WSL2 だと恐らく仮想マシン側のデバイスファイルしか見えないと思う(最後のは未確認), cygwin は最近もう入れてない.)


### Mac での手順
まずリカバリーメディアがどのデバイスファイルなのか目視確認
以降, /dev/disk2 とかの部分は自分の環境に置き換えて下さい. 間違えて関係ないストレージ壊しても責任持てません.

```
$ diskutil list
```

多分自動マウントされてるのでアンマウントする

```
$ diskutil unMountDisk /dev/disk2
```

dd でディスクイメージを作成する (ここ時間かかるよ)

```
$ sudo dd if=/dev/rdisk2 of=~/asus-chromebook-c223-restore-13505.111.0.img bs=1m conv=noerror,sync
```

自分のファイルにして, 間違えて書き込まないように読み取り専用にしておく

```
$ sudo chown `id -u`:`id -g` ~/asus-chromebook-c223-restore-13505.111.0.img
$ chmod a-w ~/asus-chromebook-c223-restore-13505.111.0.img
```

zip 内に圧縮する

```
$ zip -j ~/asus-chromebook-c223-restore-13505.111.0.zip ~/asus-chromebook-c223-restore-13505.111.0.img
```

元ファイルをリネームする

```
$ mv ~/asus-chromebook-c223-restore-13505.111.0.img ~/asus-chromebook-c223-restore-13505.111.0.img.orig
```

圧縮したファイルを展開する

```
$ unzip -l ~/asus-chromebook-c223-restore-13505.111.0.zip
$ unzip ~/asus-chromebook-c223-restore-13505.111.0.zip
```

(ここで sha256sum で確認したけどでかいから時間かかった, まあ要らないだろう)
別のメディアに書き戻してちゃんと使える事を確認する

```
$ diskutil list
$ diskutil unMountDisk /dev/disk2
$ sudo dd if=~/asus-chromebook-c223-restore-13505.111.0.img of=/dev/rdisk2 bs=1m conv=noerror,sync
```

これで書き戻したメディアでリカバリーが上手くできていれば成功, メディアを挿入してもうんともすんとも言わなかったり, verification で弾かれたりしたら失敗.


### Linux での手順
まずリカバリーメディアがどのデバイスファイルなのか目視確認
以降, /dev/sdb とかの部分は自分の環境に置き換えて下さい. 間違えて関係ないストレージ壊しても責任持てません.

```
$ cat /proc/partitions
```

多分自動マウントされてるのでアンマウントする (自分はファイルマネージャーの自動マウント設定を off にした環境でやったので本当はやってません)

```
$ sudo umount /media/your_name/1234-5678
```

dd でディスクイメージを作成する (ここ時間かかるよ)

```
$ sudo dd if=/dev/sdb of=~/hp-chromebook-11a-g6-ee-restore.img bs=1m conv=noerror,sync status=progress
```

自分のファイルにして, 間違えて書き込まないように読み取り専用にしておく

```
$ sudo chown `id --user --name`:`id --group --name` ~/hp-chromebook-11a-g6-ee-restore.img
$ chmod a-w ~/hp-chromebook-11a-g6-ee-restore.img
```

zip 内に圧縮する

```
$ zip -j ~/hp-chromebook-11a-g6-ee-restore.zip ~/hp-chromebook-11a-g6-ee-restore.img
```

元ファイルをリネームする

```
$ mv ~/hp-chromebook-11a-g6-ee-restore.img ~/hp-chromebook-11a-g6-ee-restore.img.orig
```

圧縮したファイルを展開する

```
$ unzip -l ~/hp-chromebook-11a-g6-ee-restore.zip
$ unzip ~/hp-chromebook-11a-g6-ee-restore.zip
```

(ここで sha256sum で確認したけどでかいから時間かかった, まあ要らないだろう)
別のメディアに書き戻してちゃんと使える事を確認する

```
$ cat /proc/partitions
$ sudo umount /media/your_name/1234-5678
$ sudo dd if=~/hp-chromebook-11a-g6-ee-restore.img of=/dev/sdb bs=1m conv=noerror,sync status=progress
```

これで書き戻したメディアでリカバリーが上手くできていれば成功, メディアを挿入してもうんともすんとも言わなかったり, verification で弾かれたりしたら失敗.


## 終わり
実際に Chromebook を触り始めて「最初にこうしておいた方がよさそう」という事はいくつか出てきたけど, 一旦リカバリーメディアの作成についてでした.

finder が苦手で Mac にどうしても馴染めず, とはいえ最近劣化の一方の Windows からは脱出しなくてはいけないという危機感があるので Chromebook は一つの手段になるかなと思ったのですが, これは絶対メイン機にはならなさそうだし, それ以外でも根本的な手触り感の部分で色々厳しそうだなと思ってます.

なのになんでいきなり 2 台目も買ってるのか, 本当に自分で自分がヨクワカラナイ……