二度と体験できない極限の状況に直面しましたが、備えたいと思いました。メインディスクには4つのパーティションを持つ組み込みシステム(u-boot)があります。パーティションの1つはrootfs(ext4
)ですが、残念ながらrw
。ラフなインタラクションを見事に処理しましたが、ext4
今日は初めて問題を発見しました。インストールは引き続き機能しますが、systemd-fsck-root.service
失敗して続行するにはCTRL-Dが必要であることを示すメッセージが表示され、を実行するように求められますfsck
。
systemd-fsck[1130]: /dev/mmcblk1p4: Superblock last mount time is in the future.
systemd-fsck[1130]: (by less than a day, probably due to the hardware clock being incorrectly set)
systemd-fsck[1130]: /dev/mmcblk1p4 contains a file system with errors, check forced.
systemd-fsck[1130]: /dev/mmcblk1p4: Inodes that were part of a corrupted orphan linked list found.
systemd-fsck[1130]: /dev/mmcblk1p4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
systemd-fsck[1130]: (i.e., without -a or -p options)
systemd-fsck[1130]: fsck failed with error code 4.
systemd-fsck[1130]: Running request emergency.target/start/replace
initramfs
私のカーネルにはバックアップパーティションがありません。私が持っているすべては次のとおりです
- rootfsの隣にほとんど使用されていないパーティション
switch_root
コマンド
私の計画は次のとおりです。
- Linux の実行に必要な基本ファイルを別のパーティションにコピーします。
fsck
rootfsを回復するために必要なその他のコンテンツを空のパーティションにコピーします。- 別のパーティションにジャンプ
switch_root
- デフォルトのrootfsをアンマウントし、fsckリカバリを実行します。
reboot
ブートローダは固定されたメインを指す必要があります。
私が知らない主な点は次のとおりです。
- これはうまくいくでしょうか?
- どの基本文書が必要ですか
#1
?ロードされたカーネルモジュールを含める必要がありますか、それともカーネルに残りますか? switch_root
ジャンプを容易にする非常に簡単な初期化スクリプトはどのようなものでしょうか?