改了一个 systemd 启动文件,现在系统进不去了,怎么挽救

2016-01-29 23:02:06 +08:00
 mrtone
环境有点复杂。。。
宿主机是 OS X ,用 Parallels Desktop 作为 Vagrant 的虚拟机,跑的 Archlinux ,整个工作环境都是在虚拟机上的,数据因为是共享的,没丢,这是好事,但是整个开发环境都没了,重装简直是灾难。。所以,想尽量挽救一下。

我是这么搞坏它的:
看 systemd 启动日志的时候,发现有一个 service 没启动起来,想直接禁用掉,加快一下启动速度,就把 prl-x11.service move 到了 prl-x11.service.bak ,结果重启后整个系统就挂了。

启动器是 Grup , 但是因为当时想加快启动速度,就把 timeout 改成 0 了,导致直接会启动 arch ,不给我选择恢复模式的机会。。。这是一个悲伤的故事。。。。

所以,还有别的办法能恢复一下吗?我只要能把 prl-x11.service.bak rename 一下就好。。。

求救。
4821 次点击
所在节点    Linux
24 条回复
GNiux
2016-01-29 23:11:16 +08:00
“就把 timeout 改成 0 了”………确实悲桑………第一次见……

如果不是虚拟机我就会……
jianyunet
2016-01-29 23:14:11 +08:00
Single User Mode 应该能进去改文件

搞不定就上 System Rescue CD
GGGG430
2016-01-29 23:19:30 +08:00
同上, 第三方系统进去改文件
kfll
2016-01-29 23:21:14 +08:00
试试在 grub 之前按住 shift
不行就上 CD 吧...
Tink
2016-01-29 23:23:00 +08:00
做个启动盘,直接 chroot 啊,再改回来不就好了
msg7086
2016-01-29 23:38:58 +08:00
挂载安装盘,启动以后 mount 改下文件即可。
mrtone
2016-01-29 23:42:14 +08:00
@GNiux @jianyunet @GGGG430 @kfll @Tink @msg7086 谢谢各位,正在下载一个安装镜像,确实可以这么搞,谢谢~~ 顺便问一下,有没有比较小的专门救援用的镜像? archlinux 整个镜像 686M 。
msg7086
2016-01-29 23:44:25 +08:00
@mrtone Debian 有 netinst 包,用来做简单维护足够。

复杂的话用 finnix ,全功能恢复 CD ,做数据反删除都行,要什么工具可以当成 apt 扒下来。
Linode 的恢复光盘就是用的他家。
msg7086
2016-01-29 23:45:11 +08:00
s/当成 /当场 /
lhbc
2016-01-29 23:45:22 +08:00
其实我想知道,这个问题也要问,当初是怎么把 Archlinux 装上去的……
lhbc
2016-01-29 23:51:13 +08:00
debian-live-8.2.0-amd64-standard.iso
这个做维护不错
需要桌面可以用含桌面的 LiveCD , Debian, Ubuntu, Fedora 都有。
Bardon
2016-01-29 23:52:09 +08:00
我记得, grub timeout=0 的话,启动时,狂按上下方向键,还是能进 grub 的选择界面的。
pynix
2016-01-29 23:54:14 +08:00
用了 vagrant 居然没做快照。。。
mrtone
2016-01-29 23:55:31 +08:00
@lhbc Archlinux 安装很简单啊……跟着 wiki 一步一步做就好了,安装确实确实很简单……最喜欢 Archlinux 的就是它的 wiki 和软件源了……
mrtone
2016-01-29 23:56:25 +08:00
@pynix 懒。。。。
mrtone
2016-01-30 00:04:28 +08:00
哈哈,搞定,起来了,谢谢各位~~ 可以结贴了。。。。
jybox
2016-01-30 00:13:20 +08:00
用 Vagrant 的话可以考虑把所有初始化开发环境的脚本都写到 Vagrantfile 里,然后连带各种资源和配置文件一起放到一个 Git 仓库里,这就是使用 Vagrant 的意义呀。
mrtone
2016-01-30 00:19:17 +08:00
@jybox 嗯,学习了,我改一下试试,谢谢 :)
comicfans44
2016-01-30 10:16:26 +08:00
开机时候狂按 c 即可进入 grub 命令行
启动参数加上 systemd.unit=resume.target
启动即可进入最基本的 shell ,然后直接修改重启即可
GNiux
2016-02-01 10:04:03 +08:00
@mrtone 学习了。原来虚拟机里也可用系统启动盘。那启动后如何 mount 要修复的镜像呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/254351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX