从RO到RW的永久GRUB编辑
我最近在我的笔记本电脑上安装了最新版本的UBUNTU,在启动时遇到了一些问题。
在启动过程中,我收到以下错误:
Serious errors were found while checking the disk drive for /.
在这里做了一些研究后,我已经能够解决问题,并在进入GRUB引导条目和RO到RW后让UBUNTU正常启动。 例如;
RO:
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **ro** quiet splash $vt_handoff
RW:
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **rw** quiet splash $vt_handoff
我如何永久编辑它,以便在我启动时不再编辑这个。 我非常感谢任何帮助。 我是这个操作系统的总菜鸟!
要按字面意思回答你的问题:编辑/etc/grub.d/10_linux
并将ro
更改为rw
,然后运行sudo update-grub
。 这将重新生成在引导时使用的文件/boot/grub/grub.cfg
。
但是不要这样做 ! ro
是正确的设置。 将ro
改为rw
无济于事。 更改启动选项无法解决您的问题,它通过运行fsck
解决。 现在这样做了,文件系统再次可用。
文件系统损坏不应该发生。 你应该寻找腐败的原因。 这可能是一个记忆问题; 运行内存测试(在Grub提示符下选择“内存测试”并保持运行至少一次完整通过,例如过夜)。
您不想编辑GRUB以永久更改ro
到rw
。 您将使某些恢复选项无法运行。 如果你需要其中一个,你可能会遇到问题。 更好的方法是编辑/usr/share/initramfs-tools/scripts/local
文件并修改该文件中的一行。 如果您更改了10_lupin
或10_linux
文件,则需要在执行以下操作之前还原更改。
-
以超级用户身份在您喜欢的编辑器中打开
/usr/share/initramfs-tools/scripts/local
文件。 查找如下所示的行:mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt}
-
注释掉该行并在该行下面添加以下三行(确保它们与您注释掉的上面一行对齐):
loopdev=`losetup -f` losetup ${loopdev} "/host/${LOOP#/}" mount ${roflag} -t ${FSTYPE} ${LOOPFLAGS} ${loopdev} ${rootmnt}
-
保存文件并在终端中运行:
sudo update-grub
之后,您可以重新启动系统,每当内核更新发生时您都应该很好,并且您将能够使用应该使用的恢复选项。 确保在升级删除更改时备份已编辑的文件。 这样,如果升级设法中断您的更改,您可以复制备份文件中的已修改行并将它们放在正确的位置。
我所做的是:
- 将root.disk挂载到
/dev/1
- 在
/dev/1/boot/grub/grub.cfg
修改了ro到rw - 重启
- 成功加载Ubuntu
细节:
sudo mkdir /dev/1 sudo mount -t ext4 -o loop /host/ubuntu/disks/root.disk /dev/1 sudo vi /dev/1/boot/grub/grb.cfg
将ro
替换为看起来像的线条
linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro quiet splash
至
linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro quiet splash
- 使用
wq!
保存wq!
- 重启