记一次服务器启动修复 - /etc/fstab错误至系统无法启动
- 更新:2018-11-24 23:36:59
- 首发:2018-11-24 23:35:41
- 互联网
- 14364
利用RK3399作为ARM微型服务器是非常有趣的事情。然而总有一些意外来得令人措手不及。
事情是这样的。我在服务器中挂载了三块SSD硬盘,其中两块是放于USB硬盘盒,通过Type-C和USB3.0接口连接。
开机自动挂载
我们先看一下开机自动挂载方案。
查询分区的Block ID:
blkid /dev/sda1
/dev/sda1: UUID="7f50f85e-783c-4d94-be37-d2c662504e58" TYPE="ext4"
然后把 Block ID 添加到/etc/fstab
文件中,这是我的fstab
文件:
UUID=a848d601-91ac-4b5c-8ce3-ffef674f5dd5 /nvme ext4 defaults 0 0
UUID=88eb8df2-1a8f-4f38-acc9-566deb1c8f40 /tf ext4 defaults 0 0
UUID=7f50f85e-783c-4d94-be37-d2c662504e58 /ssd0 ext4 defaults 0 0
UUID=e66307fc-2c33-406b-ae60-b27e2344d02a /ssd1 ext4 defaults 0 0
事情是这样开始的
我在检查硬盘状态的时候,发现其中一块硬盘没有进行4k对齐。然后我对该硬盘进行了重新分区。结果服务器就卡死了!?
当我重启服务器后,一直连不上SSH。
插入HDMI,显示器一片黑暗!
如果是X86架构的服务器,挂载/etc/fstab
失败后会进入高级模式,可以通过接入显示器解决,但是ARM架构(或者说我这块板子)的系统并没有提供这样的后悔药。
x86系统可以进入光盘Linux,然后挂载硬盘改写/etc/fstab
文件。但是我的系统烧写在eMMC,即便能在SD卡刷机,通过SD卡引导系统并挂载eMMC硬盘也是非常有挑战的事情。
重装服务器是非常耗时的,需要进行非常多的软件配置。非迫不得已,我不会重新刷机。
事情是这样解决的
当我一筹莫展时,突然想到我的剪贴板中存有分区的Block ID
数据。数据是UUID格式。
我将近期剪贴板中所有的UUID找到:
e66307fc-2c33-406b-ae60-b27e2344d02a
cfcaccd9-6ca7-406c-821c-affb331bda6d
9e669a85-35ce-487d-8cd9-09d66ddebe31
7f50f85e-783c-4d94-be37-d2c662504e58
还好,只有四个。
我将SSD移动硬盘接入到树莓派,通过树莓派重新进行分区。
将UUID强行写入到分区:
tune2fs -U 7f50f85e-783c-4d94-be37-d2c662504e58 /dev/sdb1
看来,我的运气不佳,我试了前三个都没能启动服务器。
当我万念俱灰之时,淡定写入最后一个UUID。
ping 192.168.31.63
PING 192.168.31.63 (192.168.31.63): 56 data bytes
...
ping: sendto: Host is down
Request timeout for icmp_seq 117
Request timeout for icmp_seq 118
64 bytes from 192.168.31.63: icmp_seq=119 ttl=64 time=305.276 ms
64 bytes from 192.168.31.63: icmp_seq=120 ttl=64 time=147.118 ms
64 bytes from 192.168.31.63: icmp_seq=121 ttl=64 time=67.426 ms
...
真是不幸中的万幸,服务器正常启动!
除特别注明外,本站所有文章均为原创。原创文章均已备案且受著作权保护,未经作者书面授权,请勿转载。
打赏
交流区
暂无内容
如遇问题,手动修改上述代码中的版本号为最新版即可。
😄 祝您顺利!
那个设备管理器没有手动添加过时设备了,我直接就重新装了一遍
dcm
我心不死,又重新回来搞这个。
上面的都做好了,windows hello的安装程序闪退(就是闪退做不了),后面还把我sdk客户端里面的Camera Explorer又找不到我的照相机了,我哭死。
能提供一下思路吗,作者大大