トップ 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|

2024-03-28 :-(

_ 業務日誌

0800 出勤

2200 退勤

_ 日誌

晴れ。気温は低いはずだがけっこう暖かい。夜になったら雨。

おひる。パン。

飯。 牛肉とにんにくの芽のオイスター炒め。昨日の残り。


2024-03-27 :-(

_ 業務日誌

0800 出勤

1900 退勤

_ 日誌

晴れ。暖かい。明日からまた雨らしい。

おひる。ラーメン。

飯。 牛肉とにんにくの芽のオイスター炒め

_ Arch Linux を pacman -Syu 後に reboot したら起動しなくなったので復旧させた

ようするにこの症状だった pacman - 再起動後に "Unable to find root device" エラー - ArchWiki

手元の計算機では LVM を使っているので 「 /dev/mapper/main-root がマウントできない 」といったメッセージであり、上記メッセージとは異なるが、ようするに initramfs がルートファイルシステムをマウントできなかった。

最後に pacman -Syu したとき initramfs を作るろうとしてエラーになっていたんだが 「 initramfs なんぞそうそう更新することはないんだから 」と無視して reboot したら見事にダメでした。 たしかそのときのエラーは mkinitcpio が

  • sd-lvm2 モジュールが無い
  • mount.ceph が無い

といったエラーを出していた。

sd-lvm2 や mount.ceph については /etc/mkinitcpio.conf の HOOKS に書かれている ( mkinitcpio - 通常のフック - ArchWiki) ものであり、 HOOKS に書かれているフックは mkinitcpio 実行時に initramfs に組み込まれるのだが、 これらがエラーとなり、 initramfs がおかしくなり(?) Arch Linux 起動時に initramfs が /dev/mapper/main-root をマウントできなくなったようだ。

sd-lvm2 についてはどうも名前が変わったらしく、 lvm2 と書くのが正しい。 自分で /etc/mkinitcpio.conf は書いたことがないので Arch Linux の誰かが sd-lvm2 から lvm2 へ変更しなかったか。

mount.ceph については HOOKSfilesystems が影響している。 mount.ceph という名前から分かるとおり ceph ファイルシステム ( Ceph - Wikipedia ) をマウントするためのコマンドである。 ceph ファイルシステムなんぞ使わんので filesystems から除外したいんだが mkinitcpio はどこで filesystems に ceph を含めているのか分からない。ふと /lib を見ると /lib/ceph というディレクトリや /lib/libcephなんとか.so といったファイルがある。 これかな。 どうも過去の自分が ceph パッケージをインストールしたらしい。 Arch Linux の ceph は AUR となっている ( AUR - ceph ) ので yay -R ceph-bin ceph-libs-bin を実行してアンインストールした。

再度 mkinitcpio -p linux を実行するとエラーなく完了した。

その後 reboot したらちゃんと Arch Linux が起動した。

Arch Linux の復旧用ブータブル USB メモリを作る

参考 USB インストールメディア - ArchWiki

Windows 11 で作業した。

ISO イメージファイルをダウンロードし、 Rufus を使って書き込んだ。 念のため USB メモリ 2 つ用意して 「ISO イメージモード」と「dd イメージモード」の 2 つを作っておいた。結局 ISO イメージモードのものでよかったが。

hp の PC で USB ブートさせる

この手順 DVD や USB メモリから起動する方法を知りたい(文書番号:a50048) | 日本HP LIVEサポートナビ

電源 ON してすぐに ESC を連打。メニューが表示されるので boot menu を選択し、 USB デバイスが表示されてるのでそれを選択し Enter すると Arch Linux のブータブル USB メモリから起動する。

Arch Linux のブータブル USB メモリで起動しルートファイルシステムをマウントする

再起動後に "Unable to find root device" エラー に書いてあるとおり。

まずマウントしておく。 /boot はどこのデバイスか覚えてなかったんだが、最初に /dev/mapper/main-root を /mnt にマウントして /mnt/etc/fstab を見たら /dev/sda1 を /boot にマウントしていたので以下のように実行した。 この作業では /mnt/boot にマウントしないといけないことに注意。

mount /dev/mapper/main-root /mnt
mount /dev/sda1 /mnt/boot

chroot してパッケージを再インストールする。

arch-chroot /mnt
pacman -Syu mkinitcpio systemd linux

ここで pacman -Syu mkinitcpio を実行すると、 最初に書いたように sd-lvm2 と ceph のエラーが再現するので、 そのエラーを解消 (上述) したあとに pacman -Syu mkinitcpio ... を再度実行すればよい。 あとは exit してアンマウントして reboot する。 (reboot するならアンマウントしなくてよさそうけど。 sync されない可能性を懸念してるのかしら)

exit
umount /mnt/boot
umount /mnt
reboot

2024-03-26 :-(

_ 業務日誌

0800 出勤

2200 退勤

_ 日誌

雨。

おひる。ラーメン。

飯。豚の角煮。ようやく食べ終えた。