かってきままな日々
2023-08-16 (We) [長年日記]
_ 原神 - アップデートできず
スマホ版はできた。 予想通り、一度起動するとサイズが小さくなった。
しかし PC 版は再インストールもできず。 70G のサイズで 140G の空きが必要、とのこと T_T
Linux 領域のバックアップを開始!
メモ。
NAME USED AVAIL REFER MOUNTPOINT
zroot 99.0G 219G 192K none
zroot/aur 14.4G 15.6G 14.4G /aur
zroot/bak 192K 219G 192K /bak
zroot/home 46.7G 13.3G 36.2G /home/masm
zroot/opt 4.40G 15.6G 4.40G /opt
zroot/pkg 6.83G 3.17G 6.83G /var/cache/pacman/pkg
zroot/root 26.5G 23.5G 26.4G /
_ パーティション切り直し
500GB の SSD。Windows 領域 128GB、残りを Linux で使ってた。 Windows 領域は 64GB を既に原神が使っており、さらに 60GB の空き容量を要求された。 そんなに空かない… 一方 Linux 領域はすかすか。 パーティションを切りなおすしかないな、という流れ。
Linux 領域は zfs にしてある。Windows 領域はたいして難しくないはず。
というわけで、ざっくり開始。
zfs の dataset をそれぞれ
zfs snapshot zroot/home@resize
zfs send zroot/home@resize | gzip > home.zfs.gz
みたいに固めて、別 PC に転送。 home は念のため .tar.gz にも固めて、同じく転送。 home については、いつもどおりの replica もあるので、全部で3つのバックアップがあることになる。
去年焼いてあった install media から起動し、iwctl を使ってネットワークをつなぎ、
curl -s ... | bash
で zfs を使えるようにする。
…が使えなかった。install media が古かったみたい。新しいイメージを焼いてやりなおし。
で、gdisk でおもむろにパーティションを切りなおす。
Linux 領域に zfs を作り、zroot/bak なる dataset を作る。ここに別 PC からバックアップを転送する。
終わったら zcat home.zfs.gz | zfs recv zroot/home
等で復元する。
この時、zroot/home 等の復元する dataset は自動作成で、存在してはいけないみたい。
再起動し、いつもどおりの initcpio で起動する。ただし、kernel commandline に
break=premount
を付けておく。これで、mount 直前で止まってくれる。mountpoint を設定してないので、
まだこのまま起動はできないことがわかってるため。
zpool import -f -R /new_root zroot
でインポートし、zfs set mountpoint=/ zroot/root
等で
mountpoint を設定していく。
^D で shell を抜けると、起動した。ひゃっほい! しかしログインするとおかしい。私の環境ではない。 あー、home の mountpoint を間違えてる。修正しようにも、なんか使われてるらしく、umount できない。
一旦 initcpio を作り直して (← zfs の cache が含まれてるため) reboot しよう。
pacman -S linux
で作り直せる。けど linux-***.zstd
のダウンロードが始まった。
おかしい… /var/cache/pacman/pkg/
は復元したはず。中身見たら空っぽ。
そうか、pkg.zfs.gz を /pkg に復元してしまった。正しくは /var/cache/pacman/pkg/
だ。
こちらも umount できない。ぐぬぬ… まぁとりあえずここまでの zfs の状態で initcpio を作り直して
再起動。
break=premount
で起動し、mountpoint を設定しなおし、^D で抜けると起動。ログイン。今度は大丈夫みたい。
initcpio を作り直し、reboot する。ちゃんと起動する。他の kernel についても initcpio を作り直して
起動確認。OK!
じゃー次、Windows。
… Windows が起動しない T_T 0xc0000225。ぐぐると、よくあるエラーコードらしい。
幸い、リカバリディスクは作ってあったので、それで起動し、コマンドプロンプトを起動。
diskpart で ESP にドライブ番号 Z: を割り当てて、そこをめがけて bcdedit する。
コマンドライン忘れたけど、/f UEFI
が付いてるやつ。
これで起動はするようになった。
しかし、起動しても、パーティションは大きくなっているが、ファイルシステムが大きくなっていない。 「コンピュータの管理」からサイズを変更しようとしても「引数エラー」で失敗する。
EaseUS Partition Master をインストールして、これで一旦小さくした後、元に戻した。 すると、ファイルシステムが大きくなった! 便利なツールや… ¥300. くらいなら寄付するのもありだと思ったけど、1ヶ月約¥4,000. は高いな… 寄付募った方が収入増えるんじゃないかな…
あとは原神をインストール。70GB ダウンロードは大きい… 寝ながらダウンロードしたので、途中で screensaver? に邪魔されたりしながらで、 3〜4時間程かかった。
総評: 原神ダウンロード以外で一番時間かかったのは、ファイル転送だった。 こういう作業は時々やるが、ファイル転送を高速できればなー、とはいつも思う。
TODO:
- linux zfs 暗号化が解けてしまった。
- あぁ swap とか hibernate とか。パーティション番号がずれたけど設定を直してない。
- systemd-boot が起動できてない。