答え1
編集2:ソースの確認
Ubuntuを見つけました。initramfs - ツールソース。ここではメッセージが最初に印刷されますが、Begin: "Mounting root file system"
実際のインストール前にmount_root
機能が実行されることを明確に確認できます。fsck
順序を表示するために無関係なコードを省略しました。 (リンクされたソースを確認すると、スクリーンショットで他のレポートのスクリプトも見つけることができます。)
/init
256号線
log_begin_msg "Mounting root file system"
# Always load local and nfs (since these might be needed for /etc or
# /usr, irrespective of the boot script used to mount the rootfs).
. /scripts/local
. /scripts/nfs
. /scripts/${BOOT}
parse_numeric ${ROOT}
maybe_break mountroot
mount_top
mount_premount
mountroot
log_end_msg
/scripts/local
@ライン244
mountroot()
{
local_mount_root
}
/scripts/local
@ライン131
local_mount_root()
{
# Some code ommited
# FIXME This has no error checking
[ -n "${FSTYPE}" ] && modprobe ${FSTYPE}
checkfs ${ROOT} root "${FSTYPE}"
# FIXME This has no error checking
# Mount root
mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
mountroot_status="$?"
if [ "$LOOP" ]; then
if [ "$mountroot_status" != 0 ]; then
if [ ${FSTYPE} = ntfs ] || [ ${FSTYPE} = vfat ]; then
panic "<Error message ommited>"
fi
fi
mkdir -p /host
mount -o move ${rootmnt} /host
# Some code ommitted
}
歴史的な理由で維持された元の答え
2つのオプション:
- ルートは起動時に読み取り専用でマウントされます。内部に実装が実行中です
fsck
。システム~である内部にmintで実装されており、すでに存在していることを確認したので、このオプションは適用されません。 /sbin/fsck.ext4
運転中「初期ユーザースペース」、によって設定されましたファイルシステムの初期化。これはシステムの場合である可能性が高いです。
システム
/sbin/fsck.ext4
これが以前に実行されたことがあるとしても、systemd
もう少し詳しく説明したいと思います。システムfsck
読み取り専用でマウントされたファイルシステムで独自に実行できます。バラより[Eメール保護]文書。ほとんどの場合、サービスは関連性がないため、デフォルトではミントでは有効になりません。初期ユーザースペース一つ。
ファイルシステムの初期化
initramfs mintのどの実装が実行されているかはわかりませんが、次のようにします。dracut
例えば。 (Debian、openSuseなどで使用されます)以下を宣言します。設置準備文書:
ルートファイルシステムがついに表示される場合:
- すべてのメンテナンス作業マウントされたルートファイルシステムで実行失敗が完了しました。
- ルートファイルシステムは読み取り専用でマウントされます。
- 引き続き実行する必要があるすべてのプロセス(rd.splashスクリーンヘルパーとそのコマンドFIFOなど)は、新しくインストールされたルートファイルシステムに昇格されます。
メンテナンスタスクにはが含まれますfsck
。追加の証拠はそれが可能であることを示唆していますdracutコマンドラインオプション閉鎖fsck
:
rd.skipfsck
rootfsと/ usrの場合はfsckをスキップします。 / usrを読み取り専用でマウントし、initシステムが再マウントする前にfsckを実行している場合は、このオプションを使用して冗長性を回避できます。
initramfsの実装
動的(udevベース)と柔軟なinitramfsできる利用できるシステムインフラ。 Dracutはそのような実装の1つであり、独自の実装を作成したいいくつかのディストリビューションがあるかもしれません。
別のオプションはスクリプトベースの initramfs。この場合、busybox ash
スクリプトシェルとして使用されるか、udev
で置き換えmdev
られるか、完全に静的である可能性があります。私確立されたint mintの一部のfsckエラーにより、一部の人々はbusybox
シェルに移動するため、この実装はmintで機能する可能性があります。
本当に確認したい場合は、initramfsファイルを解凍して/boot
内容を確認してください。にインストールされているものを見ることもできます/initramfs
。
答え2
[Eメール保護]systemd-fsck-root.service はファイルシステムの検査を担当するサービスです。ファイルシステム検査用に構成された各デバイスに対してインスタンス化されます。 systemd-fsck-root.service は、ルートファイルシステムのファイルシステムチェックを担当しますが、ルートファイルシステムが initramfs でチェックされていない場合にのみ該当します。[Eメール保護]他のすべてのファイルシステムとinitramfsのルートファイルシステムに使用されます。
https://www.freedesktop.org/software/systemd/man/[Eメール保護]
あなたもこれに興味があるようです:
https://www.freedesktop.org/software/systemd/man/bootup.html