在安装完基本系统后
使用 genfstab -L >> /mnt/etc/fstab
通过设备名挂载的方式,写入 fstab
但是在开机时遇到了报错,如图所示
然后我回到 iso 安装环境,做了点测试
发现 UUID 是存在的,但是无法通过 mount -U 无法挂载
同时 fstab 没有使用 UUID 的方式挂载分区
磁盘
3 个 1T HDD 组成 raid 0
分区和文件系统
/dev/md126
md126p1 EFI vfat 256M
md126p2 grub ext4 512M
md126p3 / btrfs 500G
md126p4 null null 500G
md126p5 null null 1.8T
挂载报错的是我根分区 md126p3 下的 btrfs 子卷
下图是测试过程演示
经过 #9 的提醒,发现测试过程做错了
现在重新做了一下
1
shylockhg 2018-12-14 08:39:39 +08:00
grub?
|
2
HeiXiaoBai OP @shylockhg #1
是的,用 grub2 作为引导 |
3
shylockhg 2018-12-14 08:45:14 +08:00
@HeiXiaoBai 这个好像对 btrfs 支持不好,,我之前装直接 error 警告,我就重新分区了
|
4
HeiXiaoBai OP 补充一点:刚才经过测试,发现不止 md126p3(btrfs)无法挂载
其他的两个分区(vfat\grub)通过 UUID 挂载也会出现报错 无论是 arch 安装环境,还是通过 arch-chroot 进入系统分区后 |
5
HeiXiaoBai OP @shylockhg #3 我的 grub 是 ext4 分区,并且在我的另一台机子是没问题的
|
6
vB4h3r2AS7wOYkY0 2018-12-14 08:56:17 +08:00
看起来你的 fstab 和我以前的 fstab 不一样?!
https://gist.github.com/Kazetoyuki/5522f14ab01396f6c2e0f912cb6b9039 我的是 UUID 开头 你仍然是以 /dev/dev_name 开头所以找不到 UUID? 重新生成一下 fstab 吧. genfstab -U /mnt >> /mnt/etc/fstab 记得 -U 使用 UUID |
7
HeiXiaoBai OP @MayKiller #6
最初就是使用 genfstab -U 生成的,报错后以为是生成的 UUID 问题,才重新生成了以设备名挂载的 fstab |
8
vB4h3r2AS7wOYkY0 2018-12-14 09:01:39 +08:00
又或者你非常想使用设备名.
修改 /etc/grub.d/40_custom 添加如下 GRUB_DISABLE_LINUX_UUID=true 重新 grub-mkconfig -o /<PATH> |
9
mikeguan 2018-12-14 09:04:04 +08:00 via Android
没试过 不过看 mount -U 报错 感觉是把 UUID 也作为一部分了
|
10
HeiXiaoBai OP @mikeguan #9
emmm,你一说我才发现做的测试做错了 |
11
vB4h3r2AS7wOYkY0 2018-12-14 09:08:54 +08:00
emm 还有 fstab 的 / mount options subvol=/hxb,subvol=hxb
这是生成的还是自己加的... |
12
HeiXiaoBai OP @MayKiller #11 生成的
|
13
vB4h3r2AS7wOYkY0 2018-12-14 09:20:00 +08:00
@HeiXiaoBai
是 nvme 驱动器么... 无意间逛到了这一帖 https://bbs.archlinux.org/viewtopic.php?id=208132 #6 试一下? 不确定是否是这个原因 |
14
vB4h3r2AS7wOYkY0 2018-12-14 09:23:14 +08:00
@MayKiller #13 脑抽忘记审题了 明明都说了是 3 个 HDD 组的 RIAD
无视 #13 吧 |
15
Osk 2018-12-14 09:27:29 +08:00 via Android
用了 lvm 和 md raid? 看一下 mkinitcpio conf 里面的 hooks 顺序是否正确。
在开机时报错那里你可以 ls /dev/disk/by-uuid/ 看下你的 root fs uuid 是否出来了。 |
16
vB4h3r2AS7wOYkY0 2018-12-14 09:30:43 +08:00
|
17
HeiXiaoBai OP |
18
HeiXiaoBai OP @MayKiller #16 说实话,这两个 wiki 看得我一懵╮(╯_╰)╭
|
19
meppy 2018-12-14 10:03:33 +08:00
为啥用 arch …找虐么这不是
|
20
HeiXiaoBai OP @meppy #19 Arch 大法好 /滑稽
|
21
vB4h3r2AS7wOYkY0 2018-12-14 10:25:54 +08:00
@HeiXiaoBai ... 看不明白旁边选中文... 我刚刚去看了一下翻译应该没问题...
https://wiki.archlinux.org/index.php/RAID#Configure_mkinitcpio 重要的就这个了... 添加 mdadm_udev 到 /etc/mkinitcpio.conf 注意顺序 然后 mkinitcpio -p linux 重新生成 initramfs. 配置好了以后更新 kernel 也不用管了... |
22
Osk 2018-12-14 10:25:55 +08:00 via Android
@HeiXiaoBai 看这情况你的 mkinitcpio raid 配置可能有问题。贴下你的
/etc/mkinitcpio.conf 看看? 参考 https://wiki.archlinux.org/index.php/RAID#Configure_mkinitcpio 你用的是哪种方式组的 raid 啊? lvm 还是 mdadm ??? |
23
HeiXiaoBai OP @Osk #22 主板自带,硬件 raid
|
24
Osk 2018-12-14 10:30:09 +08:00 via Android
对了既然都上 btrfs 了,可以考虑下 btrfs 自带的 raid 0 啊,目测能提供不少 md 做不到的功能,比如在线添加移除磁盘. 只要别用 raid5/6 就好。
滑稽🤣 |
25
Osk 2018-12-14 10:32:23 +08:00 via Android
@HeiXiaoBai 硬盘 raid 得看你的是哪种 raid 控制器了。。。然后把它驱动加到 mkinitcpio.conf 中
|
26
HeiXiaoBai OP |
27
vB4h3r2AS7wOYkY0 2018-12-14 10:46:48 +08:00
@HeiXiaoBai 图炸了
就二图的情况来看... 没问题. 本来就没有 fsck.btrfs 前俩 warnings 都是 fsck.btrfs 的 后俩 warnings https://wiki.archlinux.org/index.php/Mkinitcpio#Possibly_missing_firmware_for_module_XXXX 一般来说用不到的模块, 如果不使用可忽略 |
28
reus 2018-12-14 10:46:58 +08:00
应该是 initramfs 没有加载驱动,所以没法读硬盘分区信息,所以找不到那个 UUID
如果 iso 里面可以看到,那说明是可以驱动的,找出那个驱动的模块名,arch-chroot 进去之后,加到 /etc/mkinitcpio.conf 里,再 mkinitcpio -p linux,就能让启动时找到那个分区了 模块名你要搜索下 |
29
reus 2018-12-14 10:52:37 +08:00
MODULES="dm_mod md_mod raid1 btrfs" 试试
|
30
HeiXiaoBai OP @MayKiller 刚才回复太频繁被禁言= =
已经解决啦,多谢(〃'▽'〃) |
31
Rokee 2018-12-14 11:43:50 +08:00 via iPhone
为什么不用 arch 系的 manjaro,简单
|
32
zst 2018-12-14 11:54:27 +08:00 via Android
强烈推荐 majaro 和 antergo。。省心啊
|
33
dontaskcece 2018-12-14 13:06:22 +08:00 via Android
我用的 archanywhere,原版加安装器,好用
|