记一次启动故障
Terrasse
2019.08.30
本机使用的是 Windows 10
Manjaro
双系统,今天从Win
切换成Linux
时出现了You are in emergency mode...
等字样,无图形界面,提示登录后查看系统日志解决问题。
值得一提的是,我最开始差点没登录进去,原因是默认不开启 Numlock
,我以前是通过一个自动执行的命令开启的 Numlock
,而今天系统启动失败,也就没有这个命令了。另外,我的终端默认是中文,在emergency mode
下没有加载中文字体,q就全是口口,也是相当难受。
进入正题,用手机查了查,发现类似错误都是mount
失败引起的。我这边一共有五个mount
项:
# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=DDCD-6F29 /boot/efi vfat defaults,noatime 0 2
UUID=b29ee45c-93a6-427e-82bf-7f3bfde174c2 swap swap defaults,noatime 0 2
UUID=123b452d-6c60-4cec-86d0-495d2a00b5bb / ext4 defaults,noatime 0 1
UUID=d94b36fa-6770-4afe-9181-5496c8bab862 /home ext4 defaults,noatime 0 2
/dev/nvme0n1p5 /home/terrasse/DATA ntfs defaults,noatime 0 0
查看哪一项出了问题,发现/home/terrasse/DATA
(Win
里的数据盘)下是空的,逮到你了!
我已知Windows
的快速启动模式
会锁定其硬盘,导致Linux
下无法访问,我最初以为是这个问题,但我明明早已关闭这个选项,莫非他更新之后自己打开了?不至于吧。
留了个心眼,查看一下各个分区:
# fdisk -l
Disk /dev/nvme0n1:476.96 GiB,512110190592 字节,1000215216 个扇区
磁盘型号:SAMSUNG MZVLB512HAJQ-000H1
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:40D4DC63-A570-4E0C-8AC2-7595E3E84682
设备 起点 末尾 扇区 大小 类型
/dev/nvme0n1p1 2048 534527 532480 260M Microsoft 基本数据
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft 保留
/dev/nvme0n1p3 567296 251030490 250463195 119.4G Microsoft 基本数据
/dev/nvme0n1p4 251031552 252229631 1198080 585M Windows 恢复环境
/dev/nvme0n1p5 252231680 253255679 1024000 500M EFI 系统
/dev/nvme0n1p6 253255680 257449983 4194304 2G Linux swap
/dev/nvme0n1p7 257449984 383279103 125829120 60G Linux 文件系统
/dev/nvme0n1p8 383279104 522280959 139001856 66.3G Linux 文件系统
/dev/nvme0n1p9 522280960 524275711 1994752 974M Windows 恢复环境
/dev/nvme0n1p10 524275712 1000212479 475936768 227G Microsoft 基本数据
Disk /dev/loop0:499.5 MiB,523288576 字节,1022048 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
(当时以上中文全是口口)(硬盘折腾得有点乱)
等等?!/dev/nvme0n1p5
是EFI System
?那我以前怎么启动的?之前这个编号绝对是对应227G
的数据盘!
好了,真相了,Windows
更新的时候怕是顺手帮我整理了分区表的顺序,按扇区排序了(我可谢谢它了)。事实证明,我当时为了图个方便用/dev/nvme0n1p5
表示数据盘是多么地愚蠢。
# ls -l /dev/disk/by-uuid
然后把查到的UUID
填到/etc/fstab
里就完美了。