前言(我的第一次尝试以失败告终):Fstab 添加 data=journal 导致我的 Linux ext4 在启动时崩溃,如何修复?
我找不到有关如何启用 fs 模式的可靠分步说明data=journal
ext4
? (这是我的根文件系统。)
有人可以帮忙吗?谢谢你!
操作系统:Linux Mint 21.1 Cinnamon
这是tune2fs
转储:
$ sudo tune2fs -l /dev/nvme0n1p2
[sudo] password for vlastimil:
tune2fs 1.46.5 (30-Dec-2021)
Filesystem volume name: <none>
Last mounted on: /
Filesystem UUID: f1fc7345-be7a-4c6b-9559-fc6e2d445bfa
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 122093568
Block count: 488354304
Reserved block count: 20068825
Free blocks: 387437462
Free inodes: 121112327
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 817
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Sat Jun 16 11:26:24 2018
Last mount time: Sun Jul 2 17:28:19 2023
Last write time: Sun Jul 2 17:28:11 2023
Mount count: 1
Maximum mount count: 1
Last checked: Sun Jul 2 17:28:11 2023
Check interval: 1 (0:00:01)
Next check after: Sun Jul 2 17:28:12 2023
Lifetime writes: 39 TB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
First orphan inode: 132249
Default directory hash: half_md4
Directory Hash Seed: 48360d76-0cfb-4aed-892e-a8f3a30dd794
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0xe1a6cb12
答案1
由于这是您的根文件系统,因此添加挂载选项/etc/fstab
会带来一些先有鸡还是先有蛋的问题:系统在开始挂载根文件系统之前需要知道挂载选项,但/etc/fstab
在挂载之前无法读取该文件。根文件系统已安装。
这就是为什么有一种单独的方法来指定您的安装选项根文件系统:rootflags=
内核启动选项。
在 GRUB 启动菜单中,您可以按E编辑选定的启动项(非持久性,仅适用于当前启动!),找到以linux
或linuxefi
关键字开头的行,然后添加rootflags=data=journal
到该行的末尾。然后按照屏幕上的说明使用修改后的条目启动。
如果这导致成功启动,您可以将启动选项添加到/etc/default/grub
文件(变量GRUB_CMDLINE_LINUX
),然后运行sudo update-grub
以使其持久化。
如果初始引导尝试失败rootflags=data=journal
,您只需再次引导即可返回到之前的状态,因为 GRUB 引导菜单中所做的更改不会存储在磁盘上。