朝起きたらNixOSなThinkPadが壊れていたので、OSを入れ替えた
ぶっ壊れたNixOS ThinkPadを復旧させたかった話
目次
結論: 未解決. Deabinにした
Debianをベースにパッケージマネージャーをnixにした。Feforaも良いけどSELinux等々がnixと衝突しそうだったため。
理由としては「面倒。忙しい。手っ取り早い解決手段がある」ので。
こうして何も解決能力を得ないまま事態が収束していく...
— Uliboooo (@Uliboooo) Jun 5, 2026
でもあと1hで美容室行って実家帰らんといかんのですよぉ
これ以降は愚にもつかないやったことメモ。
現状(Fri Jun 5 14)
- 朝起きたらNixOSがインストールされたThinkPad(以下nixpad)が死んでいた
- 具体的には起動後にnixの世代選択画面が表示され、その後bootは進むが途中(ないしboot後に)GUIのログイン画面が起動しない
- と思ったらTTYへの切り替えもできない
- => おそらくBootが完了してない
- 当日は試験だっため予備のmacで無事
- 帰ってきた <- 今ここ
- AIと問答したところ、バッテリー切れのシャットダウンによるファイルシステム破損の可能性
- 詳細は後述
バッテリー切れの可能性
普段はnixpadには60W程度のACを接続している。が、昨日の夜はMacBookに使っていたため画面を開き(実は4Kモニターに繋いたまま)一晩放置してしまった。
朝起きたら案の定、バッテリー切れで死んでいた。特に保存が必要な操作もなかったはずなのでそのまま起動してみると上記の不具合。
解決へ: Live NixOS
とりあえずその辺に転がっていたNixOSの入ったVentoy USBでlive環境に入り、lsblk。(これ以降は割とclaude, chatgptの奴隷となり手足となります)
ssh
live環境からコピペもできないのは不便なのでsshする。どうせliveなので容赦無く設定を変える。
- ssh使用時にパスワードが必要なので、nixpad(live)側で
passwd nixosとしてliveのデフォルトユーザーであるnixosにパスワードを設定する - mac(予備)からsshのpub keyを
ssh-copy-idでnixpad(live)に渡す ssh nixos@nixpad-ip-addr
[nixos@nixos:~]$ uname -a
Linux nixos 7.0.6 #1-NixOS SMP PREEMPT_DYNAMIC Mon May 11 06:21:59 UTC 2026 x86_64 GNU/Linux
できた。
lsblk
sdaがUSBでnvmeが2枚あり、1n1の方がNixOSの方。
[nixos@nixos:~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 3.4G 1 loop /nix/.ro-store
sda 8:0 1 14.4G 0 disk
├─sda1 8:1 1 14.4G 0 part
│ ├─ventoy 254:0 0 3.5G 1 dm /iso
│ └─sda1 254:1 0 14.4G 0 dm
└─sda2 8:2 1 32M 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 93.1G 0 part
└─nvme0n1p4 259:2 0 383.8G 0 part
nvme1n1 259:3 0 476.9G 0 disk
├─nvme1n1p1 259:4 0 1G 0 part
├─nvme1n1p2 259:5 0 467.1G 0 part
└─nvme1n1p3 259:6 0 8.8G 0 part
fsckでパーティションを確認。
[nixos@nixos:~]$ sudo fsck -y /dev/nvme1n1p2
fsck from util-linux 2.41.4
fsck: fsck.crypto_LUKS not found; ignore /dev/nvme1n1p2
暗号化されている。そういえばしていました。こういうトラブルシューティングの時マジで不便なんですよね。cryptsetupで解除して、blkidでパーティションを確認。cryptsetupは/dev/mapper/xxxに解除ずみを置きます。
[nixos@nixos:~]$ sudo cryptsetup luksOpen /dev/nvme1n1p2 nixos-root
Enter passphrase for /dev/nvme1n1p2:
[nixos@nixos:~]$ sudo blkid /dev/mapper/nixos-root
/dev/mapper/nixos-root: LABEL="root" UUID="7331cdbb-110a-4412-a6c4-cd6a9164ed0a" BLOCK_SIZE="4096" TYPE="ext4"
ext4ですね。
ファイルシステムは正常らしい
[nixos@nixos:~]$ sudo fsck -y /dev/mapper/nixos-root
fsck from util-linux 2.41.4
e2fsck 1.47.3 (8-Jul-2025)
root: clean, 2620773/30613504 files, 45325128/122453274 blocks
マウントする & ログチェック
[nixos@nixos:~]$ sudo mount /dev/mapper/nixos-root /mnt
[nixos@nixos:~]$ sudo mount /dev/nvme1n1p1 /mnt/boot
[nixos@nixos:~]$ lsblk
nvme1n1 259:3 0 476.9G 0 disk
├─nvme1n1p1 259:4 0 1G 0 part /mnt/boot
├─nvme1n1p2 259:5 0 467.1G 0 part
│ └─nixos-root 254:2 0 467.1G 0 crypt /mnt
└─nvme1n1p3 259:6 0 8.8G 0 part
ちゃんとマウントできてる。
nixos-enterでシステムに入る。
[nixos@nixos:~]$ sudo nixos-enter
warning: not applying UID change of user ‘gdm-greeter-2’ (60580 -> 60579) in /etc/passwd
warning: not applying UID change of user ‘gdm-greeter-3’ (60581 -> 60580) in /etc/passwd
warning: not applying UID change of user ‘gdm-greeter-4’ (60582 -> 60581) in /etc/passwd
setting up /etc...
[root@nixos:/]#
ここからClaudeにしたがってログをあるだけ渡していきます。面倒なのでカット。
GDMのWaylandセッションが起動失敗らしい
gdm-wayland-session: Unable to run session
gdm: GdmDisplay: Session never registered, failing
GDMがWaylandセッションを起動しようとするたびに失敗し、greeterアカウントを使い果たしてフリーズしています。
ただ、よくある原因として WaylandセッションのXDG_RUNTIME_DIR権限問題 または compositorのクラッシュ が考えられます。
— Claudea Sonnet 4.6 Low
どうやらHyprlandとGDMの相性が悪い?
そろそろHyprlandを卒業してもいい。
いろいろファイルを渡したらとりあえずnixをrebuildするように…
=> 治らず
終わり