复制安装的 deepin 系统 grub 引导文件为什么老是 ro 只读配...
Tofloor
poster avatar
fungleo
deepin
2018-01-19 19:54
Author
我在一台笔记本上安装好 deepin 系统,然后用移动硬盘引导的 archlinux 进入系统后,将安装好的 deepin 系统完整复制到移动硬盘。

然后在需要安装 deepin 系统的电脑上用移动硬盘引导进入 archlinux ,格式化笔记本自带硬盘后,将 deepin 系统完整复制到笔记本硬盘。

然后在 grub 里编辑引导,引导笔记本上刚复制的 deepin 系统,然后顺利启动 deepin 系统。

然后执行

  1. sudo grub-install /dev/sda
  2. sudo grub-mkconfig -o /boot/grub/grub.cfg
Copy the Code
两条命令,安装 grub 引导。

然后重启系统,结果启动失败,排查之后,发现是 ro 只读权限。

于是进入 grub 菜单,按 e 进入编辑模式,修改 ro 为 rw ,ctrl+x 后顺利进入系统。

然后我编辑 /boot/grub/grub.cfg 文件,将其中的所有  ro 修改为 rw 强制保存退出。然后重启,此时系统就正常了。

问题是,当系统更新之后,这个文件的 rw 又会变成 ro,然后就进不去系统了。需要我重新再整一回。

本来这事儿无所谓,因为处理一下也不麻烦。但是问题是,随着我在公司安装的 deepin 系统越来越多,这个问题越来越严重。

为什么要这样复制安装,而不是全新安装,是因为系统安装好之后,需要进行很多的配置,以及安装一些软件。如果每次都整一遍,我会感觉非常头疼。

所以将系统做好后,直接复制,然后引导一下,这样可以大大提高安装和维护的效率。

我在没使用 deepin 之前,这样复制并引导 archlinux 是没有问题的。

我只是非常好奇,为什么这样安装之后 默认是 ro 而不是 rw。

如果是出于某些特殊原因,我希望能有高手给出解答。

如果是我的方法不正确,我希望能有高手给出正确方法。

如果是官方的考量,并且是可以优化的,我希望能够在下个版本中优化一下。

谢谢。
Reply Favorite View the author
All Replies
avatar
woodelf
deepin
2018-01-19 20:09
#1
传递给内核的参数本来就应该是ro而不是rw。
系统将内核装入内存,并释放initramfs形成临时root环境时,需要检查rootfs文件系统是否有错误,有的话会在这个阶段自动执行fsck,然后再remount为rw,执行switch_root,并触发后续的init流程。
Reply View the author
avatar
fungleo
deepin
2018-01-19 21:37
#2
https://bbs.deepin.org/post/152056
传递给内核的参数本来就应该是ro而不是rw。
系统将内核装入内存,并释放initramfs形成临时root环境时,需要 ...

但是ro是进不了系统的,会报错并卡死。有解决方法吗?
Reply View the author
avatar
duanyao
deepin
2018-01-19 22:50
#3
https://bbs.deepin.org/post/152056
但是ro是进不了系统的,会报错并卡死。有解决方法吗?

上传 /etc/default/grub 和 /boot/grub/grub.cfg
ro 应该是不对的,可能是你修改了 /etc/default/grub。
Reply View the author
avatar
woodelf
deepin
2018-01-19 23:02
#4
https://bbs.deepin.org/post/152056
但是ro是进不了系统的,会报错并卡死。有解决方法吗?

用update-initramfs -u -k all重新生成下initramfs,印象里我也遇到过一次。
Reply View the author