トップ «前の日記 最新 次の日記»

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 が起動できてない。

編集 パスワード変更